diff --git a/README.md b/README.md
index b83a64fbd41f97c1be9a06462bc8b6fe25827765..92afd1639efaed4c7d82130d909fe02dc6c5aa7c 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@ This is the development repository for the *CiviCRM* plugin for *WordPress*. Wha
 
 [https://civicrm.org/download](https://civicrm.org/download)
 
-### Contribute ###
+### Contribute
 
 If you want to contribute to the development of this plugin, please bear the following in mind:
 
@@ -14,7 +14,17 @@ If you want to contribute to the development of this plugin, please bear the fol
 
 ----
 
-### About CiviCRM ###
+### WordPress REST API integration
+
+Please refer to the [REST API Documentation](/wp-rest/README.md) for details.
+
+### WP-CLI integration
+
+Please refer to the [WP-CLI Documentation](/wp-cli/README.md) for details.
+
+----
+
+### About CiviCRM
 
 CiviCRM is web-based, open source, Constituent Relationship Management (CRM) software geared toward meeting the needs of non-profit and other civic-sector organizations.
 
diff --git a/civicrm.php b/civicrm.php
index 4b8ec0b48617d1571e0c06aab1f6b537c6cce04d..022c5132db800a7af854d74071d82148e77d60ee 100644
--- a/civicrm.php
+++ b/civicrm.php
@@ -2,7 +2,7 @@
 /**
  * Plugin Name: CiviCRM
  * Description: CiviCRM - Growing and Sustaining Relationships
- * Version: 5.46.2
+ * Version: 5.47.0
  * Requires at least: 4.9
  * Requires PHP:      7.2
  * Author: CiviCRM LLC
@@ -30,31 +30,13 @@
  *
  */
 
-/*
- * -----------------------------------------------------------------------------
- * WordPress resources for developers
- * -----------------------------------------------------------------------------
- * Not that they're ever adhered to anywhere other than core, but people do their
- * best to comply...
- *
- * WordPress core coding standards:
- * https://developer.wordpress.org/coding-standards/wordpress-coding-standards/php/
- *
- * WordPress HTML standards:
- * https://make.wordpress.org/core/handbook/best-practices/coding-standards/html/
- *
- * WordPress JavaScript standards:
- * https://developer.wordpress.org/coding-standards/wordpress-coding-standards/javascript/
- * -----------------------------------------------------------------------------
- */
-
 // This file must not accessed directly.
 if (!defined('ABSPATH')) {
   exit;
 }
 
-// Set version here: when it changes, will force Javascript & CSS to reload.
-define('CIVICRM_PLUGIN_VERSION', '5.46.2');
+// Set version here: changing it forces Javascript and CSS to reload.
+define('CIVICRM_PLUGIN_VERSION', '5.47.0');
 
 // Store reference to this file.
 if (!defined('CIVICRM_PLUGIN_FILE')) {
@@ -71,24 +53,26 @@ if (!defined('CIVICRM_PLUGIN_DIR')) {
   define('CIVICRM_PLUGIN_DIR', plugin_dir_path(CIVICRM_PLUGIN_FILE));
 }
 
+/*
+ * Minimum required PHP.
+ *
+ * Note: This duplicates `CRM_Upgrade_Incremental_General::MIN_INSTALL_PHP_VER`.
+ * The duplication helps avoid dependency issues. (Reading
+ * `CRM_Upgrade_Incremental_General::MIN_INSTALL_PHP_VER` requires loading
+ * `civicrm.settings.php`, but that triggers a parse-error on PHP 5.x.)
+ *
+ * @see CRM_Upgrade_Incremental_General::MIN_INSTALL_PHP_VER
+ * @see CiviWP\PhpVersionTest::testConstantMatch()
+ */
 if (!defined('CIVICRM_WP_PHP_MINIMUM')) {
-  /**
-   * Minimum required PHP.
-   *
-   * Note: This duplicates `CRM_Upgrade_Incremental_General::MIN_INSTALL_PHP_VER`.
-   * The duplication helps avoid dependency issues. (Reading
-   * `CRM_Upgrade_Incremental_General::MIN_INSTALL_PHP_VER` requires loading
-   * `civicrm.settings.php`, but that triggers a parse-error on PHP 5.x.)
-   *
-   * @see CRM_Upgrade_Incremental_General::MIN_INSTALL_PHP_VER
-   * @see CiviWP\PhpVersionTest::testConstantMatch()
-   */
   define('CIVICRM_WP_PHP_MINIMUM', '7.2.0');
 }
 
 /*
  * The constant `CIVICRM_SETTINGS_PATH` is also defined in `civicrm.config.php`
  * and may already have been defined there - e.g. by cron or external scripts.
+ * These legacy routes should not be used because they try to bootstrap WordPress
+ * in unreliable ways. Use WP-CLI or WP-REST routes instead.
  */
 if (!defined('CIVICRM_SETTINGS_PATH')) {
 
@@ -98,14 +82,13 @@ if (!defined('CIVICRM_SETTINGS_PATH')) {
    * If the settings file is found in the 4.6 and prior location, use that as
    * `CIVICRM_SETTINGS_PATH`, otherwise use the new location.
    */
-  $upload_dir = wp_upload_dir();
-  $wp_civi_settings = $upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'civicrm' . DIRECTORY_SEPARATOR . 'civicrm.settings.php';
-  $wp_civi_settings_deprectated = CIVICRM_PLUGIN_DIR . 'civicrm.settings.php';
-
-  if (file_exists($wp_civi_settings_deprectated)) {
-    define('CIVICRM_SETTINGS_PATH', $wp_civi_settings_deprectated);
+  $wp_civi_settings_deprecated = CIVICRM_PLUGIN_DIR . 'civicrm.settings.php';
+  if (file_exists($wp_civi_settings_deprecated)) {
+    define('CIVICRM_SETTINGS_PATH', $wp_civi_settings_deprecated);
   }
   else {
+    $upload_dir = wp_upload_dir();
+    $wp_civi_settings = implode(DIRECTORY_SEPARATOR, [$upload_dir['basedir'], 'civicrm', 'civicrm.settings.php']);
     define('CIVICRM_SETTINGS_PATH', $wp_civi_settings);
   }
 
@@ -184,7 +167,7 @@ class CiviCRM_For_WordPress {
 
   /**
    * @var object
-   * Basepage management object.
+   * Base Page management object.
    * @since 4.4
    * @access public
    */
@@ -234,6 +217,17 @@ class CiviCRM_For_WordPress {
       // Create instance.
       self::$instance = new CiviCRM_For_WordPress();
 
+      // Include legacy global scope functions.
+      include_once CIVICRM_PLUGIN_DIR . 'includes/civicrm.functions.php';
+
+      /*
+       * Incorporate WP-CLI Integration based on drush CiviCRM functionality.
+       * @see https://github.com/andy-walker/wp-cli-civicrm
+       */
+      if (defined('WP_CLI') && WP_CLI) {
+        include_once CIVICRM_PLUGIN_DIR . 'wp-cli/civicrm.php';
+      }
+
       // Delay setup until 'plugins_loaded' to allow other plugins to load as well.
       add_action('plugins_loaded', [self::$instance, 'setup_instance']);
 
@@ -272,9 +266,13 @@ class CiviCRM_For_WordPress {
   /**
    * Plugin activation.
    *
-   * This method is called only when CiviCRM plugin is activated. In order for
-   * other plugins to be able to interact with CiviCRM's activation, we wait until
-   * after the activation redirect to perform activation actions.
+   * This method is called only when CiviCRM plugin is activated. Other plugins
+   * are able to interact with CiviCRM's activation because "plugins_loaded" has
+   * already fired.
+   *
+   * Since CiviCRM has an Installer UI when activated via the WordPress Plugins
+   * screen, this method sets an option that can be read on the next page load
+   * allowing `self::activation()` to redirect to it when possible.
    *
    * @since 4.4
    */
@@ -283,10 +281,25 @@ class CiviCRM_For_WordPress {
     // Set a one-time-only option.
     add_option('civicrm_activation_in_progress', 'true');
 
+    // Include and init classes because "plugins_loaded" has already fired.
+    include_once CIVICRM_PLUGIN_DIR . 'includes/civicrm.users.php';
+    $this->users = new CiviCRM_For_WordPress_Users();
+
+    /**
+     * Broadcast that the CiviCRM plugin has been activated.
+     *
+     * Used internally by:
+     *
+     * - CiviCRM_For_WordPress_Users::activate()
+     *
+     * @since 5.44
+     */
+    do_action('civicrm_activate');
+
   }
 
   /**
-   * Run CiviCRM's plugin activation procedure.
+   * Runs the CiviCRM activation procedure when activated via the WordPress UI.
    *
    * @since 4.4
    */
@@ -303,7 +316,10 @@ class CiviCRM_For_WordPress {
     }
 
     /**
-     * Broadcast that activation actions need to happen now.
+     * Broadcast that activation via the WordPress UI has happened.
+     *
+     * This fires on the admin page load that happens directly after the CiviCRM
+     * plugin has been activated via the WordPress UI.
      *
      * @since 5.6
      */
@@ -312,11 +328,12 @@ class CiviCRM_For_WordPress {
     // Change option so this action never fires again.
     update_option('civicrm_activation_in_progress', 'false');
 
-    // Try and redirect to the Installer page.
+    // When installed via the WordPress UI, try and redirect to the Installer page.
     if (!is_multisite() && !isset($_GET['activate-multi']) && !CIVICRM_INSTALLED) {
       wp_redirect(admin_url('admin.php?page=civicrm-install'));
       exit;
     }
+
   }
 
   /**
@@ -336,6 +353,10 @@ class CiviCRM_For_WordPress {
     /**
      * Broadcast that deactivation actions need to happen now.
      *
+     * Used internally by:
+     *
+     * - CiviCRM_For_WordPress_Users::deactivate()
+     *
      * @since 5.6
      */
     do_action('civicrm_deactivation');
@@ -377,7 +398,7 @@ class CiviCRM_For_WordPress {
     $this->include_files();
     $this->setup_objects();
 
-    // Do plugin activation.
+    // Do plugin activation when activated via the WordPress UI.
     $this->activation();
 
     // Use translation files.
@@ -389,6 +410,10 @@ class CiviCRM_For_WordPress {
     /**
      * Broadcast that this plugin is now loaded.
      *
+     * Used internally by:
+     *
+     * - CiviCRM_For_WordPress_Basepage::maybe_create_basepage()
+     *
      * @since 4.4
      */
     do_action('civicrm_instance_loaded');
@@ -514,11 +539,11 @@ class CiviCRM_For_WordPress {
    * Setter for determining if CiviCRM is currently being displayed in WordPress.
    * This becomes true whe CiviCRM is called in the following contexts:
    *
-   * (a) in the WordPress back-end
-   * (b) when CiviCRM content is being displayed on the front-end via wpBasePage
-   * (c) when an AJAX request is made to CiviCRM
+   * (a) In the WordPress back-end.
+   * (b) When CiviCRM content is being displayed on the front-end via the Base Page.
+   * (c) When an AJAX request is made to CiviCRM.
    *
-   * It is NOT true when CiviCRM is called via a shortcode.
+   * It is NOT true when CiviCRM is called via a Shortcode.
    *
    * @since 4.4
    */
@@ -549,7 +574,6 @@ class CiviCRM_For_WordPress {
      * @since 4.4
      *
      * @param bool $in_wordpress True if CiviCRM is displayed in WordPress, false otherwise.
-     * @return bool $in_wordpress True if CiviCRM is displayed in WordPress, false otherwise.
      */
     return apply_filters('civicrm_in_wordpress', self::$in_wordpress);
 
@@ -561,10 +585,10 @@ class CiviCRM_For_WordPress {
    * Setter for determining how CiviCRM is currently being displayed in WordPress.
    * This can be one of the following contexts:
    *
-   * (a) in the WordPress back-end
-   * (b) when CiviCRM content is being displayed on the front-end via wpBasePage
-   * (c) when a "non-page" request is made to CiviCRM
-   * (d) when CiviCRM is called via a shortcode
+   * (a) In the WordPress back-end.
+   * (b) When CiviCRM content is being displayed on the front-end via the Base Page.
+   * (c) When a "non-page" request is made to CiviCRM.
+   * (d) When CiviCRM is called via a Shortcode.
    *
    * The following codes correspond to the different contexts:
    *
@@ -600,10 +624,13 @@ class CiviCRM_For_WordPress {
     /**
      * Allow specific context to be filtered.
      *
+     * Used internally by:
+     *
+     * - CiviCRM_For_WordPress_Shortcodes::get_context()
+     *
      * @since 4.4
      *
      * @param bool $context The existing context in which CiviCRM is displayed in WordPress.
-     * @return bool $context The modified context in which CiviCRM is displayed in WordPress.
      */
     return apply_filters('civicrm_context', self::$context);
 
@@ -632,7 +659,7 @@ class CiviCRM_For_WordPress {
       // Handle WordPress Admin context.
       $this->admin->register_hooks();
 
-      // Enable shortcode modal.
+      // Enable Shortcode modal.
       $this->modal->register_hooks();
 
       return;
@@ -813,7 +840,7 @@ class CiviCRM_For_WordPress {
     // Get config.
     $config = CRM_Core_Config::singleton();
 
-    // Get basepage object.
+    // Get Base Page object.
     $basepage = get_page_by_path($config->wpBasePage);
 
     // Sanity check.
@@ -821,7 +848,7 @@ class CiviCRM_For_WordPress {
       return;
     }
 
-    // Let's add rewrite rule when viewing the basepage.
+    // Let's add Rewrite Rule when viewing the Base Page.
     add_rewrite_rule(
       '^' . $config->wpBasePage . '/([^?]*)?',
       'index.php?page_id=' . $basepage->ID . '&civiwp=CiviCRM&q=civicrm%2F$matches[1]',
@@ -836,11 +863,15 @@ class CiviCRM_For_WordPress {
     /**
      * Broadcast the rewrite rules event.
      *
+     * Used internally by:
+     *
+     * - CiviCRM_For_WordPress_Compat::rewrite_rules_polylang()
+     *
      * @since 5.7
      * @since 5.24 Added $basepage parameter.
      *
      * @param bool $flush_rewrite_rules True if rules flushed, false otherwise.
-     * @param WP_Post $basepage The Basepage post object.
+     * @param WP_Post $basepage The Base Page post object.
      */
     do_action('civicrm_after_rewrite_rules', $flush_rewrite_rules, $basepage);
 
@@ -879,7 +910,6 @@ class CiviCRM_For_WordPress {
      * @since 5.7
      *
      * @param array $civicrm_query_vars The default set of query vars.
-     * @return array $civicrm_query_vars The modified set of query vars.
      */
     $civicrm_query_vars = apply_filters('civicrm_query_vars', $civicrm_query_vars);
 
@@ -1390,7 +1420,7 @@ class CiviCRM_For_WordPress {
    * Get base URL.
    *
    * Clone of CRM_Utils_System_WordPress::getBaseUrl() whose access is set to
-   * private. Until it is public, we cannot access the URL of the basepage since
+   * private. Until it is public, we cannot access the URL of the Base Page since
    * CRM_Utils_System_WordPress::url().
    *
    * 27-09-2016
@@ -1466,19 +1496,3 @@ register_deactivation_hook(CIVICRM_PLUGIN_FILE, [civi_wp(), 'deactivate']);
  *
  * @see https://developer.wordpress.org/reference/functions/register_uninstall_hook/
  */
-
-// Include legacy global scope functions.
-include_once CIVICRM_PLUGIN_DIR . 'includes/civicrm.functions.php';
-
-/**
- * Incorporate WP-CLI Integration.
- *
- * Based on drush CiviCRM functionality, work done by Andy Walker.
- * https://github.com/andy-walker/wp-cli-civicrm
- *
- * @since 4.5
- */
-if (defined('WP_CLI') && WP_CLI) {
-  // Changed from __DIR__ because of possible symlink issues.
-  include_once CIVICRM_PLUGIN_DIR . 'wp-cli/civicrm.php';
-}
diff --git a/civicrm/CRM/ACL/API.php b/civicrm/CRM/ACL/API.php
index a1ffab79e12e6c38b7c441f843db16d735196039..a02fb38a7cd68c5796727d06cb16a62bd266bb0d 100644
--- a/civicrm/CRM/ACL/API.php
+++ b/civicrm/CRM/ACL/API.php
@@ -33,7 +33,7 @@ class CRM_ACL_API {
    *
    * @param string $str
    *   The permission to check.
-   * @param int $contactID
+   * @param int|null $contactID
    *   The contactID for whom the check is made.
    *
    * @return bool
@@ -64,7 +64,7 @@ class CRM_ACL_API {
    *   (reference ) add the tables that are needed for the select clause.
    * @param array $whereTables
    *   (reference ) add the tables that are needed for the where clause.
-   * @param int $contactID
+   * @param int|null $contactID
    *   The contactID for whom the check is made.
    * @param bool $onlyDeleted
    *   Whether to include only deleted contacts.
@@ -135,12 +135,12 @@ class CRM_ACL_API {
    *
    * @param int $type
    *   The type of permission needed.
-   * @param int $contactID
+   * @param int|null $contactID
    *   The contactID for whom the check is made.
    *
    * @param string $tableName
-   * @param null $allGroups
-   * @param null $includedGroups
+   * @param array|null $allGroups
+   * @param array|null $includedGroups
    *
    * @return array
    *   the ids of the groups for which the user has permissions
@@ -165,11 +165,11 @@ class CRM_ACL_API {
    * @param int $type
    *   The type of permission needed.
    * @param int $groupID
-   * @param int $contactID
+   * @param int|null $contactID
    *   The contactID for whom the check is made.
    * @param string $tableName
-   * @param null $allGroups
-   * @param null $includedGroups
+   * @param array|null $allGroups
+   * @param array|null $includedGroups
    *
    * @return bool
    */
diff --git a/civicrm/CRM/ACL/BAO/ACL.php b/civicrm/CRM/ACL/BAO/ACL.php
index 82aaf8dabcbf675307aeebb2e69358d0da4c3a13..17d1f313832b8f811f0ce88891eb76bbc4206800 100644
--- a/civicrm/CRM/ACL/BAO/ACL.php
+++ b/civicrm/CRM/ACL/BAO/ACL.php
@@ -83,7 +83,7 @@ class CRM_ACL_BAO_ACL extends CRM_ACL_DAO_ACL implements \Civi\Test\HookInterfac
   /**
    * Get all ACLs owned by a given contact, including domain and group-level.
    *
-   * @param int|null $contact_id
+   * @param int $contact_id
    *   The contact ID.
    *
    * @return array
@@ -185,7 +185,7 @@ SELECT acl.*
   }
 
   /**
-   * @param $str
+   * @param string $str
    * @param int $contactID
    *
    * @return bool
@@ -219,9 +219,9 @@ SELECT count( a.id )
   }
 
   /**
-   * @param $type
-   * @param $tables
-   * @param $whereTables
+   * @param int $type
+   * @param array $tables
+   * @param array $whereTables
    * @param int $contactID
    *
    * @return null|string
@@ -314,8 +314,8 @@ SELECT g.*
    * @param int $type
    * @param int $contactID
    * @param string $tableName
-   * @param null $allGroups
-   * @param null $includedGroups
+   * @param array|null $allGroups
+   * @param array|null $includedGroups
    *
    * @return array
    */
@@ -385,7 +385,7 @@ SELECT g.*
 
   /**
    * @param int $type
-   * @param $operation
+   * @param string $operation
    *
    * @return bool
    */
@@ -456,7 +456,7 @@ SELECT g.*
    * @param int $contactID
    * @param string $tableName
    * @param int $type
-   * @param $allGroups
+   * @param array $allGroups
    *
    * @return array
    */
diff --git a/civicrm/CRM/ACL/BAO/ACLEntityRole.php b/civicrm/CRM/ACL/BAO/ACLEntityRole.php
index fba736ac8ada7d8fcac00760b6871d446428d148..9e35298b6f67bb320bf845b79c98e54af945e491 100644
--- a/civicrm/CRM/ACL/BAO/ACLEntityRole.php
+++ b/civicrm/CRM/ACL/BAO/ACLEntityRole.php
@@ -35,7 +35,7 @@ class CRM_ACL_BAO_ACLEntityRole extends CRM_ACL_DAO_ACLEntityRole {
   /**
    * @param array $params
    *
-   * @return CRM_ACL_DAO_EntityRole
+   * @return CRM_ACL_BAO_ACLEntityRole
    */
   public static function create(&$params) {
     return self::writeRecord($params);
@@ -43,7 +43,7 @@ class CRM_ACL_BAO_ACLEntityRole extends CRM_ACL_DAO_ACLEntityRole {
 
   /**
    * @param array $params
-   * @param $defaults
+   * @param array $defaults
    */
   public static function retrieve(&$params, &$defaults) {
     CRM_Core_DAO::commonRetrieve(__CLASS__, $params, $defaults);
diff --git a/civicrm/CRM/ACL/DAO/ACL.php b/civicrm/CRM/ACL/DAO/ACL.php
index 4bddbd0eb78960001506c6f1f6991eb9c56e0f63..2d72b764b766c0331655856fe92785a305e960f1 100644
--- a/civicrm/CRM/ACL/DAO/ACL.php
+++ b/civicrm/CRM/ACL/DAO/ACL.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/ACL/ACL.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:709746b9e63da79d9ee75de3a0687db4)
+ * (GenCodeChecksum:5245f10c478c4187d1fb420e76f2fd76)
  */
 
 /**
@@ -33,21 +33,27 @@ class CRM_ACL_DAO_ACL extends CRM_Core_DAO {
   /**
    * Unique table ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * ACL Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Is this ACL entry Allow  (0) or Deny (1) ?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $deny;
 
@@ -55,13 +61,17 @@ class CRM_ACL_DAO_ACL extends CRM_Core_DAO {
    * Table of the object possessing this ACL entry (Contact, Group, or ACL Group)
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * ID of the object possessing this ACL
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
@@ -69,41 +79,53 @@ class CRM_ACL_DAO_ACL extends CRM_Core_DAO {
    * What operation does this ACL entry control?
    *
    * @var string
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $operation;
 
   /**
    * The table of the object controlled by this ACL entry
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $object_table;
 
   /**
    * The ID of the object controlled by this ACL entry
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $object_id;
 
   /**
    * If this is a grant/revoke entry, what table are we granting?
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $acl_table;
 
   /**
    * ID of the ACL or ACL group being granted/revoked
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $acl_id;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/ACL/DAO/ACLCache.php b/civicrm/CRM/ACL/DAO/ACLCache.php
index 7fbc4bfaa64f1ccba2ef8942553e79b04c31b1dd..100d028f8004cc6c35eb011ae0477ddd20be4ff9 100644
--- a/civicrm/CRM/ACL/DAO/ACLCache.php
+++ b/civicrm/CRM/ACL/DAO/ACLCache.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/ACL/ACLCache.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6593794a6e82670ad992cc331c22f33e)
+ * (GenCodeChecksum:329e9070bd70f3fb3d053eb731d1b266)
  */
 
 /**
@@ -33,28 +33,36 @@ class CRM_ACL_DAO_ACLCache extends CRM_Core_DAO {
   /**
    * Unique table ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Foreign Key to Contact
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Foreign Key to ACL
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $acl_id;
 
   /**
    * When was this cache entry last modified
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
diff --git a/civicrm/CRM/ACL/DAO/ACLEntityRole.php b/civicrm/CRM/ACL/DAO/ACLEntityRole.php
index b085e2e640e06a8097f2f78a82477ce806835f43..c99c67b975910ae1fd58fef526c3846e3a03c1d1 100644
--- a/civicrm/CRM/ACL/DAO/ACLEntityRole.php
+++ b/civicrm/CRM/ACL/DAO/ACLEntityRole.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/ACL/ACLEntityRole.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:fe3bd0baaffcc93590b3285c6cf96fc1)
+ * (GenCodeChecksum:22633176232bcef28b59ab0388720837)
  */
 
 /**
@@ -33,14 +33,18 @@ class CRM_ACL_DAO_ACLEntityRole extends CRM_Core_DAO {
   /**
    * Unique table ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Foreign Key to ACL Role (which is an option value pair and hence an implicit FK)
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $acl_role_id;
 
@@ -48,20 +52,26 @@ class CRM_ACL_DAO_ACLEntityRole extends CRM_Core_DAO {
    * Table of the object joined to the ACL Role (Contact or Group)
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * ID of the group/contact object being joined
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Activity/BAO/Activity.php b/civicrm/CRM/Activity/BAO/Activity.php
index 84188d943d7ad1d66f52f6e88413adc1811bf091..d106c6f5cf89ffdd6df388d500289b54774208aa 100644
--- a/civicrm/CRM/Activity/BAO/Activity.php
+++ b/civicrm/CRM/Activity/BAO/Activity.php
@@ -781,7 +781,7 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity {
    * Filter the activity types to only return the ones we actually asked for
    * Uses params['activity_type_id'] and params['activity_type_exclude_id']
    *
-   * @param $params
+   * @param array $params
    * @return array|null (Use in Activity.get API activity_type_id)
    */
   public static function filterActivityTypes($params) {
@@ -884,7 +884,7 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity {
       $includeComponent = !$excludeComponentHandledActivities || !empty($compObj->info['showActivitiesInCore']);
       if ($includeComponent) {
         if ($compObj->info['name'] == 'CiviCampaign') {
-          $componentPermission = "administer {$compObj->name}";
+          $componentPermission = "manage campaign";
         }
         else {
           $componentPermission = "access {$compObj->name}";
@@ -2067,8 +2067,7 @@ AND cl.modified_id  = c.id
       'is_current_revision',
       'activity_is_deleted',
     ];
-    $config = CRM_Core_Config::singleton();
-    if (!in_array('CiviCampaign', $config->enableComponents)) {
+    if (!CRM_Core_Component::isEnabled('CiviCampaign')) {
       $skipFields[] = 'activity_engagement_level';
     }
 
@@ -2288,7 +2287,7 @@ INNER JOIN  civicrm_option_group grp ON (grp.id = option_group_id AND grp.name =
   }
 
   /**
-   * @param $params
+   * @param array $params
    * @return array
    */
   protected static function getActivityParamsForDashboardFunctions($params) {
@@ -2556,19 +2555,22 @@ INNER JOIN  civicrm_option_group grp ON (grp.id = option_group_id AND grp.name =
 
   /**
    * Get the right links depending on the activity type and other factors.
+   *
    * @param array $values
    * @param int $activityId
-   * @param ?int $contactId
+   * @param int|null $contactId
    * @param bool $isViewOnly Is this a special type that shouldn't be edited
-   * @param ?string $context
-   * @param ?int $mask
-   * @param bool $dontBreakCaseActivities Originally this function was
+   * @param string|null $context
+   * @param int|null $mask
+   * @param bool $dontBreakCaseActivities
+   *   Originally this function was
    *   part of another function that was only used on the contact's activity
    *   tab and this parameter would only be false when you're not displaying
    *   case activities anyway and so was effectively never used. And I'm not
    *   sure why for the purposes of links you would ever want a case activity
    *   to link to the regular form, so I think this can be removed, but am
    *   leaving it as-is for now.
+   *
    * @return string HTML string
    */
   public static function getActionLinks(
diff --git a/civicrm/CRM/Activity/BAO/ActivityAssignment.php b/civicrm/CRM/Activity/BAO/ActivityAssignment.php
index 86c08bd202de4adcefe7ad564dd1768916057866..95dde5bc0d3c23f61f9dcfafcb939b4b5cb784ae 100644
--- a/civicrm/CRM/Activity/BAO/ActivityAssignment.php
+++ b/civicrm/CRM/Activity/BAO/ActivityAssignment.php
@@ -20,13 +20,6 @@
  */
 class CRM_Activity_BAO_ActivityAssignment extends CRM_Activity_DAO_ActivityContact {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Add activity assignment.
    *
diff --git a/civicrm/CRM/Activity/BAO/ActivityTarget.php b/civicrm/CRM/Activity/BAO/ActivityTarget.php
index d88eafa87ebe9115ffb93874d99a4deba1ca4650..d20c3b581b71666d97f66e83b9442c726ec3d19d 100644
--- a/civicrm/CRM/Activity/BAO/ActivityTarget.php
+++ b/civicrm/CRM/Activity/BAO/ActivityTarget.php
@@ -20,13 +20,6 @@
  */
 class CRM_Activity_BAO_ActivityTarget extends CRM_Activity_DAO_ActivityContact {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Add activity target.
    *
diff --git a/civicrm/CRM/Activity/BAO/ActivityType.php b/civicrm/CRM/Activity/BAO/ActivityType.php
index 3a27f8275afa0437c91907e5a37cd3d327ab7901..ba6f1ee3f21459a33bbf6dc32a0989f6fbb316c0 100644
--- a/civicrm/CRM/Activity/BAO/ActivityType.php
+++ b/civicrm/CRM/Activity/BAO/ActivityType.php
@@ -37,7 +37,7 @@ class CRM_Activity_BAO_ActivityType {
   /**
    * Constructor
    *
-   * @param $activity_type_id int This matches up to the option_value 'value' column in the database.
+   * @param int $activity_type_id This matches up to the option_value 'value' column in the database.
    */
   public function __construct($activity_type_id) {
     $this->setActivityType($activity_type_id);
@@ -57,7 +57,7 @@ class CRM_Activity_BAO_ActivityType {
    * Look up the key/value pair representing this activity type from the id.
    * Generally called from constructor.
    *
-   * @param $activity_type_id int This matches up to the option_value 'value' column in the database.
+   * @param int $activity_type_id This matches up to the option_value 'value' column in the database.
    */
   public function setActivityType($activity_type_id) {
     if ($activity_type_id && is_numeric($activity_type_id)) {
diff --git a/civicrm/CRM/Activity/Controller/Search.php b/civicrm/CRM/Activity/Controller/Search.php
index 226305d1692e6e0e7f14893c1a08a478c7679fd7..e4938d0187a11b5ece5707074418680e9611a357 100644
--- a/civicrm/CRM/Activity/Controller/Search.php
+++ b/civicrm/CRM/Activity/Controller/Search.php
@@ -33,7 +33,7 @@ class CRM_Activity_Controller_Search extends CRM_Core_Controller {
   /**
    * Class constructor.
    *
-   * @param null $title
+   * @param string $title
    * @param bool $modal
    * @param int|mixed|null $action
    */
diff --git a/civicrm/CRM/Activity/DAO/Activity.php b/civicrm/CRM/Activity/DAO/Activity.php
index d42bda6d99f680080a7faca0df189654f2b8791b..516386a36f1a561516cdd6bd06d2cbec18b6b754 100644
--- a/civicrm/CRM/Activity/DAO/Activity.php
+++ b/civicrm/CRM/Activity/DAO/Activity.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Activity/Activity.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:3a511b57e91904eb91c445524853106a)
+ * (GenCodeChecksum:b37cf83d01ce6a8f72be6de97f00d7d3)
  */
 
 /**
@@ -59,179 +59,233 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
   /**
    * Unique  Other Activity ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Artificial FK to original transaction (e.g. contribution) IF it is not an Activity. Table can be figured out through activity_type_id, and further through component registry.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $source_record_id;
 
   /**
    * FK to civicrm_option_value.id, that has to be valid, registered activity type.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $activity_type_id;
 
   /**
    * The subject/purpose/short description of the activity.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $subject;
 
   /**
    * Date and time this activity is scheduled to occur. Formerly named scheduled_date_time.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $activity_date_time;
 
   /**
    * Planned or actual duration of activity expressed in minutes. Conglomerate of former duration_hours and duration_minutes.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $duration;
 
   /**
    * Location of the activity (optional, open text).
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location;
 
   /**
    * Phone ID of the number called (optional - used if an existing phone number is selected).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_id;
 
   /**
    * Phone number in case the number does not exist in the civicrm_phone table.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_number;
 
   /**
    * Details about the activity (agenda, notes, etc).
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $details;
 
   /**
    * ID of the status this activity is currently in. Foreign key to civicrm_option_value.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * ID of the priority given to this activity. Foreign key to civicrm_option_value.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $priority_id;
 
   /**
    * Parent meeting ID (if this is a follow-up item). This is not currently implemented
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_id;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_test;
 
   /**
    * Activity Medium, Implicit FK to civicrm_option_value where option_group = encounter_medium.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $medium_id;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_auto;
 
   /**
    * FK to Relationship ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $relationship_id;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_current_revision;
 
   /**
    * Activity ID of the first activity record in versioning chain.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $original_id;
 
   /**
    * Currently being used to store result id for survey activity, FK to option value.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $result;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_deleted;
 
   /**
    * The campaign for which this activity has been triggered.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * Assign a specific level of engagement to this activity. Used for tracking constituents in ladder of engagement.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $engagement_level;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Activity marked as favorite.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_star;
 
   /**
    * When was the activity was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When was the activity (or closely related entity) was created or modified or deleted.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
@@ -759,6 +813,7 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
           'html' => [
+            'type' => 'Select Date',
             'label' => ts("Created Date"),
           ],
           'add' => '4.7',
@@ -777,6 +832,7 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
           'html' => [
+            'type' => 'Select Date',
             'label' => ts("Modified Date"),
           ],
           'readonly' => TRUE,
diff --git a/civicrm/CRM/Activity/DAO/ActivityContact.php b/civicrm/CRM/Activity/DAO/ActivityContact.php
index cb434a9a451c3f896ff4ae47049ef50b1296b2ec..426e978adf4d7d4d7cc50c2243329a4fcfdc7d5c 100644
--- a/civicrm/CRM/Activity/DAO/ActivityContact.php
+++ b/civicrm/CRM/Activity/DAO/ActivityContact.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Activity/ActivityContact.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:9d55ecc09cc160c1cc41485bf7d026ef)
+ * (GenCodeChecksum:2e8b2b826a1e0f70d39ea967462796d4)
  */
 
 /**
@@ -33,28 +33,36 @@ class CRM_Activity_DAO_ActivityContact extends CRM_Core_DAO {
   /**
    * Activity contact id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Foreign key to the activity for this record.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $activity_id;
 
   /**
    * Foreign key to the contact for this record.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Determines the contact's role in the activity (source, target, or assignee).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $record_type_id;
 
diff --git a/civicrm/CRM/Activity/Form/Activity.php b/civicrm/CRM/Activity/Form/Activity.php
index 4f0d8b3a17cac76308115cccd513bd855d8a5f97..4845e864e13d4be27282d8b717fc12654de045e3 100644
--- a/civicrm/CRM/Activity/Form/Activity.php
+++ b/civicrm/CRM/Activity/Form/Activity.php
@@ -364,13 +364,15 @@ class CRM_Activity_Form_Activity extends CRM_Contact_Form_Task {
       );
     }
 
+    $activityTypeDescription = NULL;
     if ($this->_activityTypeId) {
-      // Set activity type name and description to template.
       list($this->_activityTypeName, $activityTypeDescription) = CRM_Core_BAO_OptionValue::getActivityTypeDetails($this->_activityTypeId);
-      $this->assign('activityTypeName', $this->_activityTypeName);
-      $this->assign('activityTypeDescription', $activityTypeDescription);
     }
 
+    // Set activity type name and description to template.
+    $this->assign('activityTypeName', $this->_activityTypeName ?? FALSE);
+    $this->assign('activityTypeDescription', $activityTypeDescription ?? FALSE);
+
     // set user context
     $urlParams = $urlString = NULL;
     $qfKey = CRM_Utils_Request::retrieve('key', 'String', $this);
@@ -829,7 +831,7 @@ class CRM_Activity_Form_Activity extends CRM_Contact_Form_Task {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   true if no errors, else array of errors
@@ -1235,6 +1237,9 @@ class CRM_Activity_Form_Activity extends CRM_Contact_Form_Task {
    * For the moment this is just pulled from preProcess
    */
   public function assignActivityType() {
+    // Default array with required key for Smarty template
+    $activityTypeNameAndLabel = ['machineName' => FALSE];
+
     if ($this->_activityTypeId) {
       $activityTypeDisplayLabels = $this->getActivityTypeDisplayLabels();
       if ($activityTypeDisplayLabels[$this->_activityTypeId]) {
@@ -1242,7 +1247,7 @@ class CRM_Activity_Form_Activity extends CRM_Contact_Form_Task {
 
         // At the moment this is duplicating other code in this section, but refactoring in small steps.
         $activityTypeObj = new CRM_Activity_BAO_ActivityType($this->_activityTypeId);
-        $this->assign('activityTypeNameAndLabel', $activityTypeObj->getActivityType());
+        $activityTypeNameAndLabel = $activityTypeObj->getActivityType();
       }
       // Set title.
       if (isset($activityTypeDisplayLabels)) {
@@ -1262,6 +1267,8 @@ class CRM_Activity_Form_Activity extends CRM_Contact_Form_Task {
         }
       }
     }
+
+    $this->assign('activityTypeNameAndLabel', $activityTypeNameAndLabel);
   }
 
 }
diff --git a/civicrm/CRM/Activity/Form/ActivityLinks.php b/civicrm/CRM/Activity/Form/ActivityLinks.php
index bc7ff22f089eb3986e7d77eed41d93a296d35a07..ae43fc4dae9c92c38ed45b10c42aca6bc69a9156 100644
--- a/civicrm/CRM/Activity/Form/ActivityLinks.php
+++ b/civicrm/CRM/Activity/Form/ActivityLinks.php
@@ -25,7 +25,7 @@ class CRM_Activity_Form_ActivityLinks extends CRM_Core_Form {
   }
 
   /**
-   * @param $self
+   * @param self $self
    */
   public static function commonBuildQuickForm($self) {
     $contactId = CRM_Utils_Request::retrieve('cid', 'Positive', $self);
diff --git a/civicrm/CRM/Activity/Form/Task/PDF.php b/civicrm/CRM/Activity/Form/Task/PDF.php
index e7a4441bad73627db890171a355e06cc1e5831e1..69c1387a4ea148dd223f832c1e320d4a69f2c3ad 100644
--- a/civicrm/CRM/Activity/Form/Task/PDF.php
+++ b/civicrm/CRM/Activity/Form/Task/PDF.php
@@ -94,7 +94,7 @@ class CRM_Activity_Form_Task_PDF extends CRM_Activity_Form_Task {
   /**
    * Render html from rows
    *
-   * @param $rows
+   * @param array $rows
    * @param string $msgPart
    *   The name registered with the TokenProcessor
    * @param array $formValues
diff --git a/civicrm/CRM/Activity/Form/Task/Print.php b/civicrm/CRM/Activity/Form/Task/Print.php
index 0a5e6025e4bda8ffd97068d639b90c3d75336df0..8546c9b6aa738c2fa4a3986156dd46adf9e45389 100644
--- a/civicrm/CRM/Activity/Form/Task/Print.php
+++ b/civicrm/CRM/Activity/Form/Task/Print.php
@@ -32,7 +32,7 @@ class CRM_Activity_Form_Task_Print extends CRM_Activity_Form_Task {
     parent::preprocess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
 
     // get the formatted params
     $queryParams = $this->get('queryParams');
diff --git a/civicrm/CRM/Activity/Selector/Search.php b/civicrm/CRM/Activity/Selector/Search.php
index 059da027633712fedcc50918fd2482098af45be2..bb56feaafc128eaf7b46d454072742f2924482f1 100644
--- a/civicrm/CRM/Activity/Selector/Search.php
+++ b/civicrm/CRM/Activity/Selector/Search.php
@@ -113,7 +113,7 @@ class CRM_Activity_Selector_Search extends CRM_Core_Selector_Base implements CRM
   /**
    * The query object.
    *
-   * @var \CRM_Contact_BAO_Query
+   * @var CRM_Contact_BAO_Query
    */
   protected $_query;
 
@@ -395,7 +395,7 @@ class CRM_Activity_Selector_Search extends CRM_Core_Selector_Base implements CRM
   }
 
   /**
-   * @return \CRM_Contact_BAO_Query
+   * @return CRM_Contact_BAO_Query
    */
   public function &getQuery() {
     return $this->_query;
diff --git a/civicrm/CRM/Activity/Task.php b/civicrm/CRM/Activity/Task.php
index d1689bdb7fcce53e2caf02b4788a9e3ec0d02b3d..c362893d572fe5735ee93745bf8ffd954ffc00ec 100644
--- a/civicrm/CRM/Activity/Task.php
+++ b/civicrm/CRM/Activity/Task.php
@@ -90,8 +90,7 @@ class CRM_Activity_Task extends CRM_Core_Task {
         ],
       ];
 
-      $config = CRM_Core_Config::singleton();
-      if (in_array('CiviCase', $config->enableComponents)) {
+      if (CRM_Core_Component::isEnabled('CiviCase')) {
         if (CRM_Core_Permission::check('access all cases and activities') ||
           CRM_Core_Permission::check('access my cases and activities')
         ) {
diff --git a/civicrm/CRM/Activity/Tokens.php b/civicrm/CRM/Activity/Tokens.php
index 40b896e814070e4d7d04a0de875f69dedf54d2a2..697a98f0d6e587f014d0941b8ffd511c8ce4f045 100644
--- a/civicrm/CRM/Activity/Tokens.php
+++ b/civicrm/CRM/Activity/Tokens.php
@@ -100,7 +100,7 @@ class CRM_Activity_Tokens extends CRM_Core_EntityTokens {
    */
   protected function getBespokeTokens(): array {
     $tokens = [];
-    if (array_key_exists('CiviCase', CRM_Core_Component::getEnabledComponents())) {
+    if (CRM_Core_Component::isEnabled('CiviCase')) {
       $tokens['case_id'] = ts('Activity Case ID');
       return [
         'case_id' => [
diff --git a/civicrm/CRM/Admin/Form.php b/civicrm/CRM/Admin/Form.php
index c7b5989c3138ca0dba3c2429001b1dddb5836272..e7d06df6689a5bc917be586a9be3a3d550261cc9 100644
--- a/civicrm/CRM/Admin/Form.php
+++ b/civicrm/CRM/Admin/Form.php
@@ -30,7 +30,7 @@ class CRM_Admin_Form extends CRM_Core_Form {
   /**
    * The default values for form fields.
    *
-   * @var int
+   * @var array
    */
   protected $_values;
 
diff --git a/civicrm/CRM/Admin/Form/ContactType.php b/civicrm/CRM/Admin/Form/ContactType.php
index 661913613ac1be58d4d7a1dc9554cf5545439563..ac90dbeace908586991d7b86561f97919fe201f9 100644
--- a/civicrm/CRM/Admin/Form/ContactType.php
+++ b/civicrm/CRM/Admin/Form/ContactType.php
@@ -67,7 +67,7 @@ class CRM_Admin_Form_ContactType extends CRM_Admin_Form {
    *   The input form values.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   true if no errors, else array of errors
diff --git a/civicrm/CRM/Admin/Form/Extensions.php b/civicrm/CRM/Admin/Form/Extensions.php
index 7ee7df2f91a2f4dfc97a9752717cd4b920f35398..83fba1bdcb3e9e32c043e7b0f3a9813ffd9a1071 100644
--- a/civicrm/CRM/Admin/Form/Extensions.php
+++ b/civicrm/CRM/Admin/Form/Extensions.php
@@ -151,7 +151,7 @@ class CRM_Admin_Form_Extensions extends CRM_Admin_Form {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param array $self
+   * @param self $self
    *   This object.
    *
    * @return bool|array
diff --git a/civicrm/CRM/Admin/Form/Job.php b/civicrm/CRM/Admin/Form/Job.php
index f8e7afc4d82ad68443fa4b52ed44e3bb4baf5913..b1fede1a230d63f46de4adbc747effc09b85c1f6 100644
--- a/civicrm/CRM/Admin/Form/Job.php
+++ b/civicrm/CRM/Admin/Form/Job.php
@@ -116,7 +116,7 @@ class CRM_Admin_Form_Job extends CRM_Admin_Form {
   }
 
   /**
-   * @param $fields
+   * @param array $fields
    *
    * @return array|bool
    * @throws API_Exception
diff --git a/civicrm/CRM/Admin/Form/MessageTemplates.php b/civicrm/CRM/Admin/Form/MessageTemplates.php
index 076fcf3742ca96ed30a78a5f326fdd6434610509..09c9f9e32cfccdba904655e1a328dd925240fc41 100644
--- a/civicrm/CRM/Admin/Form/MessageTemplates.php
+++ b/civicrm/CRM/Admin/Form/MessageTemplates.php
@@ -244,7 +244,7 @@ class CRM_Admin_Form_MessageTemplates extends CRM_Core_Form {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param array $self
+   * @param self $self
    *
    * @return array
    *   array of errors
diff --git a/civicrm/CRM/Admin/Form/OptionGroup.php b/civicrm/CRM/Admin/Form/OptionGroup.php
index 8cb2a62f5e4bfdf411895225f6bc56490d961db6..6de152bb9e83a7ad7bf513f3bcf790d8e2f0dfdf 100644
--- a/civicrm/CRM/Admin/Form/OptionGroup.php
+++ b/civicrm/CRM/Admin/Form/OptionGroup.php
@@ -94,7 +94,7 @@ class CRM_Admin_Form_OptionGroup extends CRM_Admin_Form {
    *   The input form values.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   true if no errors, else array of errors
diff --git a/civicrm/CRM/Admin/Form/Options.php b/civicrm/CRM/Admin/Form/Options.php
index dc9fe0576810041fc5f664052d12a29495ce4b05..b5002a575e0add14c94d204104cd3c92ecf1d71f 100644
--- a/civicrm/CRM/Admin/Form/Options.php
+++ b/civicrm/CRM/Admin/Form/Options.php
@@ -269,8 +269,7 @@ class CRM_Admin_Form_Options extends CRM_Admin_Form {
 
     // If CiviCase enabled AND "Add" mode OR "edit" mode for non-reserved activities, only allow user to pick Core or CiviCase component.
     // FIXME: Each component should define whether adding new activity types is allowed.
-    $config = CRM_Core_Config::singleton();
-    if ($this->_gName == 'activity_type' && in_array("CiviCase", $config->enableComponents) &&
+    if ($this->_gName == 'activity_type' && CRM_Core_Component::isEnabled("CiviCase") &&
       (($this->_action & CRM_Core_Action::ADD) || !$isReserved)
     ) {
       $caseID = CRM_Core_Component::getComponentID('CiviCase');
@@ -342,7 +341,7 @@ class CRM_Admin_Form_Options extends CRM_Admin_Form {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param array $self
+   * @param self $self
    *   Current form object.
    *
    * @return array
diff --git a/civicrm/CRM/Admin/Form/PaymentProcessor.php b/civicrm/CRM/Admin/Form/PaymentProcessor.php
index c0e40ceb1faf16f654c8c8cfd90eca4d1344a298..83ddd79bc9f4c12201d8154cf3e99a49a36ccaeb 100644
--- a/civicrm/CRM/Admin/Form/PaymentProcessor.php
+++ b/civicrm/CRM/Admin/Form/PaymentProcessor.php
@@ -28,7 +28,7 @@ class CRM_Admin_Form_PaymentProcessor extends CRM_Admin_Form {
   protected $_testID;
 
   /**
-   * @var \CRM_Core_DAO_PaymentProcessor
+   * @var \CRM_Financial_DAO_PaymentProcessorType
    * Payment Processor DAO Object
    */
   protected $_paymentProcessorDAO;
@@ -269,7 +269,7 @@ class CRM_Admin_Form_PaymentProcessor extends CRM_Admin_Form {
   }
 
   /**
-   * @param $fields
+   * @param array $fields
    *
    * @return array|bool
    */
@@ -295,9 +295,9 @@ class CRM_Admin_Form_PaymentProcessor extends CRM_Admin_Form {
   }
 
   /**
-   * @param $fields
-   * @param $errors
-   * @param null $section
+   * @param array $fields
+   * @param array $errors
+   * @param string|null $section
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Admin/Form/Preferences/Address.php b/civicrm/CRM/Admin/Form/Preferences/Address.php
index 3b56db2adb60a80b4129a17b05df1f82c27bf703..160c4f44363d25149013be5f381e2e6db4358b34 100644
--- a/civicrm/CRM/Admin/Form/Preferences/Address.php
+++ b/civicrm/CRM/Admin/Form/Preferences/Address.php
@@ -46,7 +46,7 @@ class CRM_Admin_Form_Preferences_Address extends CRM_Admin_Form_Preferences {
   }
 
   /**
-   * @param $fields
+   * @param array $fields
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Admin/Form/Preferences/Contribute.php b/civicrm/CRM/Admin/Form/Preferences/Contribute.php
index e835e335e80218a3f12bd4f5a7fd4ace94fa7a6e..0072d060bed89091e22e442d6d9cde232badacd5 100644
--- a/civicrm/CRM/Admin/Form/Preferences/Contribute.php
+++ b/civicrm/CRM/Admin/Form/Preferences/Contribute.php
@@ -54,6 +54,7 @@ class CRM_Admin_Form_Preferences_Contribute extends CRM_Admin_Form_Preferences {
         'html_type' => 'text',
         'title' => ts('Due Date'),
         'weight' => 3,
+        'description' => '',
       ],
       'due_date_period' => [
         'html_type' => 'select',
@@ -84,11 +85,13 @@ class CRM_Admin_Form_Preferences_Contribute extends CRM_Admin_Form_Preferences {
         'html_type' => 'text',
         'title' => ts('Tax Term'),
         'weight' => 7,
+        'description' => '',
       ],
       'tax_display_settings' => [
         'html_type' => 'select',
         'title' => ts('Tax Display Settings'),
         'weight' => 8,
+        'description' => '',
         'option_values' => [
           'Do_not_show' => ts('Do not show breakdown, only show total - i.e %1', [
             1 => CRM_Utils_Money::format(120),
diff --git a/civicrm/CRM/Admin/Form/Setting/Localization.php b/civicrm/CRM/Admin/Form/Setting/Localization.php
index 5cd32ae5515f6ed8c39bf46c67d43177efcadda8..d18e75ab718fdcd4bd03708e1873466056a3b6ca 100644
--- a/civicrm/CRM/Admin/Form/Setting/Localization.php
+++ b/civicrm/CRM/Admin/Form/Setting/Localization.php
@@ -32,6 +32,7 @@ class CRM_Admin_Form_Setting_Localization extends CRM_Admin_Form_Setting {
     'inheritLocale' => CRM_Core_BAO_Setting::LOCALIZATION_PREFERENCES_NAME,
     'lcMessages' => CRM_Core_BAO_Setting::LOCALIZATION_PREFERENCES_NAME,
     'legacyEncoding' => CRM_Core_BAO_Setting::LOCALIZATION_PREFERENCES_NAME,
+    'format_locale' => CRM_Core_BAO_Setting::LOCALIZATION_PREFERENCES_NAME,
     'monetaryThousandSeparator' => CRM_Core_BAO_Setting::LOCALIZATION_PREFERENCES_NAME,
     'monetaryDecimalPoint' => CRM_Core_BAO_Setting::LOCALIZATION_PREFERENCES_NAME,
     'moneyformat' => CRM_Core_BAO_Setting::LOCALIZATION_PREFERENCES_NAME,
@@ -43,11 +44,9 @@ class CRM_Admin_Form_Setting_Localization extends CRM_Admin_Form_Setting {
    * Build the form object.
    */
   public function buildQuickForm() {
-    $config = CRM_Core_Config::singleton();
-
     $this->setTitle(ts('Settings - Localization'));
 
-    $warningTitle = json_encode(ts("Warning"));
+    $warningTitle = json_encode(ts('Warning'));
     $defaultLocaleOptions = CRM_Admin_Form_Setting_Localization::getDefaultLocaleOptions();
 
     if (CRM_Core_I18n::isMultiLingual()) {
@@ -98,7 +97,7 @@ class CRM_Admin_Form_Setting_Localization extends CRM_Admin_Form_Setting {
   }
 
   /**
-   * @param $fields
+   * @param array $fields
    *
    * @return array|bool
    */
@@ -230,8 +229,8 @@ class CRM_Admin_Form_Setting_Localization extends CRM_Admin_Form_Setting {
   /**
    * Replace available currencies by the ones provided
    *
-   * @param $currencies array of currencies ['USD', 'CAD']
-   * @param $default default currency
+   * @param string[] $currencies array of currencies ['USD', 'CAD']
+   * @param string $default default currency
    */
   public static function updateEnabledCurrencies($currencies, $default) {
 
@@ -339,7 +338,7 @@ class CRM_Admin_Form_Setting_Localization extends CRM_Admin_Form_Setting {
     $currencies = array_keys(CRM_Core_OptionGroup::values('currencies_enabled'));
     if (!in_array($newCurrency, $currencies)) {
       if (empty($currencies)) {
-        $currencies = [$values['defaultCurrency']];
+        $currencies = [$newCurrency];
       }
       else {
         $currencies[] = $newCurrency;
diff --git a/civicrm/CRM/Admin/Form/Setting/Mail.php b/civicrm/CRM/Admin/Form/Setting/Mail.php
index 4bfe45d35aa8076b644c779bc66d56e468686ab7..4b49514c34a43201376142b8a0db94361dc67f8a 100644
--- a/civicrm/CRM/Admin/Form/Setting/Mail.php
+++ b/civicrm/CRM/Admin/Form/Setting/Mail.php
@@ -41,7 +41,7 @@ class CRM_Admin_Form_Setting_Mail extends CRM_Admin_Form_Setting {
   }
 
   /**
-   * @param $fields
+   * @param array $fields
    *
    * @return array|bool
    */
diff --git a/civicrm/CRM/Admin/Form/Setting/Url.php b/civicrm/CRM/Admin/Form/Setting/Url.php
index ae9aa930843e99b2d7b66160a4d7711c75cfd2c0..85151cbe76da4ca8730f26c03fc4f18be1128da5 100644
--- a/civicrm/CRM/Admin/Form/Setting/Url.php
+++ b/civicrm/CRM/Admin/Form/Setting/Url.php
@@ -48,7 +48,7 @@ class CRM_Admin_Form_Setting_Url extends CRM_Admin_Form_Setting {
   }
 
   /**
-   * @param $fields
+   * @param array $fields
    *
    * @return array|bool
    */
diff --git a/civicrm/CRM/Admin/Page/EventTemplate.php b/civicrm/CRM/Admin/Page/EventTemplate.php
index bee768e086954352792e8296971251d115db11d3..c373135e635af01c710ac26fd5d5caa52b51b97b 100644
--- a/civicrm/CRM/Admin/Page/EventTemplate.php
+++ b/civicrm/CRM/Admin/Page/EventTemplate.php
@@ -85,16 +85,19 @@ class CRM_Admin_Page_EventTemplate extends CRM_Core_Page_Basic {
       CRM_Core_DAO::storeValues($eventTemplate, $allEventTemplates[$eventTemplate->id]);
 
       //get listing types.
+      $allEventTemplates[$eventTemplate->id]['participant_listing'] = ts('Disabled');
       if ($eventTemplate->participant_listing_id) {
         $allEventTemplates[$eventTemplate->id]['participant_listing'] = $participantListings[$eventTemplate->participant_listing_id];
       }
 
       //get participant role
+      $allEventTemplates[$eventTemplate->id]['participant_role'] = '';
       if ($eventTemplate->default_role_id) {
         $allEventTemplates[$eventTemplate->id]['participant_role'] = $participantRoles[$eventTemplate->default_role_id];
       }
 
       //get event type.
+      $allEventTemplates[$eventTemplate->id]['event_type'] = '';
       if (isset($eventTypes[$eventTemplate->event_type_id])) {
         $allEventTemplates[$eventTemplate->id]['event_type'] = $eventTypes[$eventTemplate->event_type_id];
       }
diff --git a/civicrm/CRM/Admin/Page/MessageTemplates.php b/civicrm/CRM/Admin/Page/MessageTemplates.php
index 58f154abda82720c620507cdb26c41383c761b2e..a2af7ea9ab13df2320e8038b39ef77ea0dfa1b2d 100644
--- a/civicrm/CRM/Admin/Page/MessageTemplates.php
+++ b/civicrm/CRM/Admin/Page/MessageTemplates.php
@@ -40,8 +40,8 @@ class CRM_Admin_Page_MessageTemplates extends CRM_Core_Page_Basic {
   protected $_revertedId;
 
   /**
-   * @param null $title
-   * @param null $mode
+   * @param string $title
+   * @param int $mode
    */
   public function __construct($title = NULL, $mode = NULL) {
     parent::__construct($title, $mode);
diff --git a/civicrm/CRM/Api4/Page/AJAX.php b/civicrm/CRM/Api4/Page/AJAX.php
index a368b20c4c8382c54ba3f0818e2393412048e36f..64edf46f44f8039e1dab45fecacc46d6aff23373 100644
--- a/civicrm/CRM/Api4/Page/AJAX.php
+++ b/civicrm/CRM/Api4/Page/AJAX.php
@@ -22,10 +22,7 @@ class CRM_Api4_Page_AJAX extends CRM_Core_Page {
    */
   public function run() {
     $config = CRM_Core_Config::singleton();
-    if (!$config->debug && (!array_key_exists('HTTP_X_REQUESTED_WITH', $_SERVER) ||
-        $_SERVER['HTTP_X_REQUESTED_WITH'] != "XMLHttpRequest"
-      )
-    ) {
+    if (!$config->debug && !CRM_Utils_REST::isWebServiceRequest()) {
       $response = [
         'error_code' => 401,
         'error_message' => "SECURITY ALERT: Ajax requests can only be issued by javascript clients, eg. CRM.api4().",
diff --git a/civicrm/CRM/Api4/Services.php b/civicrm/CRM/Api4/Services.php
index 18bab2f7ad8d747f0344bc0ffbde943a09f686cd..f5581efd0fadc7cce6289f6ee9c1e65624867e81 100644
--- a/civicrm/CRM/Api4/Services.php
+++ b/civicrm/CRM/Api4/Services.php
@@ -57,12 +57,6 @@ class CRM_Api4_Services {
         [new Reference($provider)]
       );
     }
-
-    if (defined('CIVICRM_UF') && CIVICRM_UF === 'UnitTests'
-      && file_exists('tests/phpunit/api/v4/services.xml')
-    ) {
-      $loader->load('tests/phpunit/api/v4/services.xml');
-    }
   }
 
   /**
diff --git a/civicrm/CRM/Badge/BAO/Badge.php b/civicrm/CRM/Badge/BAO/Badge.php
index 9d2c61339f85a62ea57aa15835a489bb40f85f26..5d1bdcfffdaa80326ad0ba0650799361c44c51c5 100644
--- a/civicrm/CRM/Badge/BAO/Badge.php
+++ b/civicrm/CRM/Badge/BAO/Badge.php
@@ -147,7 +147,7 @@ class CRM_Badge_BAO_Badge {
   }
 
   /**
-   * @param $formattedRow
+   * @param array $formattedRow
    */
   public function generateLabel($formattedRow) {
     switch ($formattedRow['labelFormat']) {
@@ -164,7 +164,7 @@ class CRM_Badge_BAO_Badge {
   }
 
   /**
-   * @param $formattedRow
+   * @param array $formattedRow
    * @param int $cellspacing
    */
   public function labelCreator(&$formattedRow, $cellspacing = 0) {
@@ -349,13 +349,12 @@ class CRM_Badge_BAO_Badge {
    *
    * @param string $img
    *   Image url.
-   *
-   * @param string $x
-   * @param string $y
-   * @param null $w
-   * @param null $h
+   * @param string|null $x
+   * @param string|null $y
+   * @param int|null $w
+   * @param int|null $h
    */
-  public function printImage($img, $x = '', $y = '', $w = NULL, $h = NULL) {
+  public function printImage($img, $x = NULL, $y = NULL, $w = NULL, $h = NULL) {
     if (!$x) {
       $x = $this->pdf->GetAbsX();
     }
@@ -375,12 +374,14 @@ class CRM_Badge_BAO_Badge {
   }
 
   /**
-   * @param $img
+   * @param string $img
+   *   Filename
    * @param int $imgRes
-   * @param null $w
-   * @param null $h
+   * @param int|null $w
+   * @param int|null $h
    *
-   * @return array
+   * @return int[]
+   *   [width, height]
    */
   public static function getImageProperties($img, $imgRes = 300, $w = NULL, $h = NULL) {
     $imgsize = getimagesize($img);
diff --git a/civicrm/CRM/Badge/BAO/Layout.php b/civicrm/CRM/Badge/BAO/Layout.php
index e631eb0ae3b54819cbb75e0b196bbaf0b84e8426..2c0780e89e292cc637b1ca177d58b77901473ce8 100644
--- a/civicrm/CRM/Badge/BAO/Layout.php
+++ b/civicrm/CRM/Badge/BAO/Layout.php
@@ -16,13 +16,6 @@
  */
 class CRM_Badge_BAO_Layout extends CRM_Core_DAO_PrintLabel {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Retrieve DB object based on input parameters.
    *
@@ -152,7 +145,7 @@ class CRM_Badge_BAO_Layout extends CRM_Core_DAO_PrintLabel {
   /**
    * Decode encoded data and return as an array.
    *
-   * @param json $jsonData
+   * @param string $jsonData
    *   Json object.
    *
    * @return array
diff --git a/civicrm/CRM/Batch/BAO/Batch.php b/civicrm/CRM/Batch/BAO/Batch.php
index fffd67e0dbfd687d635d38b4ed8499d15aa428c9..d3bcba1467f06679212cd9d47ea85407809cd2c7 100644
--- a/civicrm/CRM/Batch/BAO/Batch.php
+++ b/civicrm/CRM/Batch/BAO/Batch.php
@@ -50,24 +50,21 @@ class CRM_Batch_BAO_Batch extends CRM_Batch_DAO_Batch {
   }
 
   /**
-   * Retrieve the information about the batch.
+   * Retrieve DB object and copy to defaults array.
    *
    * @param array $params
-   *   (reference ) an assoc array of name/value pairs.
-   * @param array $defaults
-   *   (reference ) an assoc array to hold the flattened values.
+   *   Array of criteria values.
+   * @param array|null $defaults
+   *   Array to be populated with found values.
    *
-   * @return CRM_Batch_BAO_Batch|null
-   *   CRM_Batch_BAO_Batch object on success, null otherwise
+   * @return self|null
+   *   The DAO object, if found.
+   *
+   * @deprecated
    */
-  public static function retrieve(&$params, &$defaults) {
-    $batch = new CRM_Batch_DAO_Batch();
-    $batch->copyValues($params);
-    if ($batch->find(TRUE)) {
-      CRM_Core_DAO::storeValues($batch, $defaults);
-      return $batch;
-    }
-    return NULL;
+  public static function retrieve(array $params, ?array &$defaults = NULL) {
+    $defaults = $defaults ?? [];
+    return self::commonRetrieve(self::class, $params, $defaults);
   }
 
   /**
@@ -329,16 +326,7 @@ class CRM_Batch_BAO_Batch extends CRM_Batch_DAO_Batch {
         $values['id']
       );
       // CRM-21205
-      $values['currency'] = CRM_Core_DAO::singleValueQuery("
-        SELECT GROUP_CONCAT(DISTINCT ft.currency)
-        FROM  civicrm_batch batch
-        JOIN civicrm_entity_batch eb
-          ON batch.id = eb.batch_id
-        JOIN civicrm_financial_trxn ft
-          ON eb.entity_id = ft.id
-        WHERE batch.id = %1
-        GROUP BY batch.id
-      ", [1 => [$values['id'], 'Positive']]);
+      $values['currency'] = CRM_Batch_BAO_EntityBatch::getBatchCurrency($values['id']);
       $results[$values['id']] = $values;
     }
 
@@ -551,7 +539,7 @@ class CRM_Batch_BAO_Batch extends CRM_Batch_DAO_Batch {
    *   calculated total
    * @param $expected
    *   user-entered total
-   * @return array
+   * @return string
    */
   public static function displayTotals($actual, $expected) {
     $class = 'actual-value';
diff --git a/civicrm/CRM/Batch/BAO/EntityBatch.php b/civicrm/CRM/Batch/BAO/EntityBatch.php
index 025a877b8ec3965e28524984c45c5001335fedfd..f4c1e55a7027fc5e49ee220c13804bde98fb29c0 100644
--- a/civicrm/CRM/Batch/BAO/EntityBatch.php
+++ b/civicrm/CRM/Batch/BAO/EntityBatch.php
@@ -23,6 +23,35 @@ class CRM_Batch_BAO_EntityBatch extends CRM_Batch_DAO_EntityBatch {
    * @return CRM_Batch_DAO_EntityBatch
    */
   public static function create($params) {
+    // Only write the EntityBatch record if the financial trxn and batch match on currency and payment instrument.
+    $batchId = $params['batch_id'] ?? NULL;
+    $entityId = $params['entity_id'] ?? NULL;
+    // Not having a batch ID and entity ID is only acceptable on an update.
+    if (!$batchId) {
+      $existingEntityBatch = \Civi\Api4\EntityBatch::get(FALSE)
+        ->addSelect('id', '=', $params['id'])
+        ->execute()
+        ->first();
+      $batchId = $existingEntityBatch['batch_id'] ?? NULL;
+      $entityId = $existingEntityBatch['entity_id'] ?? NULL;
+    }
+    // There should never be a legitimate case where a record has an ID but no batch ID but SyntaxConformanceTest says otherwise.
+    if ($batchId) {
+      $batchCurrency = self::getBatchCurrency($batchId);
+      $batchPID = (int) CRM_Core_DAO::getFieldValue('CRM_Batch_DAO_Batch', $batchId, 'payment_instrument_id');
+      $trxn = \Civi\Api4\FinancialTrxn::get(FALSE)
+        ->addSelect('currency', 'payment_instrument_id')
+        ->addWhere('id', '=', $entityId)
+        ->execute()
+        ->first();
+      if ($batchCurrency && $batchCurrency !== $trxn['currency']) {
+        throw new \CRM_Core_Exception(ts('You can not add items of two different currencies to a single contribution batch.'));
+      }
+      if ($batchPID && $trxn && $batchPID !== $trxn['payment_instrument_id']) {
+        $paymentInstrument = CRM_Core_PseudoConstant::getLabel('CRM_Batch_BAO_Batch', 'payment_instrument_id', $batchPID);
+        throw new \CRM_Core_Exception(ts('This batch is configured to include only transactions using %1 payment method. If you want to include other transactions, please edit the batch first and modify the Payment Method.', [1 => $paymentInstrument]));
+      }
+    }
     return self::writeRecord($params);
   }
 
@@ -39,4 +68,28 @@ class CRM_Batch_BAO_EntityBatch extends CRM_Batch_DAO_EntityBatch {
     return self::deleteRecord($params);
   }
 
+  /**
+   * Get the currency associated with a batch (if any).
+   *
+   * @param int $batchId
+   *
+   */
+  public static function getBatchCurrency($batchId) : ?string {
+    $sql = "SELECT DISTINCT ft.currency
+      FROM  civicrm_batch batch
+      JOIN civicrm_entity_batch eb
+        ON batch.id = eb.batch_id
+      JOIN civicrm_financial_trxn ft
+        ON eb.entity_id = ft.id
+      WHERE batch.id = %1";
+    $dao = CRM_Core_DAO::executeQuery($sql, [1 => [$batchId, 'Positive']]);
+    if ($dao->N === 0) {
+      return NULL;
+    }
+    else {
+      $dao->fetch();
+      return $dao->currency;
+    }
+  }
+
 }
diff --git a/civicrm/CRM/Batch/DAO/Batch.php b/civicrm/CRM/Batch/DAO/Batch.php
index 4b303f08660dfd9f3353d06043ca920daef5dde4..1175aa77ec97219514ff1679ef31a8a3a3deffbd 100644
--- a/civicrm/CRM/Batch/DAO/Batch.php
+++ b/civicrm/CRM/Batch/DAO/Batch.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Batch/Batch.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:965795e9c5cb8876ff6198abee5ffc71)
+ * (GenCodeChecksum:d7bcbc183569fc9cc52260eef81e84ad)
  */
 
 /**
@@ -33,117 +33,151 @@ class CRM_Batch_DAO_Batch extends CRM_Core_DAO {
   /**
    * Unique Address ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Variable name/programmatic handle for this batch.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Friendly Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Description of this batch set.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * When was this item created
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_id;
 
   /**
    * When was this item modified
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
   /**
    * FK to Saved Search ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $saved_search_id;
 
   /**
    * fk to Batch Status options in civicrm_option_values
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * fk to Batch Type options in civicrm_option_values
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $type_id;
 
   /**
    * fk to Batch mode options in civicrm_option_values
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mode_id;
 
   /**
    * Total amount for this batch.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $total;
 
   /**
    * Number of items in a batch.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $item_count;
 
   /**
    * fk to Payment Instrument options in civicrm_option_values
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_instrument_id;
 
   /**
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $exported_date;
 
   /**
    * cache entered data
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data;
 
diff --git a/civicrm/CRM/Batch/DAO/EntityBatch.php b/civicrm/CRM/Batch/DAO/EntityBatch.php
index 3a14e1613203f932e9037a0ecdb9f75e6f65c7f3..4d851f0ad1241de77dc4ae6686ce1c3e2cb18e3e 100644
--- a/civicrm/CRM/Batch/DAO/EntityBatch.php
+++ b/civicrm/CRM/Batch/DAO/EntityBatch.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Batch/EntityBatch.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:916ca7535e5e9d344f17456a973fdad6)
+ * (GenCodeChecksum:98d4fc139c4903eb67dadd5a5ea72f5e)
  */
 
 /**
@@ -33,28 +33,36 @@ class CRM_Batch_DAO_EntityBatch extends CRM_Core_DAO {
   /**
    * primary key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * physical tablename for entity being joined to file, e.g. civicrm_contact
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * FK to entity table specified in entity_table column.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * FK to civicrm_batch
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $batch_id;
 
diff --git a/civicrm/CRM/Batch/Form/Entry.php b/civicrm/CRM/Batch/Form/Entry.php
index 0a395b52afad3a2dd833dc7c4bc63bf1e619773b..2818626e9573a72637bdedc469fa558a85c8641a 100644
--- a/civicrm/CRM/Batch/Form/Entry.php
+++ b/civicrm/CRM/Batch/Form/Entry.php
@@ -301,7 +301,7 @@ class CRM_Batch_Form_Entry extends CRM_Core_Form {
       'household_name',
     ];
 
-    $contactTypes = ['Contact', 'Individual', 'Household', 'Organization'];
+    $contactTypes = array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes(TRUE));
     $contactReturnProperties = [];
 
     for ($rowNumber = 1; $rowNumber <= $this->_batchInfo['item_count']; $rowNumber++) {
diff --git a/civicrm/CRM/Bridge/OG/Utils.php b/civicrm/CRM/Bridge/OG/Utils.php
index 5fb44c7d8182653e11f928660b718157ae5c2db9..a7a5fa1e161ebbc235cb7d833a94447ea7450c01 100644
--- a/civicrm/CRM/Bridge/OG/Utils.php
+++ b/civicrm/CRM/Bridge/OG/Utils.php
@@ -99,8 +99,8 @@ class CRM_Bridge_OG_Utils {
   }
 
   /**
-   * @param $source
-   * @param null $title
+   * @param string $source
+   * @param string|null $title
    * @param bool $abort
    *
    * @return null|string
diff --git a/civicrm/CRM/Campaign/BAO/Campaign.php b/civicrm/CRM/Campaign/BAO/Campaign.php
index cff5bcaa07ffc47f8e854cbe4df3a2e2730c9cd2..02fbacc0f485797dd14eba91d7c168947d2a803f 100644
--- a/civicrm/CRM/Campaign/BAO/Campaign.php
+++ b/civicrm/CRM/Campaign/BAO/Campaign.php
@@ -65,11 +65,6 @@ class CRM_Campaign_BAO_Campaign extends CRM_Campaign_DAO_Campaign {
       }
     }
 
-    //store custom data
-    if (!empty($params['custom']) && is_array($params['custom'])) {
-      CRM_Core_BAO_CustomValueTable::store($params['custom'], 'civicrm_campaign', $campaign->id);
-    }
-
     return $campaign;
   }
 
@@ -299,7 +294,7 @@ Order By  camp.title";
    * @return bool
    */
   public static function isCampaignEnable(): bool {
-    return in_array('CiviCampaign', CRM_Core_Config::singleton()->enableComponents, TRUE);
+    return CRM_Core_Component::isEnabled('CiviCampaign');
   }
 
   /**
diff --git a/civicrm/CRM/Campaign/BAO/Query.php b/civicrm/CRM/Campaign/BAO/Query.php
index e70340cffbb4221c47c71af19a7f0e468a511a45..50fb3e589029ee6979bedbbe4ec5171aa141f162 100644
--- a/civicrm/CRM/Campaign/BAO/Query.php
+++ b/civicrm/CRM/Campaign/BAO/Query.php
@@ -347,7 +347,7 @@ civicrm_activity_assignment.record_type_id = $assigneeID ) ";
     );
 
     $showInterviewer = FALSE;
-    if (CRM_Core_Permission::check('administer CiviCampaign')) {
+    if (CRM_Core_Permission::check('manage campaign')) {
       $showInterviewer = TRUE;
     }
     $form->assign('showInterviewer', $showInterviewer);
diff --git a/civicrm/CRM/Campaign/BAO/Survey.php b/civicrm/CRM/Campaign/BAO/Survey.php
index b37e6b9bce24775ffb43ab1b2d68f6045991d3c2..b05fce5c9611cbd00e09c1806f99c5fbfdc10f9c 100644
--- a/civicrm/CRM/Campaign/BAO/Survey.php
+++ b/civicrm/CRM/Campaign/BAO/Survey.php
@@ -74,9 +74,6 @@ class CRM_Campaign_BAO_Survey extends CRM_Campaign_DAO_Survey implements Civi\Te
 
     $dao = self::writeRecord($params);
 
-    if (!empty($params['custom']) && is_array($params['custom'])) {
-      CRM_Core_BAO_CustomValueTable::store($params['custom'], 'civicrm_survey', $dao->id);
-    }
     return $dao;
   }
 
@@ -552,8 +549,8 @@ INNER JOIN  civicrm_activity_contact activityAssignment
    * @param array $voterIds
    * @param bool $onlyCount
    *
-   * @return array
-   *   An array of survey activity.
+   * @return array|int
+   *   An array of survey activity, or an int if $onlyCount is set to TRUE
    */
   public static function getSurveyActivities(
     $surveyId,
diff --git a/civicrm/CRM/Campaign/Controller/Search.php b/civicrm/CRM/Campaign/Controller/Search.php
index 520c3f9442b73eb44f0b79c06136eae532e422fb..9f3e6bf26abb1c22dd651d5fbd8a0a2ccc3d379e 100644
--- a/civicrm/CRM/Campaign/Controller/Search.php
+++ b/civicrm/CRM/Campaign/Controller/Search.php
@@ -33,7 +33,7 @@ class CRM_Campaign_Controller_Search extends CRM_Core_Controller {
   /**
    * Class constructor.
    *
-   * @param null $title
+   * @param string $title
    * @param bool|int $action
    * @param bool $modal
    */
diff --git a/civicrm/CRM/Campaign/DAO/Campaign.php b/civicrm/CRM/Campaign/DAO/Campaign.php
index a82c6fb444b0c3f961b84ac4ec14b63b4516504f..99b8489ede0f735759872d617f2f7e8681053059 100644
--- a/civicrm/CRM/Campaign/DAO/Campaign.php
+++ b/civicrm/CRM/Campaign/DAO/Campaign.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Campaign/Campaign.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:9d4da1f7966af86e8426aa449826f41c)
+ * (GenCodeChecksum:dab6fdaa9d622daab580b32ae1172bc7)
  */
 
 /**
@@ -59,7 +59,9 @@ class CRM_Campaign_DAO_Campaign extends CRM_Core_DAO {
   /**
    * Unique Campaign ID.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -67,111 +69,143 @@ class CRM_Campaign_DAO_Campaign extends CRM_Core_DAO {
    * Name of the Campaign.
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Title of the Campaign.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Full description of Campaign.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Date and time that Campaign starts.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * Date and time that Campaign ends.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * Campaign Type ID.Implicit FK to civicrm_option_value where option_group = campaign_type
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_type_id;
 
   /**
    * Campaign status ID.Implicit FK to civicrm_option_value where option_group = campaign_status
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * Unique trusted external ID (generally from a legacy app/datasource). Particularly useful for deduping operations.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $external_identifier;
 
   /**
    * Optional parent id for this Campaign.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_id;
 
   /**
    * Is this Campaign enabled or disabled/cancelled?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * FK to civicrm_contact, who created this Campaign.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Date and time that Campaign was created.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * FK to civicrm_contact, who recently edited this Campaign.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $last_modified_id;
 
   /**
    * Date and time that Campaign was edited last time.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $last_modified_date;
 
   /**
    * General goals for Campaign.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $goal_general;
 
   /**
    * The target revenue for this campaign.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $goal_revenue;
 
diff --git a/civicrm/CRM/Campaign/DAO/CampaignGroup.php b/civicrm/CRM/Campaign/DAO/CampaignGroup.php
index cc967826b420b7569cca0eecd48562f9849bb2a9..48351d8be0f60005732a03b1e33e2ade09e27c44 100644
--- a/civicrm/CRM/Campaign/DAO/CampaignGroup.php
+++ b/civicrm/CRM/Campaign/DAO/CampaignGroup.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Campaign/CampaignGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:978c5e6110b6905764ed276943711ac4)
+ * (GenCodeChecksum:2f82c00377ac107ef95474e340b596d7)
  */
 
 /**
@@ -34,35 +34,45 @@ class CRM_Campaign_DAO_CampaignGroup extends CRM_Core_DAO {
   /**
    * Campaign Group id.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Foreign key to the activity Campaign.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * Type of Group.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_type;
 
   /**
    * Name of table where item being referenced is stored.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * Entity id of referenced table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
diff --git a/civicrm/CRM/Campaign/DAO/Survey.php b/civicrm/CRM/Campaign/DAO/Survey.php
index 83573a714811a6d4c36e01467cbc5e03266d7c51..410b6ea81267eaaafad0ff372e9e2cd27e9d4bec 100644
--- a/civicrm/CRM/Campaign/DAO/Survey.php
+++ b/civicrm/CRM/Campaign/DAO/Survey.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Campaign/Survey.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:8fec5a0ffb4667af4f00820de74aa577)
+ * (GenCodeChecksum:d0bc187a5dd2297f5c81a7a84460fc17)
  */
 
 /**
@@ -48,7 +48,9 @@ class CRM_Campaign_DAO_Survey extends CRM_Core_DAO {
   /**
    * Survey id.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -56,132 +58,170 @@ class CRM_Campaign_DAO_Survey extends CRM_Core_DAO {
    * Title of the Survey.
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Foreign key to the Campaign.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * Implicit FK to civicrm_option_value where option_group = activity_type
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $activity_type_id;
 
   /**
    * Recontact intervals for each status.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $recontact_interval;
 
   /**
    * Script instructions for volunteers to use for the survey.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $instructions;
 
   /**
    * Number of days for recurrence of release.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $release_frequency;
 
   /**
    * Maximum number of contacts to allow for survey.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_number_of_contacts;
 
   /**
    * Default number of contacts to allow for survey.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $default_number_of_contacts;
 
   /**
    * Is this survey enabled or disabled/cancelled?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this default survey?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
    * FK to civicrm_contact, who created this Survey.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Date and time that Survey was created.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * FK to civicrm_contact, who recently edited this Survey.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $last_modified_id;
 
   /**
    * Date and time that Survey was edited last time.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $last_modified_date;
 
   /**
    * Used to store option group id.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $result_id;
 
   /**
    * Bypass the email verification.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $bypass_confirm;
 
   /**
    * Title for Thank-you page (header title tag, and display at the top of the page).
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_title;
 
   /**
    * text and html allowed. displayed above result on success page
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_text;
 
   /**
    * Can people share the petition through social media?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_share;
 
diff --git a/civicrm/CRM/Campaign/Form/Survey/Questions.php b/civicrm/CRM/Campaign/Form/Survey/Questions.php
index 1879f022c542107348636db22bce954f01e52a88..3dae1e4917b0d9fb3298aeee5d6e1d32cec8722b 100644
--- a/civicrm/CRM/Campaign/Form/Survey/Questions.php
+++ b/civicrm/CRM/Campaign/Form/Survey/Questions.php
@@ -58,7 +58,7 @@ class CRM_Campaign_Form_Survey_Questions extends CRM_Campaign_Form_Survey {
           'There are no custom data sets for activity type "%1". To create one, <a href="%2" target="%3">click here</a>.',
           [
             1 => $activityTypes[$subTypeId],
-            2 => CRM_Utils_System::url('civicrm/admin/custom/group', 'action=add&reset=1'),
+            2 => CRM_Utils_System::url('civicrm/admin/custom/group/edit', 'action=add&reset=1'),
             3 => '_blank',
           ]
         )
diff --git a/civicrm/CRM/Campaign/Form/Survey/Results.php b/civicrm/CRM/Campaign/Form/Survey/Results.php
index 224172f4577619f45a27de8e6cd6033934302a09..7f5b9354191fe17777e324010a008ef5f2520e2a 100644
--- a/civicrm/CRM/Campaign/Form/Survey/Results.php
+++ b/civicrm/CRM/Campaign/Form/Survey/Results.php
@@ -124,7 +124,7 @@ class CRM_Campaign_Form_Survey_Results extends CRM_Campaign_Form_Survey {
 
     // form fields of Custom Option rows
     $defaultOptionValues = [];
-    $_showHide = new CRM_Core_ShowHideBlocks('', '');
+    $_showHide = new CRM_Core_ShowHideBlocks();
 
     $optionAttributes = CRM_Core_DAO::getAttribute('CRM_Core_DAO_OptionValue');
     $optionAttributes['label']['size'] = $optionAttributes['value']['size'] = 25;
@@ -214,7 +214,7 @@ class CRM_Campaign_Form_Survey_Results extends CRM_Campaign_Form_Survey {
     }
 
     $_flagOption = $_rowError = 0;
-    $_showHide = new CRM_Core_ShowHideBlocks('', '');
+    $_showHide = new CRM_Core_ShowHideBlocks();
 
     //capture duplicate Custom option values
     if (!empty($fields['option_value'])) {
diff --git a/civicrm/CRM/Campaign/Form/Survey/TabHeader.php b/civicrm/CRM/Campaign/Form/Survey/TabHeader.php
index 1f924f5ec4bb02c619c07e1e14e3dd8eedc967c4..e7bfd2fa569f1c9c8a74e6cb800578f572985416 100644
--- a/civicrm/CRM/Campaign/Form/Survey/TabHeader.php
+++ b/civicrm/CRM/Campaign/Form/Survey/TabHeader.php
@@ -117,7 +117,7 @@ class CRM_Campaign_Form_Survey_TabHeader {
   }
 
   /**
-   * @param $tabs
+   * @param array $tabs
    *
    * @return int|string
    */
@@ -142,7 +142,7 @@ class CRM_Campaign_Form_Survey_TabHeader {
   }
 
   /**
-   * @param $form
+   * @param CRM_Core_Form $form
    *
    * @return int|string
    */
diff --git a/civicrm/CRM/Campaign/Form/Task/Print.php b/civicrm/CRM/Campaign/Form/Task/Print.php
index 96d01716222b5eff0c0e5dabe3f35ff79a2e30c4..fb7af99b9402f08475d1b9c4375280a7a6ce2d4f 100644
--- a/civicrm/CRM/Campaign/Form/Task/Print.php
+++ b/civicrm/CRM/Campaign/Form/Task/Print.php
@@ -27,7 +27,7 @@ class CRM_Campaign_Form_Task_Print extends CRM_Campaign_Form_Task {
     parent::preprocess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
 
     // get the formatted params
     $queryParams = $this->get('queryParams');
diff --git a/civicrm/CRM/Campaign/Form/Task/Reserve.php b/civicrm/CRM/Campaign/Form/Task/Reserve.php
index 97c1b72d060178167a6a49ef2f9723221ef3b59f..a1988f6e6e5f2048ccf2ef997acf1d99bf5a5ba4 100644
--- a/civicrm/CRM/Campaign/Form/Task/Reserve.php
+++ b/civicrm/CRM/Campaign/Form/Task/Reserve.php
@@ -187,7 +187,7 @@ class CRM_Campaign_Form_Task_Reserve extends CRM_Campaign_Form_Task {
    *   Posted values of the form.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Campaign/Selector/Search.php b/civicrm/CRM/Campaign/Selector/Search.php
index 3f8c035ec47e023dcc51e4bfdf25e318c2d9321c..2c3cdd4856a79d2371413ab05d7483952545ef87 100644
--- a/civicrm/CRM/Campaign/Selector/Search.php
+++ b/civicrm/CRM/Campaign/Selector/Search.php
@@ -103,7 +103,7 @@ class CRM_Campaign_Selector_Search extends CRM_Core_Selector_Base implements CRM
   /**
    * The query object.
    *
-   * @var string
+   * @var CRM_Contact_BAO_Query
    */
   protected $_query;
 
@@ -348,7 +348,7 @@ class CRM_Campaign_Selector_Search extends CRM_Core_Selector_Base implements CRM
   }
 
   /**
-   * @return string
+   * @return CRM_Contact_BAO_Query
    */
   public function &getQuery() {
     return $this->_query;
diff --git a/civicrm/CRM/Case/BAO/Case.php b/civicrm/CRM/Case/BAO/Case.php
index f28721991b5f1edf94d811690dd71f398db1ca5e..7dc618131811bf301bec8f11933848f17046b475 100644
--- a/civicrm/CRM/Case/BAO/Case.php
+++ b/civicrm/CRM/Case/BAO/Case.php
@@ -28,21 +28,13 @@ class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
    */
   public static $_exportableFields = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Is CiviCase enabled?
    *
    * @return bool
    */
   public static function enabled() {
-    $config = CRM_Core_Config::singleton();
-    return in_array('CiviCase', $config->enableComponents);
+    return CRM_Core_Component::isEnabled('CiviCase');
   }
 
   /**
@@ -55,7 +47,7 @@ class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
    * @param array $params
    *   (reference ) an assoc array of name/value pairs.
    *
-   * @return CRM_Case_BAO_Case
+   * @return CRM_Case_DAO_Case
    */
   public static function add(&$params) {
     $caseDAO = new CRM_Case_DAO_Case();
@@ -72,7 +64,7 @@ class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
    * @param array $params
    *   (reference) an assoc array of name/value pairs.
    *
-   * @return CRM_Case_BAO_Case
+   * @return CRM_Case_DAO_Case
    */
   public static function &create(&$params) {
     // CRM-20958 - These fields are managed by MySQL triggers. Watch out for clients resaving stale timestamps.
@@ -224,7 +216,7 @@ WHERE civicrm_case.id = %1";
   }
 
   /**
-   * @param $id
+   * @param int $id
    * @return bool
    */
   public static function del($id) {
@@ -1125,8 +1117,8 @@ SELECT civicrm_case.id, case_status.label AS case_status, status_id, civicrm_cas
   /**
    * Helper function to generate a formatted contact link/name for display in the Case activities tab
    *
-   * @param $contactId
-   * @param $contactName
+   * @param int $contactId
+   * @param string $contactName
    *
    * @return string
    */
@@ -1522,16 +1514,16 @@ HERESQL;
   }
 
   /**
-   * @param $groupInfo
+   * @param array $groupInfo
    * @param null $sort
-   * @param null $showLinks
+   * @param bool $showLinks
    * @param bool $returnOnlyCount
    * @param int $offset
    * @param int $rowCount
    *
    * @return array
    */
-  public static function getGlobalContacts(&$groupInfo, $sort = NULL, $showLinks = NULL, $returnOnlyCount = FALSE, $offset = 0, $rowCount = 25) {
+  public static function getGlobalContacts(&$groupInfo, $sort = NULL, $showLinks = FALSE, $returnOnlyCount = FALSE, $offset = 0, $rowCount = 25) {
     $globalContacts = [];
 
     $settingsProcessor = new CRM_Case_XMLProcessor_Settings();
diff --git a/civicrm/CRM/Case/DAO/Case.php b/civicrm/CRM/Case/DAO/Case.php
index f787bdd65d75a370d8ef4c9cf202d139ffeb3cd6..49e5ba56110870951f1de53b9653d007f349e956 100644
--- a/civicrm/CRM/Case/DAO/Case.php
+++ b/civicrm/CRM/Case/DAO/Case.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Case/Case.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:1ae35a7a60938212678c1585defc3506)
+ * (GenCodeChecksum:9255efc8fc0b791899a006e23eb55341)
  */
 
 /**
@@ -48,68 +48,88 @@ class CRM_Case_DAO_Case extends CRM_Core_DAO {
   /**
    * Unique Case ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to civicrm_case_type.id
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $case_type_id;
 
   /**
    * Short name of the case.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $subject;
 
   /**
    * Date on which given case starts.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * Date on which given case ends.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * Details populated from Open Case. Only used in the CiviCase extension.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $details;
 
   /**
    * ID of case status.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_deleted;
 
   /**
    * When was the case was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When was the case (or closely related entity) was created or modified or deleted.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
@@ -335,6 +355,7 @@ class CRM_Case_DAO_Case extends CRM_Core_DAO {
           'html' => [
             'label' => ts("Created Date"),
           ],
+          'readonly' => TRUE,
           'add' => '4.7',
         ],
         'case_modified_date' => [
diff --git a/civicrm/CRM/Case/DAO/CaseActivity.php b/civicrm/CRM/Case/DAO/CaseActivity.php
index d887ef82de6117adb2eafed66d31bf7e1d1611c4..bfb3a04997b9cae0a184f6d2b96494a66c49f619 100644
--- a/civicrm/CRM/Case/DAO/CaseActivity.php
+++ b/civicrm/CRM/Case/DAO/CaseActivity.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Case/CaseActivity.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e5c1c45fc5dc666a02a3c1e872ba9a2b)
+ * (GenCodeChecksum:473d4047af6f44f1082795d38ef3ff4d)
  */
 
 /**
@@ -34,21 +34,27 @@ class CRM_Case_DAO_CaseActivity extends CRM_Core_DAO {
   /**
    * Unique case-activity association id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Case ID of case-activity association.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $case_id;
 
   /**
    * Activity ID of case-activity association.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $activity_id;
 
diff --git a/civicrm/CRM/Case/DAO/CaseContact.php b/civicrm/CRM/Case/DAO/CaseContact.php
index 5cafa972a8475bb165a3c710bec4ffd0615c7af2..b7950e90c84c145cd3ec5ada3ed7a6fc78857c4e 100644
--- a/civicrm/CRM/Case/DAO/CaseContact.php
+++ b/civicrm/CRM/Case/DAO/CaseContact.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Case/CaseContact.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e7ecd6e1648086f8925bad0dda6bec31)
+ * (GenCodeChecksum:92ba2cdb76569cdd69d488e73c495374)
  */
 
 /**
@@ -34,21 +34,27 @@ class CRM_Case_DAO_CaseContact extends CRM_Core_DAO {
   /**
    * Unique case-contact association id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Case ID of case-contact association.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $case_id;
 
   /**
    * Contact ID of contact record given case belongs to.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
diff --git a/civicrm/CRM/Case/DAO/CaseType.php b/civicrm/CRM/Case/DAO/CaseType.php
index ec47d3d698c98964e15c18fba2f788ee4170c67e..8b5f4651a4341614b60081bebdb502e43421f018 100644
--- a/civicrm/CRM/Case/DAO/CaseType.php
+++ b/civicrm/CRM/Case/DAO/CaseType.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Case/CaseType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:9080f32e76695319d1e6110372c0900c)
+ * (GenCodeChecksum:1102802dc49a9899f93c16fce57fa141)
  */
 
 /**
@@ -34,7 +34,9 @@ class CRM_Case_DAO_CaseType extends CRM_Core_DAO {
   /**
    * Autoincremented type id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -42,6 +44,8 @@ class CRM_Case_DAO_CaseType extends CRM_Core_DAO {
    * Machine name for Case Type
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
@@ -49,41 +53,53 @@ class CRM_Case_DAO_CaseType extends CRM_Core_DAO {
    * Natural language name for Case Type
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Description of the Case Type
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Is this case type enabled?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this case type a predefined system type?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Ordering of the case types
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * xml definition of case type
    *
-   * @var blob
+   * @var string|null
+   *   (SQL type: blob)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $definition;
 
diff --git a/civicrm/CRM/Case/Form/Activity.php b/civicrm/CRM/Case/Form/Activity.php
index 0415212fd8ded8ef4aa63be0c1bbb100e7d14b92..7b04c4a14bd74b43d162588b7567637b4d1e9dca 100644
--- a/civicrm/CRM/Case/Form/Activity.php
+++ b/civicrm/CRM/Case/Form/Activity.php
@@ -329,7 +329,7 @@ class CRM_Case_Form_Activity extends CRM_Activity_Form_Activity {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   true if no errors, else array of errors
diff --git a/civicrm/CRM/Case/Form/Task/Print.php b/civicrm/CRM/Case/Form/Task/Print.php
index 0c129c2c45ed1dee86109825fef512fde1ec0a80..0fa3e68607e8a9507cf9d4969d6ce54fef9ff767 100644
--- a/civicrm/CRM/Case/Form/Task/Print.php
+++ b/civicrm/CRM/Case/Form/Task/Print.php
@@ -28,7 +28,7 @@ class CRM_Case_Form_Task_Print extends CRM_Case_Form_Task {
     parent::preProcess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
 
     // get the formatted params
     $queryParams = $this->get('queryParams');
diff --git a/civicrm/CRM/Case/PseudoConstant.php b/civicrm/CRM/Case/PseudoConstant.php
index 43661793d19197761be9664676659ea6718d3065..f480d04f1149c0240dc98227db09117b562ac27b 100644
--- a/civicrm/CRM/Case/PseudoConstant.php
+++ b/civicrm/CRM/Case/PseudoConstant.php
@@ -26,7 +26,7 @@ class CRM_Case_PseudoConstant extends CRM_Core_PseudoConstant {
    *
    * @param string $column
    * @param bool $onlyActive
-   * @param null $condition
+   * @param string|null $condition
    * @param bool $fresh
    *
    * @return array
@@ -47,8 +47,7 @@ class CRM_Case_PseudoConstant extends CRM_Core_PseudoConstant {
   /**
    * Get all the redaction rules.
    *
-   *
-   * @param null $filter
+   * @param int $filter
    *
    * @return array
    *   array reference of all redaction rules
diff --git a/civicrm/CRM/Case/Selector/Search.php b/civicrm/CRM/Case/Selector/Search.php
index 0f0864e2086641f8b474128791972bbe69a6b6b5..a0aabae81ce3d74901de46c6b3bcbaf2fd2f6663 100644
--- a/civicrm/CRM/Case/Selector/Search.php
+++ b/civicrm/CRM/Case/Selector/Search.php
@@ -106,7 +106,7 @@ class CRM_Case_Selector_Search extends CRM_Core_Selector_Base {
   /**
    * The query object
    *
-   * @var string
+   * @var CRM_Contact_BAO_Query
    */
   protected $_query;
 
@@ -167,7 +167,7 @@ class CRM_Case_Selector_Search extends CRM_Core_Selector_Base {
    * - Edit
    *
    * @param bool $isDeleted
-   * @param null $key
+   * @param string|null $key
    *
    * @return array
    */
@@ -451,7 +451,7 @@ class CRM_Case_Selector_Search extends CRM_Core_Selector_Base {
   }
 
   /**
-   * @return string
+   * @return CRM_Contact_BAO_Query
    */
   public function &getQuery() {
     return $this->_query;
diff --git a/civicrm/CRM/Case/XMLProcessor/Report.php b/civicrm/CRM/Case/XMLProcessor/Report.php
index 4f4b7c6c2049eee2ad845eb2fc56bbeaa79a8b67..a0cd56a33f6af8412943d1aa8b4c3b8ffdbad3cc 100644
--- a/civicrm/CRM/Case/XMLProcessor/Report.php
+++ b/civicrm/CRM/Case/XMLProcessor/Report.php
@@ -556,7 +556,7 @@ WHERE      a.id = %1
 
   /**
    * @param int $activityTypeID
-   * @param null $dateFormat
+   * @param string|null $dateFormat
    * @param bool $onlyActive
    *
    * @return mixed
diff --git a/civicrm/CRM/Contact/BAO/Contact.php b/civicrm/CRM/Contact/BAO/Contact.php
index 5f63159d4f50e8c61e4d1e77f148bb5f6e45eec6..9667903c3e1aca75e8fa53aa195d1d2734b8f2da 100644
--- a/civicrm/CRM/Contact/BAO/Contact.php
+++ b/civicrm/CRM/Contact/BAO/Contact.php
@@ -81,13 +81,6 @@ class CRM_Contact_BAO_Contact extends CRM_Contact_DAO_Contact implements Civi\Te
    */
   public static $_exportableFields = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Takes an associative array and creates a contact object.
    *
@@ -206,7 +199,7 @@ class CRM_Contact_BAO_Contact extends CRM_Contact_DAO_Contact implements Civi\Te
       $newEmployer = !empty($params['employer_id']) ? $params['employer_id'] : $params['current_employer'] ?? NULL;
 
       $newContact = empty($params['contact_id']);
-      if ($newEmployer) {
+      if (!CRM_Utils_System::isNull($newEmployer)) {
         CRM_Contact_BAO_Contact_Utils::createCurrentEmployerRelationship($contact->id, $newEmployer, $employerId, $newContact);
       }
       elseif ($employerId) {
@@ -240,7 +233,7 @@ class CRM_Contact_BAO_Contact extends CRM_Contact_DAO_Contact implements Civi\Te
    * @param bool $skipDelete
    *   Unclear parameter, passed to website create
    *
-   * @return CRM_Contact_BAO_Contact|CRM_Core_Error
+   * @return CRM_Contact_BAO_Contact|CRM_Core_Error|NULL
    *   Created or updated contribution object. We are deprecating returning an error in
    *   favour of exceptions
    *
@@ -510,6 +503,10 @@ class CRM_Contact_BAO_Contact extends CRM_Contact_DAO_Contact implements Civi\Te
     $missingGreetingParams = [];
 
     foreach ($allGreetingParams as $greetingIndex => $greetingParam) {
+      // An empty string means NULL
+      if (($params[$greetingParam] ?? NULL) === '') {
+        $params[$greetingParam] = 'null';
+      }
       if (empty($params[$greetingParam])) {
         $missingGreetingParams[$greetingIndex] = $greetingParam;
       }
@@ -557,7 +554,7 @@ class CRM_Contact_BAO_Contact extends CRM_Contact_DAO_Contact implements Civi\Te
    * @param bool $includeTypeInReturnParameters
    *   Should type be part of the returned array?
    *
-   * @return array
+   * @return array|null
    *   the displayName and contactImage for this contact
    */
   public static function getDisplayAndImage($id, $includeTypeInReturnParameters = FALSE) {
@@ -1774,7 +1771,7 @@ WHERE     civicrm_contact.id = " . CRM_Utils_Type::escape($id, 'Integer');
    *
    * This is for the query to use, create the right sql.
    *
-   * @param $fields
+   * @param array $fields
    * @param int $contactId
    *   Contact id.
    *
@@ -1847,16 +1844,16 @@ WHERE     civicrm_contact.id = " . CRM_Utils_Type::escape($id, 'Integer');
    *
    * $params int     $contactId contact_id
    * $params boolean $isPrimaryExist if true, return primary contact location type otherwise null
-   * $params boolean $skipDefaultPriamry if true, return primary contact location type otherwise null
+   * $params boolean $skipDefaultPrimary if true, return primary contact location type otherwise null
    *
    * @param int $contactId
-   * @param bool $skipDefaultPriamry
-   * @param null $block
+   * @param bool $skipDefaultPrimary
+   * @param string|null $block
    *
-   * @return int
+   * @return int|NULL
    *   $locationType location_type_id
    */
-  public static function getPrimaryLocationType($contactId, $skipDefaultPriamry = FALSE, $block = NULL) {
+  public static function getPrimaryLocationType($contactId, $skipDefaultPrimary = FALSE, $block = NULL) {
     if ($block) {
       $entityBlock = ['contact_id' => $contactId];
       $blocks = CRM_Core_BAO_Location::getValues($entityBlock);
@@ -1898,7 +1895,7 @@ WHERE  civicrm_contact.id = %1 ";
     if (isset($locationType)) {
       return $locationType;
     }
-    elseif ($skipDefaultPriamry) {
+    elseif ($skipDefaultPrimary) {
       // if there is no primary contact location then return null
       return NULL;
     }
@@ -2113,10 +2110,10 @@ ORDER BY civicrm_email.is_primary DESC";
    * Format profile contact parameters.
    *
    * @param array $params
-   * @param $fields
-   * @param int $contactID
-   * @param int $ufGroupId
-   * @param null $ctype
+   * @param array $fields
+   * @param int|null $contactID
+   * @param int|null $ufGroupId
+   * @param string|null $ctype
    * @param bool $skipCustom
    *
    * @return array
@@ -2694,21 +2691,24 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
   }
 
   /**
-   * Given the component name and returns the count of participation of contact.
+   * Provides counts for the contact summary tabs.
    *
-   * @param string $component
-   *   Input component name.
+   * @param string $type
+   *   Type of record to count.
    * @param int $contactId
    *   Input contact id.
-   * @param string $tableName
-   *   Optional tableName if component is custom group.
+   * @param string|null $tableName
+   *   Deprecated - do not use
    *
-   * @return int
+   * @return int|false
    *   total number in database
    */
-  public static function getCountComponent($component, $contactId, $tableName = NULL) {
-    $object = NULL;
-    switch ($component) {
+  public static function getCountComponent(string $type, int $contactId, ?string $tableName = NULL) {
+    if ($tableName) {
+      // TODO: Fix LineItemEditor extension to not use this function, then enable warning
+      // CRM_Core_Error::deprecatedWarning('Deprecated argument $tableName passed to ' . __CLASS__ . '::' . __FUNCTION__);
+    }
+    switch ($type) {
       case 'tag':
         return CRM_Core_BAO_EntityTag::getContactTags($contactId, TRUE);
 
@@ -2722,7 +2722,6 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
         return $result;
 
       case 'group':
-
         return CRM_Contact_BAO_GroupContact::getContactGroup($contactId, "Added", NULL, TRUE, FALSE, FALSE, TRUE, NULL, TRUE);
 
       case 'log':
@@ -2735,13 +2734,13 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
         return CRM_Core_BAO_Note::getContactNoteCount($contactId);
 
       case 'contribution':
-        if (array_key_exists('CiviContribute', CRM_Core_Component::getEnabledComponents())) {
+        if (CRM_Core_Component::isEnabled('CiviContribute')) {
           return CRM_Contribute_BAO_Contribution::contributionCount($contactId);
         }
         return FALSE;
 
       case 'membership':
-        if (array_key_exists('CiviMember', CRM_Core_Component::getEnabledComponents())) {
+        if (CRM_Core_Component::isEnabled('CiviMember')) {
           return CRM_Member_BAO_Membership::getContactMembershipCount((int) $contactId, TRUE);
         }
         return FALSE;
@@ -2755,9 +2754,6 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
       case 'case':
         return CRM_Case_BAO_Case::caseCount($contactId);
 
-      case 'grant':
-        return CRM_Grant_BAO_Grant::getContactGrantCount($contactId);
-
       case 'activity':
         $input = [
           'contact_id' => $contactId,
@@ -2772,14 +2768,12 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
         return CRM_Mailing_BAO_Mailing::getContactMailingsCount($params);
 
       default:
-        $custom = explode('_', $component);
-        if ($custom['0'] = 'custom') {
-          if (!$tableName) {
-            $tableName = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $custom['1'], 'table_name');
-          }
-          $queryString = "SELECT count(id) FROM {$tableName} WHERE entity_id = {$contactId}";
-          return CRM_Core_DAO::singleValueQuery($queryString);
+        if (!$tableName) {
+          $custom = explode('_', $type);
+          $tableName = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $custom[1], 'table_name');
         }
+        $queryString = "SELECT count(id) FROM $tableName WHERE entity_id = $contactId";
+        return (int) CRM_Core_DAO::singleValueQuery($queryString);
     }
   }
 
@@ -2846,7 +2840,7 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
         'CRM_Contact_BAO_Contact'
       );
       $emailGreetingString = CRM_Core_DAO::escapeString(CRM_Utils_String::stripSpaces($emailGreetingString));
-      $updateQueryString[] = " email_greeting_display = '{$emailGreetingString}'";
+      $updateQueryString[] = " email_greeting_display = '$emailGreetingString'";
     }
 
     if ($postalGreetingString) {
@@ -2856,7 +2850,7 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
         'CRM_Contact_BAO_Contact'
       );
       $postalGreetingString = CRM_Core_DAO::escapeString(CRM_Utils_String::stripSpaces($postalGreetingString));
-      $updateQueryString[] = " postal_greeting_display = '{$postalGreetingString}'";
+      $updateQueryString[] = " postal_greeting_display = '$postalGreetingString'";
     }
 
     if ($addresseeString) {
@@ -2866,12 +2860,12 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
         'CRM_Contact_BAO_Contact'
       );
       $addresseeString = CRM_Core_DAO::escapeString(CRM_Utils_String::stripSpaces($addresseeString));
-      $updateQueryString[] = " addressee_display = '{$addresseeString}'";
+      $updateQueryString[] = " addressee_display = '$addresseeString'";
     }
 
     if (!empty($updateQueryString)) {
       $updateQueryString = implode(',', $updateQueryString);
-      $queryString = "UPDATE civicrm_contact SET {$updateQueryString} WHERE id = {$contact->id}";
+      $queryString = "UPDATE civicrm_contact SET $updateQueryString WHERE id = {$contact->id}";
       CRM_Core_DAO::executeQuery($queryString);
     }
   }
@@ -3138,7 +3132,7 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
         'class' => 'dashboard',
         // NOTE: As an alternative you can also build url on CMS specific way
         //  as CRM_Core_Config::singleton()->userSystem->getUserRecordUrl($contactId)
-        'href' => CRM_Utils_System::url('civicrm/user', "reset=1&id={$contactId}"),
+        'href' => CRM_Utils_System::url('civicrm/user', "reset=1&id=$contactId"),
         'icon' => 'crm-i fa-tachometer',
       ];
     }
@@ -3274,7 +3268,7 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
     $componentName = $menuOptions['component'] ?? NULL;
 
     // if component action - make sure component is enable.
-    if ($componentName && !in_array($componentName, CRM_Core_Config::singleton()->enableComponents)) {
+    if ($componentName && !CRM_Core_Component::isEnabled($componentName)) {
       return FALSE;
     }
 
@@ -3377,8 +3371,8 @@ LEFT JOIN civicrm_address ON ( civicrm_address.contact_id = civicrm_contact.id )
   /**
    * Get a list of triggers for the contact table.
    *
-   * @param $info
-   * @param null $tableName
+   * @param array $info
+   * @param string|null $tableName
    *
    * @see http://issues.civicrm.org/jira/browse/CRM-10554
    *
@@ -3532,18 +3526,18 @@ LEFT JOIN civicrm_address ON ( civicrm_address.contact_id = civicrm_contact.id )
    */
   private static function getTemplateForGreeting(string $greetingType, CRM_Contact_DAO_Contact $contact): string {
     $customFieldName = $greetingType . '_custom';
-    if (!CRM_Utils_System::isNull($contact->{$customFieldName})) {
-      return $contact->{$customFieldName};
+    if (!CRM_Utils_System::isNull($contact->$customFieldName)) {
+      return $contact->$customFieldName;
     }
     $idField = $greetingType . '_id';
-    if (!is_numeric($contact->{$idField})) {
+    if (!is_numeric($contact->$idField)) {
       return '';
     }
     $filter = [
       'contact_type' => $contact->contact_type,
       'greeting_type' => $greetingType,
     ];
-    return CRM_Core_PseudoConstant::greeting($filter)[$contact->{$idField}] ?? '';
+    return CRM_Core_PseudoConstant::greeting($filter)[$contact->$idField] ?? '';
   }
 
   /**
@@ -3646,7 +3640,7 @@ LEFT JOIN civicrm_address ON ( civicrm_address.contact_id = civicrm_contact.id )
    * @param array $appendProfiles
    *   Name of profile(s) to append to each link.
    *
-   * @return array
+   * @return array|false
    */
   public static function getEntityRefCreateLinks($appendProfiles = []) {
     // You'd think that "create contacts" would be the permission to check,
diff --git a/civicrm/CRM/Contact/BAO/Contact/Location.php b/civicrm/CRM/Contact/BAO/Contact/Location.php
index 497cf97768e9f1e89c6b4f7d93c976d762ad65fd..2e3a0fdb993e95d334895e0e1f94a90d2a13e0d1 100644
--- a/civicrm/CRM/Contact/BAO/Contact/Location.php
+++ b/civicrm/CRM/Contact/BAO/Contact/Location.php
@@ -65,8 +65,7 @@ class CRM_Contact_BAO_Contact_Location {
    *
    * @param int $id
    *   Id of the contact.
-   *
-   * @param null $type
+   * @param string|null $type
    *
    * @return array
    *   tuple of display_name and sms if found, or (null,null)
diff --git a/civicrm/CRM/Contact/BAO/Contact/Permission.php b/civicrm/CRM/Contact/BAO/Contact/Permission.php
index 5143831b6cc2c0c173774965f7b1679f3e7172d5..4c39541e5aae40f890a2b0aa4dca6d60cce65404 100644
--- a/civicrm/CRM/Contact/BAO/Contact/Permission.php
+++ b/civicrm/CRM/Contact/BAO/Contact/Permission.php
@@ -298,7 +298,7 @@ AND    $operationClause
   }
 
   /**
-   * @param string $contactAlias
+   * @param string[]|string $contactAlias
    *
    * @return array
    */
@@ -504,7 +504,7 @@ SELECT second_degree_relationship.contact_id_{$second_direction['to']} AS contac
 
   /**
    * @param bool $checkSumValidationResult
-   * @param null $form
+   * @param CRM_Core_Form|null $form
    */
   public static function initChecksumAuthSrc($checkSumValidationResult = FALSE, $form = NULL) {
     $session = CRM_Core_Session::singleton();
diff --git a/civicrm/CRM/Contact/BAO/Contact/Utils.php b/civicrm/CRM/Contact/BAO/Contact/Utils.php
index 267c811b45b2fbe94ae0d084918996f82cc76a72..16ffcc0cd1012faf7c03b64dbcb72e39a20d8539 100644
--- a/civicrm/CRM/Contact/BAO/Contact/Utils.php
+++ b/civicrm/CRM/Contact/BAO/Contact/Utils.php
@@ -9,6 +9,8 @@
  +--------------------------------------------------------------------+
  */
 
+use Civi\Api4\Contact;
+
 /**
  *
  * @package CRM
@@ -133,12 +135,11 @@ WHERE  id IN ( $idString )
    *   Life of this checksum in hours/ 'inf' for infinite.
    * @param string $hash
    *   Contact hash, if sent, prevents a query in inner loop.
-   *
    * @param string $entityType
-   * @param null $hashSize
+   * @param int|null $hashSize
    *
-   * @return array
-   *   ( $cs, $ts, $live )
+   * @return string
+   *   (Underscore separated: $cs, $ts, $live )
    * @throws \CRM_Core_Exception
    */
   public static function generateChecksum($entityId, $ts = NULL, $live = NULL, $hash = NULL, $entityType = 'contact', $hashSize = NULL) {
@@ -243,70 +244,81 @@ WHERE  id IN ( $idString )
    *
    * @param int $contactID
    *   Contact id of the individual.
-   * @param $organization
+   * @param int|string $employerID
    *   (id or name).
-   * @param int $previousEmployerID
+   * @param int|null $previousEmployerID
    * @param bool $newContact
    *
+   * @throws \API_Exception
    * @throws \CRM_Core_Exception
    * @throws \CiviCRM_API3_Exception
    */
-  public static function createCurrentEmployerRelationship($contactID, $organization, $previousEmployerID = NULL, $newContact = FALSE) {
-    //if organization name is passed. CRM-15368,CRM-15547
-    if (!CRM_Utils_System::isNull($organization) && !is_numeric($organization)) {
-      $dupeIDs = CRM_Contact_BAO_Contact::getDuplicateContacts(['organization_name' => $organization], 'Organization', 'Unsupervised', [], FALSE);
-
-      if (is_array($dupeIDs) && !empty($dupeIDs)) {
-        // we should create relationship only w/ first org CRM-4193
-        foreach ($dupeIDs as $orgId) {
-          $organization = $orgId;
-          break;
-        }
-      }
-      else {
-        //create new organization
-        $newOrg = [
+  public static function createCurrentEmployerRelationship($contactID, $employerID, $previousEmployerID = NULL, $newContact = FALSE) {
+    if (!$employerID) {
+      // This function is not called in core with no organization & should not be
+      // Refs CRM-15368,CRM-15547
+      CRM_Core_Error::deprecatedWarning('calling this function with no organization is deprecated');
+      return;
+    }
+    if (!is_numeric($employerID)) {
+      $dupeIDs = CRM_Contact_BAO_Contact::getDuplicateContacts(['organization_name' => $employerID], 'Organization', 'Unsupervised', [], FALSE);
+      $employerID = reset($dupeIDs) ?: Contact::create(FALSE)
+        ->setValues([
           'contact_type' => 'Organization',
-          'organization_name' => $organization,
-        ];
-        $org = CRM_Contact_BAO_Contact::create($newOrg);
-        $organization = $org->id;
-      }
+          'organization_name' => $employerID,
+        ])->execute()->first()['id'];
     }
 
-    if ($organization && is_numeric($organization)) {
+    $relationshipTypeID = CRM_Contact_BAO_RelationshipType::getEmployeeRelationshipTypeID();
+    if (!CRM_Contact_BAO_Contact::getContactType($contactID) || !CRM_Contact_BAO_Contact::getContactType($employerID)) {
+      // There doesn't seem to be any reason to think this would ever be true but there
+      // was a previous more complicated check.
+      CRM_Core_Error::deprecatedWarning('attempting to create an employer with invalid contact types is deprecated');
+      return;
+    }
+    // create employee of relationship
+    [$duplicate, $relationshipIds]
+      = self::legacyCreateMultiple($relationshipTypeID, $employerID, $contactID);
 
-      // get the relationship type id of "Employee of"
-      $relTypeId = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_RelationshipType', 'Employee of', 'id', 'name_a_b');
-      if (!$relTypeId) {
-        throw new CRM_Core_Exception(ts("You seem to have deleted the relationship type 'Employee of'"));
-      }
+    // In case we change employer, clean previous employer related records.
+    if (!$previousEmployerID && !$newContact) {
+      $previousEmployerID = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Contact', $contactID, 'employer_id');
+    }
+    if ($previousEmployerID &&
+      $previousEmployerID != $employerID
+    ) {
+      self::clearCurrentEmployer($contactID, $previousEmployerID);
+    }
 
-      // create employee of relationship
-      $relationshipParams = [
-        'is_active' => TRUE,
-        'relationship_type_id' => $relTypeId . '_a_b',
-        'contact_check' => [$organization => TRUE],
-      ];
-      [$valid, $invalid, $duplicate, $saved, $relationshipIds]
-        = self::legacyCreateMultiple($relationshipParams, $contactID);
-
-      // In case we change employer, clean previous employer related records.
-      if (!$previousEmployerID && !$newContact) {
-        $previousEmployerID = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Contact', $contactID, 'employer_id');
-      }
-      if ($previousEmployerID &&
-        $previousEmployerID != $organization
-      ) {
-        self::clearCurrentEmployer($contactID, $previousEmployerID);
-      }
+    // set current employer
+    self::setCurrentEmployer([$contactID => $employerID]);
 
-      // set current employer
-      self::setCurrentEmployer([$contactID => $organization]);
+    $ids = [];
+    $action = CRM_Core_Action::ADD;
+
+    //we do not know that triggered relationship record is active.
+    if ($duplicate) {
+      $relationship = new CRM_Contact_DAO_Relationship();
+      $relationship->contact_id_a = $contactID;
+      $relationship->contact_id_b = $employerID;
+      $relationship->relationship_type_id = $relationshipTypeID;
+      if ($relationship->find(TRUE)) {
+        $action = CRM_Core_Action::UPDATE;
+        $ids['contact'] = $contactID;
+        $ids['contactTarget'] = $employerID;
+        $ids['relationship'] = $relationship->id;
+        CRM_Contact_BAO_Relationship::setIsActive($relationship->id, TRUE);
+      }
+    }
 
-      $relationshipParams['relationship_ids'] = $relationshipIds;
-      // Handle related memberships. CRM-3792
-      self::currentEmployerRelatedMembership($contactID, $organization, $relationshipParams, $duplicate, $previousEmployerID);
+    //need to handle related memberships. CRM-3792
+    if ($previousEmployerID != $employerID) {
+      CRM_Contact_BAO_Relationship::relatedMemberships($contactID, [
+        'relationship_ids' => $relationshipIds,
+        'is_active' => 1,
+        'contact_check' => [$employerID => TRUE],
+        'relationship_type_id' => $relationshipTypeID . '_a_b',
+      ], $ids, $action);
     }
   }
 
@@ -319,78 +331,53 @@ WHERE  id IN ( $idString )
    * For multiple a new variant of this function needs to be written and migrated to as this is a bit
    * nasty
    *
-   * @param array $params
-   *   (reference ) an assoc array of name/value pairs.
+   * @param int $relationshipTypeID
+   * @param int $organizationID
    * @param int $contactID
    *
    * @return array
    * @throws \CRM_Core_Exception
    * @throws \CiviCRM_API3_Exception
    */
-  private static function legacyCreateMultiple(&$params, int $contactID) {
-    $valid = $invalid = $duplicate = $saved = 0;
-    $relationships = $relationshipIds = [];
+  private static function legacyCreateMultiple(int $relationshipTypeID, int $organizationID, int $contactID): array {
+    $params = [
+      'is_active' => TRUE,
+      'relationship_type_id' => $relationshipTypeID . '_a_b',
+      'contact_check' => [$organizationID => TRUE],
+    ];
     $ids = ['contact' => $contactID];
-    $relationshipId = NULL;
-
-    //CRM-9015 - the hooks are called here & in add (since add doesn't call create)
-    // but in future should be tidied per ticket
-    $hook = 'create';
-    // @todo pre hook is called from add - remove it from here
-    CRM_Utils_Hook::pre($hook, 'Relationship', $relationshipId, $params);
-
-    if (!$relationshipId) {
-      // creating a new relationship
-      $dataExists = CRM_Contact_BAO_Relationship::dataExists($params);
-      if (!$dataExists) {
-        return [FALSE, TRUE, FALSE, FALSE, NULL];
-      }
-      $relationshipIds = [];
-      foreach ($params['contact_check'] as $key => $value) {
-        // check if the relationship is valid between contacts.
-        // step 1: check if the relationship is valid if not valid skip and keep the count
-        // step 2: check the if two contacts already have a relationship if yes skip and keep the count
-        // step 3: if valid relationship then add the relation and keep the count
-
-        // step 1
-        $contactFields = CRM_Contact_BAO_Relationship::setContactABFromIDs($params, $ids, $key);
-        $errors = CRM_Contact_BAO_Relationship::checkValidRelationship($contactFields, $ids, $key);
-        if ($errors) {
-          $invalid++;
-          continue;
-        }
 
-        //CRM-16978:check duplicate relationship as per case id.
-        if ($caseId = CRM_Utils_Array::value('case_id', $params)) {
-          $contactFields['case_id'] = $caseId;
-        }
-        if (
-          CRM_Contact_BAO_Relationship::checkDuplicateRelationship(
-            $contactFields,
-            CRM_Utils_Array::value('contact', $ids),
-            // step 2
-            $key
-          )
-        ) {
-          $duplicate++;
-          continue;
-        }
+    $relationshipIds = [];
+    // check if the relationship is valid between contacts.
+    // step 1: check if the relationship is valid if not valid skip and keep the count
+    // step 2: check the if two contacts already have a relationship if yes skip and keep the count
+    // step 3: if valid relationship then add the relation and keep the count
+
+    // step 1
+    $contactFields = [
+      'contact_id_a' => $contactID,
+      'contact_id_b' => $organizationID,
+      'relationship_type_id' => $relationshipTypeID,
+    ];
 
-        $singleInstanceParams = array_merge($params, $contactFields);
-        $relationship = CRM_Contact_BAO_Relationship::add($singleInstanceParams);
-        $relationshipIds[] = $relationship->id;
-        $relationships[$relationship->id] = $relationship;
-        $valid++;
-      }
-      // editing the relationship
+    if (
+      CRM_Contact_BAO_Relationship::checkDuplicateRelationship(
+        $contactFields,
+        $contactID,
+        // step 2
+        $organizationID
+      )
+    ) {
+      return [1, []];
     }
 
-    // do not add to recent items for import, CRM-4399
-    if (!(!empty($params['skipRecentView']) || $invalid || $duplicate)) {
-      CRM_Contact_BAO_Relationship::addRecent($params, $relationship);
-    }
+    $singleInstanceParams = array_merge($params, $contactFields);
+    $relationship = CRM_Contact_BAO_Relationship::add($singleInstanceParams);
+    $relationshipIds[] = $relationship->id;
+
+    CRM_Contact_BAO_Relationship::addRecent($params, $relationship);
 
-    return [$valid, $invalid, $duplicate, $saved, $relationshipIds, $relationships];
+    return [0, $relationshipIds];
   }
 
   /**
@@ -405,34 +392,13 @@ WHERE  id IN ( $idString )
    * @param bool $duplicate
    *   Are we triggered existing relationship.
    *
-   * @param int $previousEmpID
+   * @param int $previousEmployerID
    *
    * @throws CiviCRM_API3_Exception
    * @throws \CRM_Core_Exception
    */
-  private static function currentEmployerRelatedMembership($contactID, $employerID, $relationshipParams, $duplicate = FALSE, $previousEmpID = NULL) {
-    $ids = [];
-    $action = CRM_Core_Action::ADD;
-
-    //we do not know that triggered relationship record is active.
-    if ($duplicate) {
-      $relationship = new CRM_Contact_DAO_Relationship();
-      $relationship->contact_id_a = $contactID;
-      $relationship->contact_id_b = $employerID;
-      $relationship->relationship_type_id = $relationshipParams['relationship_type_id'];
-      if ($relationship->find(TRUE)) {
-        $action = CRM_Core_Action::UPDATE;
-        $ids['contact'] = $contactID;
-        $ids['contactTarget'] = $employerID;
-        $ids['relationship'] = $relationship->id;
-        CRM_Contact_BAO_Relationship::setIsActive($relationship->id, TRUE);
-      }
-    }
+  private static function currentEmployerRelatedMembership($contactID, $employerID, $relationshipParams, $duplicate = FALSE, $previousEmployerID = NULL) {
 
-    //need to handle related meberships. CRM-3792
-    if ($previousEmpID != $employerID) {
-      CRM_Contact_BAO_Relationship::relatedMemberships($contactID, $relationshipParams, $ids, $action);
-    }
   }
 
   /**
@@ -482,16 +448,13 @@ WHERE id={$contactId}; ";
 
     $dao = CRM_Core_DAO::executeQuery($query);
 
-    // need to handle related meberships. CRM-3792
+    // need to handle related memberships. CRM-3792
     if ($employerId) {
       //1. disable corresponding relationship.
       //2. delete related membership.
 
       //get the relationship type id of "Employee of"
-      $relTypeId = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_RelationshipType', 'Employee of', 'id', 'name_a_b');
-      if (!$relTypeId) {
-        throw new CRM_Core_Exception(ts("You seem to have deleted the relationship type 'Employee of'"));
-      }
+      $relTypeId = CRM_Contact_BAO_RelationshipType::getEmployeeRelationshipTypeID();
       $relMembershipParams['relationship_type_id'] = $relTypeId . '_a_b';
       $relMembershipParams['contact_check'][$employerId] = 1;
 
@@ -1061,17 +1024,12 @@ INNER JOIN civicrm_contact contact_target ON ( contact_target.id = act.contact_i
     }
 
     if (empty($filterContactFldIds)) {
-      $greetingDetails = [];
-      $filterContactFldIds[] = 0;
-    }
-    else {
-      // we do token replacement in the replaceGreetingTokens hook
-      [$greetingDetails] = CRM_Utils_Token::getTokenDetails(array_keys($filterContactFldIds), $greetingsReturnProperties, FALSE, FALSE);
+      return;
     }
     // perform token replacement and build update SQL
     $contactIds = [];
     $cacheFieldQuery = "UPDATE civicrm_contact SET {$greeting}_display = CASE id ";
-    foreach ($greetingDetails as $contactID => $contactDetails) {
+    foreach (array_keys($filterContactFldIds) as $contactID) {
       if (!$processAll &&
         !array_key_exists($contactID, $filterContactFldIds)
       ) {
@@ -1092,7 +1050,7 @@ INNER JOIN civicrm_contact contact_target ON ( contact_target.id = act.contact_i
         }
       }
 
-      self::processGreetingTemplate($greetingString, $contactDetails, $contactID, 'CRM_UpdateGreeting');
+      self::processGreetingTemplate($greetingString, [], $contactID, 'CRM_UpdateGreeting');
       $greetingString = CRM_Core_DAO::escapeString($greetingString);
       $cacheFieldQuery .= " WHEN {$contactID} THEN '{$greetingString}' ";
 
diff --git a/civicrm/CRM/Contact/BAO/ContactType.php b/civicrm/CRM/Contact/BAO/ContactType.php
index f47c901ba3b7e623279eb3aeb2843534d51308be..39d769660d3335b9f93f245b475d47f8688f3242 100644
--- a/civicrm/CRM/Contact/BAO/ContactType.php
+++ b/civicrm/CRM/Contact/BAO/ContactType.php
@@ -105,7 +105,7 @@ class CRM_Contact_BAO_ContactType extends CRM_Contact_DAO_ContactType implements
   /**
    * Retrieve all subtypes Information.
    *
-   * @param array $contactType
+   * @param string|null $contactType
    * @param bool $all
    *
    * @return array
@@ -130,8 +130,7 @@ class CRM_Contact_BAO_ContactType extends CRM_Contact_DAO_ContactType implements
    *
    *   retrieve all subtypes
    *
-   * @param array $contactType
-   *   ..
+   * @param string|null $contactType
    * @param bool $all
    * @param string $columnName
    * @param bool $ignoreCache
@@ -143,7 +142,7 @@ class CRM_Contact_BAO_ContactType extends CRM_Contact_DAO_ContactType implements
    */
   public static function subTypes($contactType = NULL, $all = FALSE, $columnName = 'name', $ignoreCache = FALSE) {
     if ($columnName === 'name') {
-      return array_keys(self::subTypeInfo($contactType, $all, $ignoreCache));
+      return array_keys(self::subTypeInfo($contactType, $all));
     }
     else {
       return array_values(self::subTypePairs($contactType, FALSE, NULL, $ignoreCache));
@@ -156,14 +155,14 @@ class CRM_Contact_BAO_ContactType extends CRM_Contact_DAO_ContactType implements
    *
    * @param array $contactType
    * @param bool $all
-   * @param string $labelPrefix
+   * @param string|null $labelPrefix
    * @param bool $ignoreCache
    *
    * @return array
    *   list of subtypes with name as 'subtype-name' and 'label' as value
    */
   public static function subTypePairs($contactType = NULL, $all = FALSE, $labelPrefix = '- ', $ignoreCache = FALSE) {
-    $subtypes = self::subTypeInfo($contactType, $all, $ignoreCache);
+    $subtypes = self::subTypeInfo($contactType, $all);
 
     $pairs = [];
     foreach ($subtypes as $name => $info) {
@@ -212,8 +211,8 @@ class CRM_Contact_BAO_ContactType extends CRM_Contact_DAO_ContactType implements
    * Retrieve basic type pairs with name as 'built-in name' and 'label' as value.
    *
    * @param bool $all
-   * @param null $typeName
-   * @param null $delimiter
+   * @param array|string|null $typeName
+   * @param string|null $delimiter
    *
    * @return array|string
    *   Array of basictypes with name as 'built-in name' and 'label' as value
diff --git a/civicrm/CRM/Contact/BAO/Group.php b/civicrm/CRM/Contact/BAO/Group.php
index 9a096e1ec1c6ab24d266cc3ad53d9e5eeec60c91..0342416cffd207e524d79fff15526364e1a40511 100644
--- a/civicrm/CRM/Contact/BAO/Group.php
+++ b/civicrm/CRM/Contact/BAO/Group.php
@@ -18,13 +18,6 @@ use Civi\Api4\Group;
  */
 class CRM_Contact_BAO_Group extends CRM_Contact_DAO_Group {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Retrieve DB object based on input parameters.
    *
@@ -1117,12 +1110,12 @@ WHERE  id IN $groupIdString
    *
    * This is a recursive function filling the $hierarchy parameter.
    *
-   * @param $hierarchy
-   * @param $group
-   * @param $tree
-   * @param $titleOnly
-   * @param $spacer
-   * @param $level
+   * @param array $hierarchy
+   * @param array $group
+   * @param array $tree
+   * @param bool $titleOnly
+   * @param string $spacer
+   * @param int $level
    */
   private static function buildGroupHierarchy(&$hierarchy, $group, $tree, $titleOnly, $spacer, $level) {
     $spaces = str_repeat($spacer, $level);
@@ -1142,7 +1135,7 @@ WHERE  id IN $groupIdString
     // For performance reasons we use a for loop rather than a foreach.
     // Metrics for performance in an installation with 2867 groups a foreach
     // caused the function getGroupsHierarchy with a foreach execution takes
-    // around 2.2 seoonds (2,200 ms).
+    // around 2.2 seconds (2,200 ms).
     // Changing to a for loop execustion takes around 0.02 seconds (20 ms).
     if (isset($tree[$group['id']]) && is_array($tree[$group['id']])) {
       for ($i = 0; $i < count($tree[$group['id']]); $i++) {
diff --git a/civicrm/CRM/Contact/BAO/GroupContact.php b/civicrm/CRM/Contact/BAO/GroupContact.php
index b6219c0badd20be382f4e0d3f689f896037af6bb..c6891ebd3dc68b4a2a0dab1574c9abb9959f1991 100644
--- a/civicrm/CRM/Contact/BAO/GroupContact.php
+++ b/civicrm/CRM/Contact/BAO/GroupContact.php
@@ -16,13 +16,6 @@
  */
 class CRM_Contact_BAO_GroupContact extends CRM_Contact_DAO_GroupContact {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Takes an associative array and creates a groupContact object.
    *
@@ -487,61 +480,20 @@ SELECT    *
   }
 
   /**
-   * Creates / removes contacts from the groups
+   * Deprecated create function.
+   *
+   * @deprecated
    *
    * @param array $params
-   *   Name/value pairs.
-   * @param int $contactId
-   *   Contact id.
-   * @param bool $ignorePermission
-   *   if ignorePermission is true we are coming in via profile mean $method = 'Web'
-   * @param string $method
    *
-   * @return CRM_Contact_BAO_GroupContact|void
+   * @return CRM_Contact_BAO_GroupContact
    */
-  public static function create($params, $contactId, $ignorePermission = FALSE, $method = 'Admin') {
-    if (empty($contactId)) {
-      return self::add($params);
-    }
-
+  public static function create(array $params) {
     // @fixme create was only called from CRM_Contact_BAO_Contact::createProfileContact
-    //   Now it's not called from anywhere so we can remove the below code after some time
-    CRM_Core_Error::deprecatedFunctionWarning('Use the GroupContact API');
+    // As of Aug 2020 it's not called from anywhere so we can remove the below code after some time
 
-    $contactIds = [$contactId];
-    $contactGroup = [];
-
-    if ($contactId) {
-      $contactGroupList = CRM_Contact_BAO_GroupContact::getContactGroup($contactId, 'Added',
-        NULL, FALSE, $ignorePermission
-      );
-      if (is_array($contactGroupList)) {
-        foreach ($contactGroupList as $key) {
-          $groupId = $key['group_id'];
-          $contactGroup[$groupId] = $groupId;
-        }
-      }
-    }
-
-    // get the list of all the groups
-    $allGroup = CRM_Contact_BAO_GroupContact::getGroupList(0, $ignorePermission);
-
-    // this fix is done to prevent warning generated by array_key_exits incase of empty array is given as input
-    if (!is_array($params)) {
-      $params = [];
-    }
-
-    // check which values has to be add/remove contact from group
-    foreach ($allGroup as $key => $varValue) {
-      if (!empty($params[$key]) && !array_key_exists($key, $contactGroup)) {
-        // add contact to group
-        CRM_Contact_BAO_GroupContact::addContactsToGroup($contactIds, $key, $method);
-      }
-      elseif (empty($params[$key]) && array_key_exists($key, $contactGroup)) {
-        // remove contact from group
-        CRM_Contact_BAO_GroupContact::removeContactsFromGroup($contactIds, $key, $method);
-      }
-    }
+    CRM_Core_Error::deprecatedFunctionWarning('Use the GroupContact API');
+    return self::add($params);
   }
 
   /**
diff --git a/civicrm/CRM/Contact/BAO/GroupContactCache.php b/civicrm/CRM/Contact/BAO/GroupContactCache.php
index a393da2d45137d98887d683b4e8531a92d2cdf53..e32acb047c24d72c8613aa8bea0f3d59cc164d8f 100644
--- a/civicrm/CRM/Contact/BAO/GroupContactCache.php
+++ b/civicrm/CRM/Contact/BAO/GroupContactCache.php
@@ -309,7 +309,7 @@ WHERE  id IN ( $groupIDs )
    * Remove one or more contacts from the smart group cache.
    *
    * @param int|array $cid
-   * @param null $groupId
+   * @param int|null $groupId
    *
    * @return bool
    *   TRUE if successful.
diff --git a/civicrm/CRM/Contact/BAO/GroupOrganization.php b/civicrm/CRM/Contact/BAO/GroupOrganization.php
index 371c51bf73293ecf8cebc5f1df96ab77d6866ed3..87c45ab19665751d7c2cb371fd7e8e8912c4123c 100644
--- a/civicrm/CRM/Contact/BAO/GroupOrganization.php
+++ b/civicrm/CRM/Contact/BAO/GroupOrganization.php
@@ -16,13 +16,6 @@
  */
 class CRM_Contact_BAO_GroupOrganization extends CRM_Contact_DAO_GroupOrganization {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Takes an associative array and creates a groupOrganization object.
    *
@@ -68,7 +61,7 @@ class CRM_Contact_BAO_GroupOrganization extends CRM_Contact_DAO_GroupOrganizatio
 
   /**
    * @param int $groupID
-   * @param $defaults
+   * @param array $defaults
    */
   public static function retrieve($groupID, &$defaults) {
     $dao = new CRM_Contact_DAO_GroupOrganization();
diff --git a/civicrm/CRM/Contact/BAO/Household.php b/civicrm/CRM/Contact/BAO/Household.php
index c3683d4b326a088dd971142857b58f559acd80b9..217db2ad8e6c4bf8b50129feb57d63807a82a3f6 100644
--- a/civicrm/CRM/Contact/BAO/Household.php
+++ b/civicrm/CRM/Contact/BAO/Household.php
@@ -16,13 +16,6 @@
  */
 class CRM_Contact_BAO_Household extends CRM_Contact_DAO_Contact {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Update the household with primary contact id.
    *
diff --git a/civicrm/CRM/Contact/BAO/ProximityQuery.php b/civicrm/CRM/Contact/BAO/ProximityQuery.php
index 8119557cd02ebe6e5ee7459512192112c7264b87..b864f1eae0e584ed9dd86d26c9d6e73e1c0a3853 100644
--- a/civicrm/CRM/Contact/BAO/ProximityQuery.php
+++ b/civicrm/CRM/Contact/BAO/ProximityQuery.php
@@ -35,11 +35,23 @@ class CRM_Contact_BAO_ProximityQuery {
    */
 
   /**
-   * @var string
+   * @var float
    */
   static protected $_earthFlattening;
+
+  /**
+   * @var float
+   */
   static protected $_earthRadiusSemiMinor;
+
+  /**
+   * @var float
+   */
   static protected $_earthRadiusSemiMajor;
+
+  /**
+   * @var float
+   */
   static protected $_earthEccentricitySQ;
 
   public static function initialize() {
@@ -353,9 +365,8 @@ ACOS(
 
   /**
    * @param array $input
-   * retun void
    *
-   * @return null
+   * @return void
    */
   public static function fixInputParams(&$input) {
     foreach ($input as $param) {
@@ -378,7 +389,6 @@ ACOS(
             }
           }
         }
-        return NULL;
       }
     }
   }
diff --git a/civicrm/CRM/Contact/BAO/Query.php b/civicrm/CRM/Contact/BAO/Query.php
index 09281671fc6dae428c8156b3801c0249090c2302..e9fda0f665603aecf1e0b9c457dc100c9fad3477 100644
--- a/civicrm/CRM/Contact/BAO/Query.php
+++ b/civicrm/CRM/Contact/BAO/Query.php
@@ -581,7 +581,11 @@ class CRM_Contact_BAO_Query {
     }
     if (isset($component) && !$this->_skipPermission) {
       // Unit test coverage in api_v3_FinancialTypeACLTest::testGetACLContribution.
-      CRM_Financial_BAO_FinancialType::buildPermissionedClause($this->_whereClause, $component);
+      $clauses = CRM_Financial_BAO_FinancialType::buildPermissionedClause($component);
+      if (!empty($this->_whereClause) && !empty($clauses)) {
+        $this->_whereClause .= ' AND ';
+      }
+      $this->_whereClause .= $clauses;
     }
 
     $this->_fromClause = self::fromClause($this->_tables, NULL, NULL, $this->_primaryLocation, $this->_mode, $apiEntity);
@@ -2038,7 +2042,7 @@ class CRM_Contact_BAO_Query {
    * @return string
    * @throws \CRM_Core_Exception
    */
-  public function whereClause($isForcePrimaryEmailOnly = NULL) {
+  public function whereClause($isForcePrimaryEmailOnly = NULL): string {
     $this->_where[0] = [];
     $this->_qill[0] = [];
 
@@ -2539,7 +2543,7 @@ class CRM_Contact_BAO_Query {
    *   Search on primary location. See note below.
    * @param int $mode
    *   Determines search mode based on bitwise MODE_* constants.
-   * @param string|NULL $apiEntity
+   * @param string|null $apiEntity
    *   Determines search mode based on entity by string.
    *
    * The $primaryLocation flag only seems to be used when
@@ -4869,16 +4873,15 @@ civicrm_relationship.start_date > {$today}
   }
 
   /**
-   * Include Select columns in groupBy clause.
+   * Include select columns in groupBy clause.
    *
    * @param array $selectClauses
-   * @param array $groupBy - Columns already included in GROUP By clause.
+   * @param array|string|null $groupBy - Columns already included in GROUP By clause.
    *
    * @return string
    */
   public static function getGroupByFromSelectColumns($selectClauses, $groupBy = NULL) {
     $groupBy = (array) $groupBy;
-    $mysqlVersion = CRM_Core_DAO::singleValueQuery('SELECT VERSION()');
     $sqlMode = CRM_Core_DAO::singleValueQuery('SELECT @@sql_mode');
 
     //return if ONLY_FULL_GROUP_BY is not enabled.
@@ -4948,7 +4951,7 @@ civicrm_relationship.start_date > {$today}
    *
    * @param bool $skipOrderAndLimit
    *
-   * @return CRM_Core_DAO
+   * @return string|null|CRM_Core_DAO
    */
   public function searchQuery(
     $offset = 0, $rowCount = 0, $sort = NULL,
@@ -5700,7 +5703,6 @@ civicrm_relationship.start_date > {$today}
       ts('Activities') => 'civicrm_activity',
       ts('Pledges') => 'civicrm_pledge',
       ts('Cases') => 'civicrm_case',
-      ts('Grants') => 'civicrm_grant',
       ts('Address Fields') => 'civicrm_address',
       ts('Notes') => 'civicrm_note',
       ts('Change Log') => 'civicrm_log',
diff --git a/civicrm/CRM/Contact/BAO/Query/Hook.php b/civicrm/CRM/Contact/BAO/Query/Hook.php
index 9b9493c782bc7d5b3bea6ceea3ead20cbb9ed8a6..ae6ee974a3730c9309caef4b4537030aad3da14e 100644
--- a/civicrm/CRM/Contact/BAO/Query/Hook.php
+++ b/civicrm/CRM/Contact/BAO/Query/Hook.php
@@ -43,8 +43,7 @@ class CRM_Contact_BAO_Query_Hook {
   /**
    * Get or build the list of search objects (via hook).
    *
-   * @return array
-   *   Array of CRM_Contact_BAO_Query_Interface objects
+   * @return CRM_Contact_BAO_Query_Interface[]
    */
   public function getSearchQueryObjects() {
     if ($this->_queryObjects === NULL) {
@@ -150,4 +149,18 @@ class CRM_Contact_BAO_Query_Hook {
     }
   }
 
+  /**
+   * @param $mode
+   * @return array|null
+   */
+  public function getDefaultReturnProperties($mode) {
+    foreach (self::getSearchQueryObjects() as $obj) {
+      $properties = $obj::defaultReturnProperties($mode);
+      if ($properties) {
+        return $properties;
+      }
+    }
+    return NULL;
+  }
+
 }
diff --git a/civicrm/CRM/Contact/BAO/Query/Interface.php b/civicrm/CRM/Contact/BAO/Query/Interface.php
index 4e34cdd4499204e95c964ef8d93d295dd8a224c5..2aa1ba29e8d1e162f390cba0861ae83f82a68778 100644
--- a/civicrm/CRM/Contact/BAO/Query/Interface.php
+++ b/civicrm/CRM/Contact/BAO/Query/Interface.php
@@ -29,42 +29,30 @@ abstract class CRM_Contact_BAO_Query_Interface {
    *
    * @return mixed
    */
-  abstract public function from($fieldName, $mode, $side);
+  abstract public static function from($fieldName, $mode, $side);
 
   /**
    * @param $query
-   *
-   * @return null
    */
-  public function select(&$query) {
-    return NULL;
+  public static function select(&$query) {
   }
 
   /**
    * @param $query
-   *
-   * @return null
    */
-  public function where(&$query) {
-    return NULL;
+  public static function where(&$query) {
   }
 
   /**
    * @param $tables
-   *
-   * @return null
    */
   public function setTableDependency(&$tables) {
-    return NULL;
   }
 
   /**
    * @param $panes
-   *
-   * @return null
    */
   public function registerAdvancedSearchPane(&$panes) {
-    return NULL;
   }
 
   /**
@@ -105,4 +93,13 @@ abstract class CRM_Contact_BAO_Query_Interface {
   public function alterSearchBuilderOptions(&$apiEntities, &$fieldOptions) {
   }
 
+  /**
+   * @param $mode
+   * @param $includeCustomFields
+   * @return array|null
+   */
+  public static function defaultReturnProperties($mode) {
+    return NULL;
+  }
+
 }
diff --git a/civicrm/CRM/Contact/BAO/Relationship.php b/civicrm/CRM/Contact/BAO/Relationship.php
index 226d0c0940b874c1e4233af3e3c6b866cba1b7d2..3294f08471f2816669712c00be64465fb1806a4c 100644
--- a/civicrm/CRM/Contact/BAO/Relationship.php
+++ b/civicrm/CRM/Contact/BAO/Relationship.php
@@ -55,7 +55,8 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship {
       throw new CRM_Core_Exception('Duplicate Relationship');
     }
     $params = $extendedParams;
-    if (self::checkValidRelationship($params, $params, 0)) {
+    if (!CRM_Contact_BAO_Relationship::checkRelationshipType($params['contact_id_a'], $params['contact_id_b'],
+      $params['relationship_type_id'])) {
       throw new CRM_Core_Exception('Invalid Relationship');
     }
     $relationship = self::add($params);
@@ -162,112 +163,61 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship {
    * @return array
    * @throws \CRM_Core_Exception
    */
-  public static function legacyCreateMultiple(&$params, $ids = []) {
-    $valid = $invalid = $duplicate = $saved = 0;
-    $relationships = $relationshipIds = [];
-    $relationshipId = CRM_Utils_Array::value('relationship', $ids, CRM_Utils_Array::value('id', $params));
-
-    //CRM-9015 - the hooks are called here & in add (since add doesn't call create)
-    // but in future should be tidied per ticket
-    if (empty($relationshipId)) {
-      $hook = 'create';
-    }
-    else {
-      $hook = 'edit';
-    }
-
-    // @todo pre hook is called from add - remove it from here
-    CRM_Utils_Hook::pre($hook, 'Relationship', $relationshipId, $params);
-
-    if (!$relationshipId) {
-      // creating a new relationship
-      $dataExists = self::dataExists($params);
-      if (!$dataExists) {
-        return [FALSE, TRUE, FALSE, FALSE, NULL];
-      }
-      $relationshipIds = [];
-      foreach ($params['contact_check'] as $key => $value) {
-        // check if the relationship is valid between contacts.
-        // step 1: check if the relationship is valid if not valid skip and keep the count
-        // step 2: check the if two contacts already have a relationship if yes skip and keep the count
-        // step 3: if valid relationship then add the relation and keep the count
-
-        // step 1
-        $contactFields = self::setContactABFromIDs($params, $ids, $key);
-        $errors = self::checkValidRelationship($contactFields, $ids, $key);
-        if ($errors) {
-          $invalid++;
-          continue;
-        }
-
-        //CRM-16978:check duplicate relationship as per case id.
-        if ($caseId = CRM_Utils_Array::value('case_id', $params)) {
-          $contactFields['case_id'] = $caseId;
-        }
-        if (
-        self::checkDuplicateRelationship(
-          $contactFields,
-          CRM_Utils_Array::value('contact', $ids),
-          // step 2
-          $key
-        )
-        ) {
-          $duplicate++;
-          continue;
-        }
-
-        $singleInstanceParams = array_merge($params, $contactFields);
-        $relationship = self::add($singleInstanceParams);
-        $relationshipIds[] = $relationship->id;
-        $relationships[$relationship->id] = $relationship;
-        $valid++;
-      }
-      // editing the relationship
+  public static function legacyCreateMultiple($params, $ids = []) {
+    CRM_Core_Error::deprecatedFunctionWarning('api v4');
+    // clarify that the only key ever pass in the ids array is 'contact'
+    // There is legacy handling for other keys but a universe search on
+    // calls to this function (not supported to be called from outside core)
+    // only returns 2 calls - one in CRM_Contact_Import_Parser_Contact
+    // and the other in jma grant applications (CRM_Grant_Form_Grant_Confirm)
+    // both only pass in contact as a key here.
+    $contactID = $ids['contact'];
+    unset($ids);
+    // There is only ever one value passed in from the 2 places above that call
+    // this - by clarifying here like this we can cleanup within this
+    // function without having to do more universe searches.
+    $relatedContactID = key($params['contact_check']);
+
+    // check if the relationship is valid between contacts.
+    // step 1: check if the relationship is valid if not valid skip and keep the count
+    // step 2: check the if two contacts already have a relationship if yes skip and keep the count
+    // step 3: if valid relationship then add the relation and keep the count
+
+    // step 1
+    [$contactFields['relationship_type_id'], $firstLetter, $secondLetter] = explode('_', $params['relationship_type_id']);
+    $contactFields['contact_id_' . $firstLetter] = $contactID;
+    $contactFields['contact_id_' . $secondLetter] = $relatedContactID;
+    if (!CRM_Contact_BAO_Relationship::checkRelationshipType($contactFields['contact_id_a'], $contactFields['contact_id_b'],
+      $contactFields['relationship_type_id'])) {
+      return [0, 0];
+    }
+
+    //CRM-16978:check duplicate relationship as per case id.
+    // https://issues.civicrm.org/jira/browse/CRM-16978
+    if ($caseId = CRM_Utils_Array::value('case_id', $params)) {
+      CRM_Core_Error::deprecatedWarning('this code is believed to be unreachable');
+      $contactFields['case_id'] = $caseId;
+    }
+    if (
+    self::checkDuplicateRelationship(
+      $contactFields,
+      $contactID,
+      // step 2
+      $relatedContactID
+    )
+    ) {
+      return [0, 1];
     }
-    else {
-      // check for duplicate relationship
-      // @todo this code doesn't cope well with updates - causes e-Notices.
-      // API has a lot of code to work around
-      // this but should review this code & remove the extra handling from the api
-      // it seems doubtful any of this is relevant if the contact fields & relationship
-      // type fields are not set
-      if (
-      self::checkDuplicateRelationship(
-        $params,
-        CRM_Utils_Array::value('contact', $ids),
-        $ids['contactTarget'],
-        $relationshipId
-      )
-      ) {
-        $duplicate++;
-        return [$valid, $invalid, $duplicate, $saved, NULL];
-      }
 
-      $validContacts = TRUE;
-      //validate contacts in update mode also.
-      $contactFields = self::setContactABFromIDs($params, $ids, $ids['contactTarget']);
-      if (!empty($ids['contact']) && !empty($ids['contactTarget'])) {
-        if (self::checkValidRelationship($contactFields, $ids, $ids['contactTarget'])) {
-          $validContacts = FALSE;
-          $invalid++;
-        }
-      }
-      if ($validContacts) {
-        // editing an existing relationship
-        $singleInstanceParams = array_merge($params, $contactFields);
-        $relationship = self::add($singleInstanceParams, $ids, $ids['contactTarget']);
-        $relationshipIds[] = $relationship->id;
-        $relationships[$relationship->id] = $relationship;
-        $saved++;
-      }
-    }
+    $singleInstanceParams = array_merge($params, $contactFields);
+    $relationship = self::add($singleInstanceParams);
 
     // do not add to recent items for import, CRM-4399
-    if (!(!empty($params['skipRecentView']) || $invalid || $duplicate)) {
+    if (empty($params['skipRecentView'])) {
       self::addRecent($params, $relationship);
     }
 
-    return [$valid, $invalid, $duplicate, $saved, $relationshipIds, $relationships];
+    return [1, 0];
   }
 
   /**
@@ -277,14 +227,12 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship {
    *   Array of name/value pairs.
    * @param array $ids
    *   The array that holds all the db ids.
-   * @param int $contactId
-   *   This is contact id for adding relationship.
    *
    * @return CRM_Contact_BAO_Relationship
    *
    * @throws \CiviCRM_API3_Exception
    */
-  public static function add($params, $ids = [], $contactId = NULL) {
+  public static function add($params, $ids = []) {
     $params['id'] = CRM_Utils_Array::value('relationship', $ids, CRM_Utils_Array::value('id', $params));
 
     $hook = 'create';
@@ -459,46 +407,6 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship {
     return $params;
   }
 
-  /**
-   * Resolve passed in contact IDs to contact_id_a & contact_id_b.
-   *
-   * @param array $params
-   * @param array $ids
-   * @param null $contactID
-   *
-   * @return array
-   * @throws \CRM_Core_Exception
-   */
-  public static function setContactABFromIDs($params, $ids = [], $contactID = NULL) {
-    $returnFields = [];
-
-    // $ids['contact'] is deprecated but comes from legacyCreateMultiple function.
-    if (empty($ids['contact'])) {
-      if (!empty($params['id'])) {
-        return self::loadExistingRelationshipDetails($params);
-      }
-      throw new CRM_Core_Exception('Cannot create relationship, insufficient contact IDs provided');
-    }
-    if (isset($params['relationship_type_id']) && !is_numeric($params['relationship_type_id'])) {
-      $relationshipTypes = $params['relationship_type_id'] ?? NULL;
-      list($relationshipTypeID, $first) = explode('_', $relationshipTypes);
-      $returnFields['relationship_type_id'] = $relationshipTypeID;
-
-      foreach (['a', 'b'] as $contactLetter) {
-        if (empty($params['contact_' . $contactLetter])) {
-          if ($first == $contactLetter) {
-            $returnFields['contact_id_' . $contactLetter] = $ids['contact'] ?? NULL;
-          }
-          else {
-            $returnFields['contact_id_' . $contactLetter] = $contactID;
-          }
-        }
-      }
-    }
-
-    return $returnFields;
-  }
-
   /**
    * Specify defaults for creating a relationship.
    *
@@ -522,9 +430,11 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship {
    *
    * @param array $params
    *
+   * @deprecated
    * @return bool
    */
   public static function dataExists($params) {
+    CRM_Core_Error::deprecatedFunctionWarning('obsolete');
     return (isset($params['contact_check']) && is_array($params['contact_check']));
   }
 
@@ -694,12 +604,7 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship {
         $sharedContact->id = $relationship->contact_id_a;
         $sharedContact->find(TRUE);
 
-        // CRM-15881 UPDATES
-        // changed FROM "...relationship->relationship_type_id == 4..." TO "...relationship->relationship_type_id == 5..."
-        // As the system should be looking for type "employer of" (id 5) and not "sibling of" (id 4)
-        // As suggested by @davecivicrm, the employee relationship type id is fetched using the CRM_Core_DAO::getFieldValue() class and method, since these ids differ from system to system.
-        $employerRelTypeId = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_RelationshipType', 'Employee of', 'id', 'name_a_b');
-
+        $employerRelTypeId = CRM_Contact_BAO_RelationshipType::getEmployeeRelationshipTypeID();
         if ($relationship->relationship_type_id == $employerRelTypeId && $relationship->contact_id_b == $sharedContact->employer_id) {
           CRM_Contact_BAO_Contact_Utils::clearCurrentEmployer($relationship->contact_id_a);
         }
@@ -895,10 +800,13 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship {
    * @param int $contactId
    *   This is contact id for adding relationship.
    *
+   * @deprecated
+   *
    * @return string
    */
   public static function checkValidRelationship($params, $ids, $contactId) {
     $errors = '';
+    CRM_Core_Error::deprecatedFunctionWarning('no alternative');
     // function to check if the relationship selected is correct
     // i.e. employer relationship can exit between Individual and Organization (not between Individual and Individual)
     if (!CRM_Contact_BAO_Relationship::checkRelationshipType($params['contact_id_a'], $params['contact_id_b'],
@@ -912,7 +820,7 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship {
    * This function checks for duplicate relationship.
    *
    * @param array $params
-   *   (reference ) an assoc array of name/value pairs.
+   *   An assoc array of name/value pairs.
    * @param int $id
    *   This the id of the contact whom we are adding relationship.
    * @param int $contactId
@@ -923,7 +831,7 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship {
    * @return bool
    *   true if record exists else false
    */
-  public static function checkDuplicateRelationship(&$params, $id, $contactId = 0, $relationshipId = 0) {
+  public static function checkDuplicateRelationship($params, $id, $contactId = 0, $relationshipId = 0) {
     $relationshipTypeId = $params['relationship_type_id'] ?? NULL;
     list($type) = explode('_', $relationshipTypeId);
 
@@ -967,18 +875,18 @@ WHERE  relationship_type_id = " . CRM_Utils_Type::escape($type, 'Integer');
     }
 
     $queryString .=
-      " AND ( ( contact_id_a = " . CRM_Utils_Type::escape($id, 'Integer') .
-      " AND contact_id_b = " . CRM_Utils_Type::escape($contactId, 'Integer') .
-      " ) OR ( contact_id_a = " . CRM_Utils_Type::escape($contactId, 'Integer') .
-      " AND contact_id_b = " . CRM_Utils_Type::escape($id, 'Integer') . " ) ) ";
+      ' AND ( ( contact_id_a = ' . CRM_Utils_Type::escape($id, 'Integer') .
+      ' AND contact_id_b = ' . CRM_Utils_Type::escape($contactId, 'Integer') .
+      ' ) OR ( contact_id_a = ' . CRM_Utils_Type::escape($contactId, 'Integer') .
+      ' AND contact_id_b = ' . CRM_Utils_Type::escape($id, 'Integer') . " ) ) ";
 
     //if caseId is provided, include it duplicate checking.
     if ($caseId = CRM_Utils_Array::value('case_id', $params)) {
-      $queryString .= " AND case_id = " . CRM_Utils_Type::escape($caseId, 'Integer');
+      $queryString .= ' AND case_id = ' . CRM_Utils_Type::escape($caseId, 'Integer');
     }
 
     if ($relationshipId) {
-      $queryString .= " AND id !=" . CRM_Utils_Type::escape($relationshipId, 'Integer');
+      $queryString .= ' AND id !=' . CRM_Utils_Type::escape($relationshipId, 'Integer');
     }
 
     $relationship = CRM_Core_DAO::executeQuery($queryString);
@@ -1794,7 +1702,7 @@ contact_id_a IN ( %1 ) OR contact_id_b IN ( %1 ) AND id IN (" . implode(',', $re
   /**
    * Get Current Employer for Contact.
    *
-   * @param $contactIds
+   * @param array $contactIds
    *   Contact Ids.
    *
    * @return array
@@ -1954,7 +1862,7 @@ AND cc.sort_name LIKE '%$name%'";
    *
    * @param array $params
    *   Api input array.
-   * @param null $direction
+   * @param string $direction
    *
    * @return array|void
    * @throws \CiviCRM_API3_Exception
@@ -2279,7 +2187,7 @@ AND cc.sort_name LIKE '%$name%'";
   /**
    * Is the inherited relationship invalidated by this relationship change.
    *
-   * @param $membershipValues
+   * @param array $membershipValues
    * @param array $values
    * @param int $cid
    *
diff --git a/civicrm/CRM/Contact/BAO/RelationshipType.php b/civicrm/CRM/Contact/BAO/RelationshipType.php
index 8a12e55bb4a6a7d6d9c0f339e42dd2ed0b740c8f..17e38025c008225d71ff2f4c617ec67658d360f8 100644
--- a/civicrm/CRM/Contact/BAO/RelationshipType.php
+++ b/civicrm/CRM/Contact/BAO/RelationshipType.php
@@ -9,6 +9,10 @@
  +--------------------------------------------------------------------+
  */
 
+use Civi\Api4\Relationship;
+use Civi\Api4\RelationshipType;
+use Civi\Core\Event\PreEvent;
+
 /**
  *
  * @package CRM
@@ -16,13 +20,6 @@
  */
 class CRM_Contact_BAO_RelationshipType extends CRM_Contact_DAO_RelationshipType implements \Civi\Test\HookInterface {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -115,16 +112,46 @@ class CRM_Contact_BAO_RelationshipType extends CRM_Contact_DAO_RelationshipType
 
   /**
    * Callback for hook_civicrm_pre().
+   *
    * @param \Civi\Core\Event\PreEvent $event
-   * @throws CRM_Core_Exception
+   *
+   * @throws \API_Exception
+   * @throws \Civi\API\Exception\UnauthorizedException
    */
-  public static function self_hook_civicrm_pre(\Civi\Core\Event\PreEvent $event) {
+  public static function self_hook_civicrm_pre(PreEvent $event): void {
     if ($event->action === 'delete') {
       // need to delete all option value field before deleting group
-      \Civi\Api4\Relationship::delete(FALSE)
+      Relationship::delete(FALSE)
         ->addWhere('relationship_type_id', '=', $event->id)
         ->execute();
     }
   }
 
+  /**
+   * Get the id of the employee relationship, checking it is valid.
+   *
+   * @return int|string
+   *
+   * @throws \CRM_Core_Exception
+   */
+  public static function getEmployeeRelationshipTypeID(): int {
+    try {
+      if (!Civi::cache('metadata')->has(__CLASS__ . __FUNCTION__)) {
+        $relationship = RelationshipType::get(FALSE)
+          ->addWhere('name_a_b', '=', 'Employee of')
+          ->addWhere('contact_type_a', '=', 'Individual')
+          ->addWhere('contact_type_b', '=', 'Organization')
+          ->addSelect('id')->execute()->first();
+        if (empty($relationship)) {
+          throw new API_Exception('no valid relationship');
+        }
+        Civi::cache('metadata')->set(__CLASS__ . __FUNCTION__, $relationship['id']);
+      }
+    }
+    catch (API_Exception $e) {
+      throw new CRM_Core_Exception(ts("You seem to have deleted the relationship type 'Employee of'"));
+    }
+    return Civi::cache('metadata')->get(__CLASS__ . __FUNCTION__);
+  }
+
 }
diff --git a/civicrm/CRM/Contact/BAO/SavedSearch.php b/civicrm/CRM/Contact/BAO/SavedSearch.php
index f430ccc84f38bdcd3c9905357055ae97477e059b..cd45672464f19273cb53554a8e4ac5e6869c0dfb 100644
--- a/civicrm/CRM/Contact/BAO/SavedSearch.php
+++ b/civicrm/CRM/Contact/BAO/SavedSearch.php
@@ -20,30 +20,6 @@
  */
 class CRM_Contact_BAO_SavedSearch extends CRM_Contact_DAO_SavedSearch {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
-  /**
-   * Query the db for all saved searches.
-   *
-   * @return array
-   *   contains the search name as value and and id as key
-   */
-  public function getAll() {
-    $savedSearch = new CRM_Contact_DAO_SavedSearch();
-    $savedSearch->selectAdd();
-    $savedSearch->selectAdd('id, name');
-    $savedSearch->find();
-    while ($savedSearch->fetch()) {
-      $aSavedSearch[$savedSearch->id] = $savedSearch->name;
-    }
-    return $aSavedSearch;
-  }
-
   /**
    * Retrieve DB object based on input parameters.
    *
@@ -281,57 +257,16 @@ WHERE  $where";
   }
 
   /**
-   * Get from where email (whatever that means!).
+   * Deprecated function, gets a value from Group entity
    *
+   * @deprecated
    * @param int $id
-   *
-   * @return array
-   */
-  public static function fromWhereEmail($id) {
-    $params = self::getSearchParams($id);
-
-    if ($params) {
-      if (!empty($params['customSearchID'])) {
-        return CRM_Contact_BAO_SearchCustom::fromWhereEmail(NULL, $id);
-      }
-      else {
-        $tables = $whereTables = ['civicrm_contact' => 1, 'civicrm_email' => 1];
-        $where = CRM_Contact_BAO_SavedSearch::whereClause($id, $tables, $whereTables);
-        $from = CRM_Contact_BAO_Query::fromClause($whereTables);
-        return [$from, $where];
-      }
-    }
-    else {
-      // fix for CRM-7240
-      $from = "
-FROM      civicrm_contact contact_a
-LEFT JOIN civicrm_email ON (contact_a.id = civicrm_email.contact_id AND civicrm_email.is_primary = 1)
-";
-      $where = " ( 1 ) ";
-      $tables['civicrm_contact'] = $whereTables['civicrm_contact'] = 1;
-      $tables['civicrm_email'] = $whereTables['civicrm_email'] = 1;
-      return [$from, $where];
-    }
-  }
-
-  /**
-   * Given an id, get the name of the saved search.
-   *
-   * @param int $id
-   *   The id of the saved search.
-   *
    * @param string $value
    *
-   * @return string
-   *   the name of the saved search
+   * @return string|null
    */
   public static function getName($id, $value = 'name') {
-    $group = new CRM_Contact_DAO_Group();
-    $group->saved_search_id = $id;
-    if ($group->find(TRUE)) {
-      return $group->$value;
-    }
-    return NULL;
+    return parent::getFieldValue('CRM_Contact_DAO_Group', $id, $value, 'saved_search_id');
   }
 
   /**
@@ -342,19 +277,6 @@ LEFT JOIN civicrm_email ON (contact_a.id = civicrm_email.contact_id AND civicrm_
    * @return \CRM_Contact_DAO_SavedSearch
    */
   public static function create(&$params) {
-    // Auto-create unique name from label if supplied
-    if (empty($params['id']) && empty($params['name']) && !empty($params['label'])) {
-      $name = CRM_Utils_String::munge($params['label']);
-      $existing = Civi\Api4\SavedSearch::get(FALSE)
-        ->addWhere('name', 'LIKE', $name . '%')
-        ->addSelect('name')
-        ->execute()->column('name');
-      $suffix = '';
-      while (in_array($name . $suffix, $existing)) {
-        $suffix = '_' . (1 + str_replace('_', '', $suffix));
-      }
-      $params['name'] = $name . $suffix;
-    }
     $loggedInContactID = CRM_Core_Session::getLoggedInContactID();
     if ($loggedInContactID) {
       if (empty($params['id'])) {
diff --git a/civicrm/CRM/Contact/BAO/SearchCustom.php b/civicrm/CRM/Contact/BAO/SearchCustom.php
index 5e4ea3174ba798ebfc8bb7c4b3de65acb95e5d50..8d913e4eaca21e09c37c03012bbef4924e5bfeea 100644
--- a/civicrm/CRM/Contact/BAO/SearchCustom.php
+++ b/civicrm/CRM/Contact/BAO/SearchCustom.php
@@ -114,7 +114,7 @@ class CRM_Contact_BAO_SearchCustom {
   }
 
   /**
-   * @param $args
+   * @param string $args
    *
    * @return array
    */
@@ -132,19 +132,4 @@ class CRM_Contact_BAO_SearchCustom {
     return $formValues;
   }
 
-  /**
-   * @param int $csID
-   * @param int $ssID
-   *
-   * @return array
-   */
-  public static function fromWhereEmail($csID, $ssID) {
-    $customClass = self::customClass($csID, $ssID);
-
-    $from = $customClass->from();
-    $where = $customClass->where();
-
-    return [$from, $where];
-  }
-
 }
diff --git a/civicrm/CRM/Contact/BAO/SubscriptionHistory.php b/civicrm/CRM/Contact/BAO/SubscriptionHistory.php
index 5c3485a39e7773168e6157f1b7901607af1a2207..ec8a74cde3bfa11c9fd93f79d3aa66d663a51b86 100644
--- a/civicrm/CRM/Contact/BAO/SubscriptionHistory.php
+++ b/civicrm/CRM/Contact/BAO/SubscriptionHistory.php
@@ -20,13 +20,6 @@
  */
 class CRM_Contact_BAO_SubscriptionHistory extends CRM_Contact_DAO_SubscriptionHistory {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Create a new subscription history record.
    *
diff --git a/civicrm/CRM/Contact/DAO/ACLContactCache.php b/civicrm/CRM/Contact/DAO/ACLContactCache.php
index 50bdac46fbba21f3efc234e63a0af4bb8cc4f588..f477d8fe358afd37283d6b6acf1b01890c9e8e2a 100644
--- a/civicrm/CRM/Contact/DAO/ACLContactCache.php
+++ b/civicrm/CRM/Contact/DAO/ACLContactCache.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/ACLContactCache.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:912d65e10ee9243dfa3cbe089e2a4ae3)
+ * (GenCodeChecksum:b9913f6181f2b09c71b99f8c41d65c1b)
  */
 
 /**
@@ -33,21 +33,27 @@ class CRM_Contact_DAO_ACLContactCache extends CRM_Core_DAO {
   /**
    * primary key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to civicrm_contact (could be null for anon user)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $user_id;
 
   /**
    * FK to civicrm_contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
@@ -55,6 +61,8 @@ class CRM_Contact_DAO_ACLContactCache extends CRM_Core_DAO {
    * What operation does this user have permission on?
    *
    * @var string
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $operation;
 
diff --git a/civicrm/CRM/Contact/DAO/Contact.php b/civicrm/CRM/Contact/DAO/Contact.php
index a6bb970eea2c8e222e4150a8f8613550c9c63fba..3270f8789b17913f231a7a0d19621ea56d8ec32f 100644
--- a/civicrm/CRM/Contact/DAO/Contact.php
+++ b/civicrm/CRM/Contact/DAO/Contact.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/Contact.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:5a410e3dd35c4d4b66fdeeacf1cfd971)
+ * (GenCodeChecksum:1ed20aff22fc1effbd05ea8411e48139)
  */
 
 /**
@@ -59,350 +59,454 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
   /**
    * Unique Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Type of Contact.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_type;
 
   /**
    * May be used to over-ride contact view and edit templates.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_sub_type;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $do_not_email;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $do_not_phone;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $do_not_mail;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $do_not_sms;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $do_not_trade;
 
   /**
    * Has the contact opted out from receiving all bulk email from the organization or site domain?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_opt_out;
 
   /**
    * May be used for SSN, EIN/TIN, Household ID (census) or other applicable unique legal/government ID.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $legal_identifier;
 
   /**
    * Unique trusted external ID (generally from a legacy app/datasource). Particularly useful for deduping operations.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $external_identifier;
 
   /**
    * Name used for sorting different contact types
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $sort_name;
 
   /**
    * Formatted name representing preferred format for display/print/other output.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $display_name;
 
   /**
    * Nickname.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $nick_name;
 
   /**
    * Legal Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $legal_name;
 
   /**
    * optional URL for preferred image (photo, logo, etc.) to display for this contact.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $image_URL;
 
   /**
    * What is the preferred mode of communication.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $preferred_communication_method;
 
   /**
    * Which language is preferred for communication. FK to languages in civicrm_option_value.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(5))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $preferred_language;
 
   /**
    * What is the preferred mode of sending an email.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $preferred_mail_format;
 
   /**
    * Key for validating requests related to this contact.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $hash;
 
   /**
    * API Key for validating requests related to this contact.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $api_key;
 
   /**
    * where contact come from, e.g. import, donate module insert...
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $source;
 
   /**
    * First Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $first_name;
 
   /**
    * Middle Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $middle_name;
 
   /**
    * Last Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $last_name;
 
   /**
    * Prefix or Title for name (Ms, Mr...). FK to prefix ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $prefix_id;
 
   /**
    * Suffix for name (Jr, Sr...). FK to suffix ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $suffix_id;
 
   /**
    * Formal (academic or similar) title in front of name. (Prof., Dr. etc.)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $formal_title;
 
   /**
    * Communication style (e.g. formal vs. familiar) to use with this contact. FK to communication styles in civicrm_option_value.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $communication_style_id;
 
   /**
    * FK to civicrm_option_value.id, that has to be valid registered Email Greeting.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_greeting_id;
 
   /**
    * Custom Email Greeting.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_greeting_custom;
 
   /**
    * Cache Email Greeting.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_greeting_display;
 
   /**
    * FK to civicrm_option_value.id, that has to be valid registered Postal Greeting.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $postal_greeting_id;
 
   /**
    * Custom Postal greeting.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $postal_greeting_custom;
 
   /**
    * Cache Postal greeting.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $postal_greeting_display;
 
   /**
    * FK to civicrm_option_value.id, that has to be valid registered Addressee.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $addressee_id;
 
   /**
    * Custom Addressee.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $addressee_custom;
 
   /**
    * Cache Addressee.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $addressee_display;
 
   /**
    * Job Title
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $job_title;
 
   /**
    * FK to gender ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $gender_id;
 
   /**
    * Date of birth
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $birth_date;
 
   /**
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_deceased;
 
   /**
    * Date of deceased
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $deceased_date;
 
   /**
    * Household Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $household_name;
 
   /**
    * Optional FK to Primary Contact for this household.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $primary_contact_id;
 
   /**
    * Organization Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $organization_name;
 
   /**
    * Standard Industry Classification Code.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $sic_code;
 
   /**
    * the OpenID (or OpenID-style http://username.domain/) unique identifier for this contact mainly used for logging in to CiviCRM
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $user_unique_id;
 
   /**
    * OPTIONAL FK to civicrm_contact record.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $employer_id;
 
   /**
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_deleted;
 
   /**
    * When was the contact was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When was the contact (or closely related entity) was created or modified or deleted.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
diff --git a/civicrm/CRM/Contact/DAO/ContactType.php b/civicrm/CRM/Contact/DAO/ContactType.php
index 26db28868a1b5ae41eb4f66ed41756982a0dafe7..c97ef494e9b4257d316e49bb39fc00e9b15925b3 100644
--- a/civicrm/CRM/Contact/DAO/ContactType.php
+++ b/civicrm/CRM/Contact/DAO/ContactType.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/ContactType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:f1913952f114c2ac041dfba5fef49d5d)
+ * (GenCodeChecksum:cc7d1501964e3a55b30e3df24aad8cf0)
  */
 
 /**
@@ -33,7 +33,9 @@ class CRM_Contact_DAO_ContactType extends CRM_Core_DAO {
   /**
    * Contact Type ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -41,48 +43,62 @@ class CRM_Contact_DAO_ContactType extends CRM_Core_DAO {
    * Internal name of Contact Type (or Subtype).
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * localized Name of Contact Type.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * localized Optional verbose description of the type.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * URL of image if any.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $image_URL;
 
   /**
    * Optional FK to parent contact type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_id;
 
   /**
    * Is this entry active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this contact type a predefined system type
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
diff --git a/civicrm/CRM/Contact/DAO/DashboardContact.php b/civicrm/CRM/Contact/DAO/DashboardContact.php
index 8cf85d6ef71a56bc379ad35d45e1bf4332ea43da..b8881db880a7c021f2acafe1025cf6b7b0792016 100644
--- a/civicrm/CRM/Contact/DAO/DashboardContact.php
+++ b/civicrm/CRM/Contact/DAO/DashboardContact.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/DashboardContact.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:a2eac9e772485e4a551738ad107dc209)
+ * (GenCodeChecksum:fd3f7ea02b93c0dd3ecd46fb757bc2a3)
  */
 
 /**
@@ -31,42 +31,54 @@ class CRM_Contact_DAO_DashboardContact extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Dashboard ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $dashboard_id;
 
   /**
    * Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * column no for this widget
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $column_no;
 
   /**
    * Is this widget active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Ordering of the widgets.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
diff --git a/civicrm/CRM/Contact/DAO/Group.php b/civicrm/CRM/Contact/DAO/Group.php
index 197127e341807f8f577bc8b6b57b57baa32dd44e..b5cb1640a7b543277499bd3e7aa2bb787b3cc256 100644
--- a/civicrm/CRM/Contact/DAO/Group.php
+++ b/civicrm/CRM/Contact/DAO/Group.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/Group.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:29b3646b12fccdf8a2d561dc483c8980)
+ * (GenCodeChecksum:f5efc579d0d67d8922a405a208cf83c3)
  */
 
 /**
@@ -56,152 +56,196 @@ class CRM_Contact_DAO_Group extends CRM_Core_DAO {
   /**
    * Group ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Internal name of Group.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Name of Group.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Optional verbose description of the group.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Module or process which created this group.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $source;
 
   /**
    * FK to saved search table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $saved_search_id;
 
   /**
    * Is this entry active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * In what context(s) is this field visible.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(24))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $visibility;
 
   /**
    * the sql where clause if a saved search acl
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $where_clause;
 
   /**
    * the tables to be included in a select data
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $select_tables;
 
   /**
    * the tables to be included in the count statement
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $where_tables;
 
   /**
    * FK to group type
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_type;
 
   /**
    * Date when we created the cache for a smart group
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cache_date;
 
   /**
    * Date and time when we need to refresh the cache next.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $refresh_date;
 
   /**
    * IDs of the parent(s)
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parents;
 
   /**
    * IDs of the child(ren)
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $children;
 
   /**
    * Is this group hidden?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_hidden;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * FK to contact table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * FK to contact table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_id;
 
   /**
    * Alternative public title for this Group.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frontend_title;
 
   /**
    * Alternative public description of the group.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frontend_description;
 
diff --git a/civicrm/CRM/Contact/DAO/GroupContact.php b/civicrm/CRM/Contact/DAO/GroupContact.php
index a00fcd6728bf2bf67670797677fed307f6cc6657..316309dc7f030b61519066afbec4abdafc6a04e1 100644
--- a/civicrm/CRM/Contact/DAO/GroupContact.php
+++ b/civicrm/CRM/Contact/DAO/GroupContact.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/GroupContact.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:53a34c1b6c96fe915f0ab57b93994b72)
+ * (GenCodeChecksum:f7c8513020809cc974eec784b983a75d)
  */
 
 /**
@@ -33,42 +33,54 @@ class CRM_Contact_DAO_GroupContact extends CRM_Core_DAO {
   /**
    * primary key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to civicrm_group
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_id;
 
   /**
    * FK to civicrm_contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * status of contact relative to membership in group
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status;
 
   /**
    * Optional location to associate with this membership
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location_id;
 
   /**
    * Optional email to associate with this membership
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_id;
 
diff --git a/civicrm/CRM/Contact/DAO/GroupContactCache.php b/civicrm/CRM/Contact/DAO/GroupContactCache.php
index 5b5e5bfa96d10b1476cf8de8dce47d58ab0e87ad..f07f6f1d342c48236827f7d5c9f612ce9d09a05b 100644
--- a/civicrm/CRM/Contact/DAO/GroupContactCache.php
+++ b/civicrm/CRM/Contact/DAO/GroupContactCache.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/GroupContactCache.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:26ac45cd1045e34353ef787013eeb84c)
+ * (GenCodeChecksum:06473218afb38f81fefca8e3e1a351e1)
  */
 
 /**
@@ -33,21 +33,27 @@ class CRM_Contact_DAO_GroupContactCache extends CRM_Core_DAO {
   /**
    * primary key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to civicrm_group
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_id;
 
   /**
    * FK to civicrm_contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
diff --git a/civicrm/CRM/Contact/DAO/GroupNesting.php b/civicrm/CRM/Contact/DAO/GroupNesting.php
index 80d27a44d7695a875ba9a6b682c3d343ed211a9c..bdb20df7e648e4009f46c489ff37ad94151126de 100644
--- a/civicrm/CRM/Contact/DAO/GroupNesting.php
+++ b/civicrm/CRM/Contact/DAO/GroupNesting.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/GroupNesting.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:a2d08c11cd6a0aedbcdf816fdb772839)
+ * (GenCodeChecksum:f93c2699304caa24bcb30d71891621ad)
  */
 
 /**
@@ -33,21 +33,27 @@ class CRM_Contact_DAO_GroupNesting extends CRM_Core_DAO {
   /**
    * Relationship ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * ID of the child group
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $child_group_id;
 
   /**
    * ID of the parent group
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_group_id;
 
diff --git a/civicrm/CRM/Contact/DAO/GroupOrganization.php b/civicrm/CRM/Contact/DAO/GroupOrganization.php
index 807465028f697ca83edb4b6235b2a0c7200148f0..9415570b03b757690d233171e8e7ebfb35d096bc 100644
--- a/civicrm/CRM/Contact/DAO/GroupOrganization.php
+++ b/civicrm/CRM/Contact/DAO/GroupOrganization.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/GroupOrganization.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:406b553dbbfbfbf54fa3d32bc1e9fecc)
+ * (GenCodeChecksum:0058d88ce8ce0b5a017cfd91b1adc430)
  */
 
 /**
@@ -33,21 +33,27 @@ class CRM_Contact_DAO_GroupOrganization extends CRM_Core_DAO {
   /**
    * Relationship ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * ID of the group
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_id;
 
   /**
    * ID of the Organization Contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $organization_id;
 
diff --git a/civicrm/CRM/Contact/DAO/Relationship.php b/civicrm/CRM/Contact/DAO/Relationship.php
index 0e00c294463a0c460f6b3eee746228b31111b7c6..0ecfdcf99915ea8e6cd4b77eddd4289956c2214e 100644
--- a/civicrm/CRM/Contact/DAO/Relationship.php
+++ b/civicrm/CRM/Contact/DAO/Relationship.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/Relationship.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:4d689d3ccc5aa155c858aac2f24ddfab)
+ * (GenCodeChecksum:9857c3a39c853ba7abfeb246af8a70ec)
  */
 
 /**
@@ -50,80 +50,120 @@ class CRM_Contact_DAO_Relationship extends CRM_Core_DAO {
   /**
    * Relationship ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * id of the first contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id_a;
 
   /**
    * id of the second contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id_b;
 
   /**
    * Type of relationship
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $relationship_type_id;
 
   /**
    * date when the relationship started
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * date when the relationship ended
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * is the relationship active ?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Optional verbose description for the relationship.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Permission that Contact A has to view/update Contact B
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_permission_a_b;
 
   /**
    * Permission that Contact B has to view/update Contact A
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_permission_b_a;
 
   /**
    * FK to civicrm_case
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $case_id;
 
+  /**
+   * Relationship created date.
+   *
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
+   */
+  public $created_date;
+
+  /**
+   * Relationship last modified.
+   *
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
+   */
+  public $modified_date;
+
   /**
    * Class constructor.
    */
@@ -367,6 +407,35 @@ class CRM_Contact_DAO_Relationship extends CRM_Core_DAO {
           ],
           'add' => '2.2',
         ],
+        'created_date' => [
+          'name' => 'created_date',
+          'type' => CRM_Utils_Type::T_TIMESTAMP,
+          'title' => ts('Created Date'),
+          'description' => ts('Relationship created date.'),
+          'required' => TRUE,
+          'where' => 'civicrm_relationship.created_date',
+          'default' => 'CURRENT_TIMESTAMP',
+          'table_name' => 'civicrm_relationship',
+          'entity' => 'Relationship',
+          'bao' => 'CRM_Contact_BAO_Relationship',
+          'localizable' => 0,
+          'add' => '5.47',
+        ],
+        'modified_date' => [
+          'name' => 'modified_date',
+          'type' => CRM_Utils_Type::T_TIMESTAMP,
+          'title' => ts('Relationship Modified Date'),
+          'description' => ts('Relationship last modified.'),
+          'required' => TRUE,
+          'where' => 'civicrm_relationship.modified_date',
+          'default' => 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP',
+          'table_name' => 'civicrm_relationship',
+          'entity' => 'Relationship',
+          'bao' => 'CRM_Contact_BAO_Relationship',
+          'localizable' => 0,
+          'readonly' => TRUE,
+          'add' => '5.47',
+        ],
       ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
diff --git a/civicrm/CRM/Contact/DAO/RelationshipCache.php b/civicrm/CRM/Contact/DAO/RelationshipCache.php
index 669646c3f640ab2017f3b118566489f807f64314..41044bfeed3b6fda9827e81c69e2aef72204fe47 100644
--- a/civicrm/CRM/Contact/DAO/RelationshipCache.php
+++ b/civicrm/CRM/Contact/DAO/RelationshipCache.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/RelationshipCache.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:f70f357cd7e45be254350f45ef41aee2)
+ * (GenCodeChecksum:1bc7c47a01326782645f1cfac11c6d14)
  */
 
 /**
@@ -51,21 +51,27 @@ class CRM_Contact_DAO_RelationshipCache extends CRM_Core_DAO {
   /**
    * Relationship Cache ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * id of the relationship (FK to civicrm_relationship.id)
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $relationship_id;
 
   /**
    * id of the relationship type
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $relationship_type_id;
 
@@ -73,62 +79,80 @@ class CRM_Contact_DAO_RelationshipCache extends CRM_Core_DAO {
    * The cache record is a permutation of the original relationship record. The orientation indicates whether it is forward (a_b) or reverse (b_a) relationship.
    *
    * @var string
+   *   (SQL type: char(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $orientation;
 
   /**
    * id of the first contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $near_contact_id;
 
   /**
    * name for relationship of near_contact to far_contact.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $near_relation;
 
   /**
    * id of the second contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $far_contact_id;
 
   /**
    * name for relationship of far_contact to near_contact.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $far_relation;
 
   /**
    * is the relationship active ?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * date when the relationship started
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * date when the relationship ended
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * FK to civicrm_case
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $case_id;
 
diff --git a/civicrm/CRM/Contact/DAO/RelationshipType.php b/civicrm/CRM/Contact/DAO/RelationshipType.php
index 7b8d02c91c1e81ab1743c0e50e3a974db598b9f6..3bd1a0d80cdac4f68f9f850e446050ad3f9ce421 100644
--- a/civicrm/CRM/Contact/DAO/RelationshipType.php
+++ b/civicrm/CRM/Contact/DAO/RelationshipType.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/RelationshipType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:59f2be616e7324c1a2b34e840b24beb2)
+ * (GenCodeChecksum:b020221ec1e27cbaf4eba0b9457a8448)
  */
 
 /**
@@ -33,84 +33,108 @@ class CRM_Contact_DAO_RelationshipType extends CRM_Core_DAO {
   /**
    * Primary key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * name for relationship of contact_a to contact_b.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name_a_b;
 
   /**
    * label for relationship of contact_a to contact_b.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label_a_b;
 
   /**
    * Optional name for relationship of contact_b to contact_a.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name_b_a;
 
   /**
    * Optional label for relationship of contact_b to contact_a.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label_b_a;
 
   /**
    * Optional verbose description of the relationship type.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * If defined, contact_a in a relationship of this type must be a specific contact_type.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_type_a;
 
   /**
    * If defined, contact_b in a relationship of this type must be a specific contact_type.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_type_b;
 
   /**
    * If defined, contact_sub_type_a in a relationship of this type must be a specific contact_sub_type.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_sub_type_a;
 
   /**
    * If defined, contact_sub_type_b in a relationship of this type must be a specific contact_sub_type.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_sub_type_b;
 
   /**
    * Is this relationship type a predefined system type (can not be changed or de-activated)?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Is this relationship type currently active (i.e. can be used when creating or editing relationships)?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Contact/DAO/SavedSearch.php b/civicrm/CRM/Contact/DAO/SavedSearch.php
index 41fda3afb0e5d1cf74c66113ea68df1591480854..4666188af3ddd2ed3bbf346d111d4be48420b6d8 100644
--- a/civicrm/CRM/Contact/DAO/SavedSearch.php
+++ b/civicrm/CRM/Contact/DAO/SavedSearch.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/SavedSearch.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:bca384578ea59c0cf4f0a80617c788fe)
+ * (GenCodeChecksum:935938d45a416234d369d2db97a08311)
  */
 
 /**
@@ -33,96 +33,124 @@ class CRM_Contact_DAO_SavedSearch extends CRM_Core_DAO {
   /**
    * Saved Search ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Unique name of saved search
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Administrative label for search
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * Submitted form values for this search
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $form_values;
 
   /**
    * Foreign key to civicrm_mapping used for saved search-builder searches.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mapping_id;
 
   /**
    * Foreign key to civicrm_option value table used for saved custom searches.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $search_custom_id;
 
   /**
    * Entity name for API based search
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $api_entity;
 
   /**
    * Parameters for API based search
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $api_params;
 
   /**
    * FK to contact table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * FK to contact table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_id;
 
   /**
    * Optional date after which the search is not needed
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $expires_date;
 
   /**
    * When the search was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When the search was last modified.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
   /**
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
diff --git a/civicrm/CRM/Contact/DAO/SubscriptionHistory.php b/civicrm/CRM/Contact/DAO/SubscriptionHistory.php
index 9aa23278b50e1b88c3ddbe2f8a4b3aac9704951f..712ff231815a79f39f00f879a665e5d12f595be7 100644
--- a/civicrm/CRM/Contact/DAO/SubscriptionHistory.php
+++ b/civicrm/CRM/Contact/DAO/SubscriptionHistory.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/SubscriptionHistory.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:f5eb6517b054998df7a07e5a81874a1b)
+ * (GenCodeChecksum:fd8cbc2ef621cc092f3f91c1f0f749d4)
  */
 
 /**
@@ -33,49 +33,63 @@ class CRM_Contact_DAO_SubscriptionHistory extends CRM_Core_DAO {
   /**
    * Internal ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Group ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_id;
 
   /**
    * Date of the (un)subscription
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $date;
 
   /**
    * How the (un)subscription was triggered
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $method;
 
   /**
    * The state of the contact within the group
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status;
 
   /**
    * IP address or other tracking info
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $tracking;
 
diff --git a/civicrm/CRM/Contact/Form/Contact.php b/civicrm/CRM/Contact/Form/Contact.php
index 0da2759780a70f10294d5fa4eb3acf407c687e3d..090aafaa4fd97e6f6c4032eedbff6ab8bbcae201 100644
--- a/civicrm/CRM/Contact/Form/Contact.php
+++ b/civicrm/CRM/Contact/Form/Contact.php
@@ -1143,7 +1143,7 @@ class CRM_Contact_Form_Contact extends CRM_Core_Form {
    *
    * @param array $fields
    *   Fields array which are submitted.
-   * @param $errors
+   * @param array $errors
    * @param int $contactID
    *   Contact id.
    * @param string $contactType
diff --git a/civicrm/CRM/Contact/Form/DedupeFind.php b/civicrm/CRM/Contact/Form/DedupeFind.php
index 13e2a4035f8233406cd2e26d5b70402113945d5a..04a5351161ec30c0e8e073e21b87092b0ecd38d6 100644
--- a/civicrm/CRM/Contact/Form/DedupeFind.php
+++ b/civicrm/CRM/Contact/Form/DedupeFind.php
@@ -41,9 +41,11 @@ class CRM_Contact_Form_DedupeFind extends CRM_Admin_Form {
     $groupList = ['' => ts('- All Contacts -')] + CRM_Core_PseudoConstant::nestedGroup();
 
     $this->add('select', 'group_id', ts('Select Group'), $groupList, FALSE, ['class' => 'crm-select2 huge']);
-    if (Civi::settings()->get('dedupe_default_limit')) {
-      $this->add('text', 'limit', ts('No of contacts to find matches for '));
-    }
+    $this->add('text', 'limit', ts('No of contacts to find matches for '));
+
+    // To improve usability for smaller sites, we don't show the limit field unless a default limit has been set.
+    $this->assign('limitShown', (bool) Civi::settings()->get('dedupe_default_limit'));
+
     $this->addButtons([
       [
         'type' => 'next',
diff --git a/civicrm/CRM/Contact/Form/DedupeRules.php b/civicrm/CRM/Contact/Form/DedupeRules.php
index beef61afbf9c55884d89698e3c5259c416592afb..6539126565e7eacee1546ec4c137ffbc24b26a94 100644
--- a/civicrm/CRM/Contact/Form/DedupeRules.php
+++ b/civicrm/CRM/Contact/Form/DedupeRules.php
@@ -128,7 +128,7 @@ class CRM_Contact_Form_DedupeRules extends CRM_Admin_Form {
    *   Posted values of the form.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Contact/Form/Merge.php b/civicrm/CRM/Contact/Form/Merge.php
index 4ccd00c0b5223e677b9ff324ce660330640a0cdf..45fff4c56b9c0deca8d8d6a08fbc6a1e1a3960b0 100644
--- a/civicrm/CRM/Contact/Form/Merge.php
+++ b/civicrm/CRM/Contact/Form/Merge.php
@@ -292,7 +292,7 @@ class CRM_Contact_Form_Merge extends CRM_Core_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Contact/Form/Relationship.php b/civicrm/CRM/Contact/Form/Relationship.php
index 06d6d09ba18f2b77818449c1da833c80d7f61d14..fae9c92d4346fc39e46c551803fd0ca9c9f7ffd3 100644
--- a/civicrm/CRM/Contact/Form/Relationship.php
+++ b/civicrm/CRM/Contact/Form/Relationship.php
@@ -473,7 +473,7 @@ class CRM_Contact_Form_Relationship extends CRM_Core_Form {
   }
 
   /**
-   * @param $relationshipList
+   * @param array $relationshipList
    *
    * @return array
    */
diff --git a/civicrm/CRM/Contact/Form/Search.php b/civicrm/CRM/Contact/Form/Search.php
index 1345c233094d99becf1c01bd21f1d09aeeaa603b..a87415b5eee66d2df2f7be0fed7635e588c3394c 100644
--- a/civicrm/CRM/Contact/Form/Search.php
+++ b/civicrm/CRM/Contact/Form/Search.php
@@ -148,6 +148,14 @@ class CRM_Contact_Form_Search extends CRM_Core_Form_Search {
 
   protected $_openedPanes = [];
 
+  public function __construct($state = NULL, $action = CRM_Core_Action::NONE, $method = 'post', $name = NULL) {
+    parent::__construct($state, $action, $method, $name);
+    // Because this is a static variable, reset it in case it got changed elsewhere.
+    // Should only come up during unit tests.
+    // Note the only subclass that seems to set this does it in preprocess (custom searches)
+    self::$_selectorName = 'CRM_Contact_Selector';
+  }
+
   /**
    * Explicitly declare the entity api name.
    */
diff --git a/civicrm/CRM/Contact/Form/Search/Advanced.php b/civicrm/CRM/Contact/Form/Search/Advanced.php
index 73ddd7dfc8aef792af5b7a97b24af43aeec4bbde..fb00ab8809a9a5cc06de79598ac1de6cf47dc884 100644
--- a/civicrm/CRM/Contact/Form/Search/Advanced.php
+++ b/civicrm/CRM/Contact/Form/Search/Advanced.php
@@ -63,7 +63,8 @@ class CRM_Contact_Form_Search_Advanced extends CRM_Contact_Form_Search {
     ];
 
     //check if there are any custom data searchable fields
-    $extends = array_merge(['Contact', 'Individual', 'Household', 'Organization'],
+    $extends = array_merge(['Contact'],
+      CRM_Contact_BAO_ContactType::basicTypes(),
       CRM_Contact_BAO_ContactType::subTypes()
     );
     $groupDetails = CRM_Core_BAO_CustomGroup::getGroupDetail(NULL, TRUE,
@@ -130,6 +131,7 @@ class CRM_Contact_Form_Search_Advanced extends CRM_Contact_Form_Search {
           $this->_paneTemplatePath[$type] = $c->getAdvancedSearchPaneTemplatePath();
         }
         elseif (in_array($type, $hookPanes)) {
+          $this->add('hidden', "hidden_$type", 1);
           CRM_Contact_BAO_Query_Hook::singleton()->buildAdvancedSearchPaneForm($this, $type);
           CRM_Contact_BAO_Query_Hook::singleton()->setAdvancedSearchPaneTemplatePath($this->_paneTemplatePath, $type);
         }
diff --git a/civicrm/CRM/Contact/Form/Search/Builder.php b/civicrm/CRM/Contact/Form/Search/Builder.php
index 1eef8b3633f251ef97549f9f926f3cac27ed78ae..312a01b41ece8d73d4dddcf7f698f9e7fd699b83 100644
--- a/civicrm/CRM/Contact/Form/Search/Builder.php
+++ b/civicrm/CRM/Contact/Form/Search/Builder.php
@@ -449,7 +449,6 @@ class CRM_Contact_Form_Search_Builder extends CRM_Contact_Form_Search {
       'member',
       'contribution',
       'case',
-      'grant',
     ];
     CRM_Contact_BAO_Query_Hook::singleton()->alterSearchBuilderOptions($entities, $options);
     $fkEntities = [];
diff --git a/civicrm/CRM/Contact/Form/Search/Criteria.php b/civicrm/CRM/Contact/Form/Search/Criteria.php
index 38bd2cc156d204471890c80cdcb8274c47869ded..bbebe40d736683050b4ffa26b2f0374408ea7912 100644
--- a/civicrm/CRM/Contact/Form/Search/Criteria.php
+++ b/civicrm/CRM/Contact/Form/Search/Criteria.php
@@ -599,7 +599,8 @@ class CRM_Contact_Form_Search_Criteria {
    */
   public static function custom(&$form) {
     $form->add('hidden', 'hidden_custom', 1);
-    $extends = array_merge(['Contact', 'Individual', 'Household', 'Organization'],
+    $extends = array_merge(['Contact'],
+      CRM_Contact_BAO_ContactType::basicTypes(),
       CRM_Contact_BAO_ContactType::subTypes()
     );
     $groupDetails = CRM_Core_BAO_CustomGroup::getGroupDetail(NULL, TRUE,
diff --git a/civicrm/CRM/Contact/Form/Task.php b/civicrm/CRM/Contact/Form/Task.php
index 2a2ad62c635d19e02ec0cdd50ffba073ede21c01..134379f81c29292d56496013cf70db21d5559c6c 100644
--- a/civicrm/CRM/Contact/Form/Task.php
+++ b/civicrm/CRM/Contact/Form/Task.php
@@ -130,6 +130,8 @@ class CRM_Contact_Form_Task extends CRM_Core_Form_Task {
 
     $form->_task = self::$_searchFormValues['task'] ?? NULL;
 
+    $isSelectedContacts = (self::$_searchFormValues['radio_ts'] ?? NULL) === 'ts_sel';
+    $form->assign('isSelectedContacts', $isSelectedContacts);
     // all contacts or action = save a search
     if ((CRM_Utils_Array::value('radio_ts', self::$_searchFormValues) == 'ts_all') ||
       ($form->_task == CRM_Contact_Task::SAVE_SEARCH)
@@ -152,7 +154,7 @@ class CRM_Contact_Form_Task extends CRM_Core_Form_Task {
         }
       }
     }
-    elseif (CRM_Utils_Array::value('radio_ts', self::$_searchFormValues) == 'ts_sel') {
+    elseif ($isSelectedContacts) {
       // selected contacts only
       // need to perform action on only selected contacts
       $insertString = [];
@@ -199,13 +201,11 @@ class CRM_Contact_Form_Task extends CRM_Core_Form_Task {
       }
     }
 
-    if (CRM_Utils_Array::value('radio_ts', self::$_searchFormValues) == 'ts_sel'
+    if ($isSelectedContacts
       && ($form->_action != CRM_Core_Action::COPY)
     ) {
-      $sel = self::$_searchFormValues['radio_ts'] ?? NULL;
-      $form->assign('searchtype', $sel);
       $result = self::getSelectedContactNames();
-      $form->assign("value", $result);
+      $form->assign('value', $result);
     }
 
     if (!empty($form->_contactIds)) {
@@ -227,7 +227,7 @@ class CRM_Contact_Form_Task extends CRM_Core_Form_Task {
    * to use a trait based approach. For now this is renamed to
    * permit the use of a non-static function with this name
    *
-   * @param $form CRM_Core_Form
+   * @param CRM_Core_Form_Task $form
    *
    * @return array $contactIds
    */
diff --git a/civicrm/CRM/Contact/Form/Task/Delete.php b/civicrm/CRM/Contact/Form/Task/Delete.php
index 3f12db81402d50529eb12496bdc7cd12c73bcc40..c2c9b7b8e34055b1e6e72d848d8eed827363fbd7 100644
--- a/civicrm/CRM/Contact/Form/Task/Delete.php
+++ b/civicrm/CRM/Contact/Form/Task/Delete.php
@@ -163,7 +163,7 @@ class CRM_Contact_Form_Task_Delete extends CRM_Contact_Form_Task {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param object $self
+   * @param self $self
    *   Form object.
    *
    * @return bool|array
diff --git a/civicrm/CRM/Contact/Form/Task/EmailTrait.php b/civicrm/CRM/Contact/Form/Task/EmailTrait.php
index b62a8c516329c8bdfdb76e3360f8d5b8b6acbd4f..1727bbd9272a66b37c2861f0859e93311a743172 100644
--- a/civicrm/CRM/Contact/Form/Task/EmailTrait.php
+++ b/civicrm/CRM/Contact/Form/Task/EmailTrait.php
@@ -123,6 +123,10 @@ trait CRM_Contact_Form_Task_EmailTrait {
       // Currently only the contact email form is callable outside search context.
       parent::preProcess();
     }
+    else {
+      // E-notice prevention in Task.tpl
+      $this->assign('isSelectedContacts', FALSE);
+    }
     $this->setContactIDs();
     $this->assign('single', $this->_single);
     $this->assign('isAdmin', CRM_Core_Permission::check('administer CiviCRM'));
diff --git a/civicrm/CRM/Contact/Form/Task/Label.php b/civicrm/CRM/Contact/Form/Task/Label.php
index ac1effae177e360911fea0fc5ab9dc15fa21e3ac..a8905fa44430bd200112d4fd9776d90f79baba44 100644
--- a/civicrm/CRM/Contact/Form/Task/Label.php
+++ b/civicrm/CRM/Contact/Form/Task/Label.php
@@ -92,7 +92,7 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task {
   /**
    * Process the form after the input has been submitted and validated.
    *
-   * @param array|NULL $params
+   * @param array|null $params
    */
   public function postProcess($params = NULL) {
     $fv = $params ?: $this->controller->exportValues($this->_name);
@@ -300,7 +300,6 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task {
 
     if (isset($fv['merge_same_address'])) {
       CRM_Core_BAO_Address::mergeSameAddress($rows);
-      $individualFormat = TRUE;
     }
 
     // format the addresses according to CIVICRM_ADDRESS_FORMAT (CRM-1327)
@@ -316,18 +315,6 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task {
       }
       $row['id'] = $id;
       $formatted = CRM_Utils_Address::format($row, 'mailing_format', FALSE, TRUE, $tokenFields);
-
-      // CRM-2211: UFPDF doesn't have bidi support; use the PECL fribidi package to fix it.
-      // On Ubuntu (possibly Debian?) be aware of http://pecl.php.net/bugs/bug.php?id=12366
-      // Due to FriBidi peculiarities, this can't be called on
-      // a multi-line string, hence the explode+implode approach.
-      if (function_exists('fribidi_log2vis')) {
-        $lines = explode("\n", $formatted);
-        foreach ($lines as $i => $line) {
-          $lines[$i] = fribidi_log2vis($line, FRIBIDI_AUTO, FRIBIDI_CHARSET_UTF8);
-        }
-        $formatted = implode("\n", $lines);
-      }
       $rows[$id] = [$formatted];
     }
 
@@ -336,7 +323,7 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task {
     }
 
     //call function to create labels
-    self::createLabel($rows, $fv['label_name']);
+    $this->createLabel($rows, $fv['label_name']);
     CRM_Utils_System::civiExit();
   }
 
@@ -369,15 +356,15 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task {
    * @param string $fileName
    *   The name of the file to save the label in.
    */
-  public function createLabel(&$contactRows, &$format, $fileName = 'MailingLabels_CiviCRM.pdf') {
+  private function createLabel($contactRows, $format, $fileName = 'MailingLabels_CiviCRM.pdf') {
     $pdf = new CRM_Utils_PDF_Label($format, 'mm');
     $pdf->Open();
     $pdf->AddPage();
 
     //build contact string that needs to be printed
     $val = NULL;
-    foreach ($contactRows as $row => $value) {
-      foreach ($value as $k => $v) {
+    foreach ($contactRows as $value) {
+      foreach ($value as $v) {
         $val .= "$v\n";
       }
 
diff --git a/civicrm/CRM/Contact/Form/Task/LabelCommon.php b/civicrm/CRM/Contact/Form/Task/LabelCommon.php
index 5b7a295e87366cc69a96a3b81687fa4422c737e1..c71be6f54db72dc2247ba7c2c766135fbba393bb 100644
--- a/civicrm/CRM/Contact/Form/Task/LabelCommon.php
+++ b/civicrm/CRM/Contact/Form/Task/LabelCommon.php
@@ -54,10 +54,10 @@ class CRM_Contact_Form_Task_LabelCommon {
   /**
    * Get the rows for the labels.
    *
-   * @param $contactIDs
+   * @param array $contactIDs
    * @param int $locationTypeID
    * @param bool $respectDoNotMail
-   * @param $mergeSameAddress
+   * @param bool $mergeSameAddress
    * @param bool $mergeSameHousehold
    *   UNUSED.
    *
diff --git a/civicrm/CRM/Contact/Form/Task/Map.php b/civicrm/CRM/Contact/Form/Task/Map.php
index 9cb5e97719c9eb9902c8ccbe75eb607f2f0915ec..31c04508f7e68c18ff226aafdcab6c15b95be2b7 100644
--- a/civicrm/CRM/Contact/Form/Task/Map.php
+++ b/civicrm/CRM/Contact/Form/Task/Map.php
@@ -118,7 +118,7 @@ class CRM_Contact_Form_Task_Map extends CRM_Contact_Form_Task {
    * @param array $ids
    * @param int $locationId
    *   Location_id.
-   * @param CRM_Core_Page $page
+   * @param CRM_Core_Form $page
    * @param bool $addBreadCrumb
    * @param string $type
    */
@@ -209,12 +209,12 @@ class CRM_Contact_Form_Task_Map extends CRM_Contact_Form_Task {
     }
 
     $center = [
-      'lat' => (float ) $sumLat / count($locations),
-      'lng' => (float ) $sumLng / count($locations),
+      'lat' => (float) $sumLat / count($locations),
+      'lng' => (float) $sumLng / count($locations),
     ];
     $span = [
-      'lat' => (float ) ($maxLat - $minLat),
-      'lng' => (float ) ($maxLng - $minLng),
+      'lat' => (float) ($maxLat - $minLat),
+      'lng' => (float) ($maxLng - $minLng),
     ];
     $page->assign_by_ref('center', $center);
     $page->assign_by_ref('span', $span);
diff --git a/civicrm/CRM/Contact/Form/Task/Print.php b/civicrm/CRM/Contact/Form/Task/Print.php
index 2869f520a117ab0ee02dcbfea3b4c529a327d609..4c7bfd7af0d750fd981ff805e78e421489c5be4d 100644
--- a/civicrm/CRM/Contact/Form/Task/Print.php
+++ b/civicrm/CRM/Contact/Form/Task/Print.php
@@ -28,7 +28,7 @@ class CRM_Contact_Form_Task_Print extends CRM_Contact_Form_Task {
     parent::preprocess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
     $this->assign('id', $this->get('id'));
     $this->assign('pageTitle', ts('CiviCRM Contact Listing'));
 
diff --git a/civicrm/CRM/Contact/Form/Task/SMSCommon.php b/civicrm/CRM/Contact/Form/Task/SMSCommon.php
index e4604aa6d92b6daf988698842cc9b3a4684f15e4..5c9b2b90dc91afc4a6187e5655bbe5f4d87ca030 100644
--- a/civicrm/CRM/Contact/Form/Task/SMSCommon.php
+++ b/civicrm/CRM/Contact/Form/Task/SMSCommon.php
@@ -274,7 +274,7 @@ class CRM_Contact_Form_Task_SMSCommon {
    * @param array $fields
    *   The input form values.
    * @param array $dontCare
-   * @param array $self
+   * @param self $self
    *   Additional values form 'this'.
    *
    * @return bool|array
diff --git a/civicrm/CRM/Contact/Import/Controller.php b/civicrm/CRM/Contact/Import/Controller.php
index da72132b1ba44c3645c4cd963a5581b69bbf0cd9..7aa08c4aeed66ced3bb3e28ef58b2ee977593b3d 100644
--- a/civicrm/CRM/Contact/Import/Controller.php
+++ b/civicrm/CRM/Contact/Import/Controller.php
@@ -19,7 +19,7 @@ class CRM_Contact_Import_Controller extends CRM_Core_Controller {
   /**
    * Class constructor.
    *
-   * @param null $title
+   * @param string $title
    * @param bool|int $action
    * @param bool $modal
    */
diff --git a/civicrm/CRM/Contact/Import/Form/Preview.php b/civicrm/CRM/Contact/Import/Form/Preview.php
index d25cd4f58eced0cc559949abd431ca8153708aa8..48f484eb00362ae32242f3e2b6691c1b48b692c4 100644
--- a/civicrm/CRM/Contact/Import/Form/Preview.php
+++ b/civicrm/CRM/Contact/Import/Form/Preview.php
@@ -163,7 +163,7 @@ class CRM_Contact_Import_Form_Preview extends CRM_Import_Form_Preview {
    *   Posted values of the form.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Contact/Import/ImportJob.php b/civicrm/CRM/Contact/Import/ImportJob.php
index 249bedc76a6d4c49b8fe4dc44cbea2b42b11e1ee..7e0bd84c6aad97b402b6b312d155bd62b324729f 100644
--- a/civicrm/CRM/Contact/Import/ImportJob.php
+++ b/civicrm/CRM/Contact/Import/ImportJob.php
@@ -46,8 +46,8 @@ class CRM_Contact_Import_ImportJob {
   protected $_parser;
 
   /**
-   * @param null $tableName
-   * @param null $createSql
+   * @param string|null $tableName
+   * @param string|null $createSql
    * @param bool $createTable
    *
    * @throws \CRM_Core_Exception
diff --git a/civicrm/CRM/Contact/Import/Parser.php b/civicrm/CRM/Contact/Import/Parser.php
index 99932d242a4aebfbf90fc828a191d86c88438b00..cc354036cbeda952776d3c273d8d3ddcbf3332ee 100644
--- a/civicrm/CRM/Contact/Import/Parser.php
+++ b/civicrm/CRM/Contact/Import/Parser.php
@@ -726,230 +726,6 @@ abstract class CRM_Contact_Import_Parser extends CRM_Import_Parser {
     }
   }
 
-  /**
-   * Format common params data to proper format to store.
-   *
-   * @param array $params
-   *   Contain record values.
-   * @param array $formatted
-   *   Array of formatted data.
-   * @param array $contactFields
-   *   Contact DAO fields.
-   */
-  public function formatCommonData($params, &$formatted, &$contactFields) {
-    $csType = [
-      CRM_Utils_Array::value('contact_type', $formatted),
-    ];
-
-    //CRM-5125
-    //add custom fields for contact sub type
-    if (!empty($this->_contactSubType)) {
-      $csType = $this->_contactSubType;
-    }
-
-    if ($relCsType = CRM_Utils_Array::value('contact_sub_type', $formatted)) {
-      $csType = $relCsType;
-    }
-
-    $customFields = CRM_Core_BAO_CustomField::getFields($formatted['contact_type'], FALSE, FALSE, $csType);
-
-    $addressCustomFields = CRM_Core_BAO_CustomField::getFields('Address');
-    $customFields = $customFields + $addressCustomFields;
-
-    //if a Custom Email Greeting, Custom Postal Greeting or Custom Addressee is mapped, and no "Greeting / Addressee Type ID" is provided, then automatically set the type = Customized, CRM-4575
-    $elements = [
-      'email_greeting_custom' => 'email_greeting',
-      'postal_greeting_custom' => 'postal_greeting',
-      'addressee_custom' => 'addressee',
-    ];
-    foreach ($elements as $k => $v) {
-      if (array_key_exists($k, $params) && !(array_key_exists($v, $params))) {
-        $label = key(CRM_Core_OptionGroup::values($v, TRUE, NULL, NULL, 'AND v.name = "Customized"'));
-        $params[$v] = $label;
-      }
-    }
-
-    //format date first
-    $session = CRM_Core_Session::singleton();
-    $dateType = $session->get("dateTypes");
-    foreach ($params as $key => $val) {
-      $customFieldID = CRM_Core_BAO_CustomField::getKeyID($key);
-      if ($customFieldID &&
-        !array_key_exists($customFieldID, $addressCustomFields)
-      ) {
-        //we should not update Date to null, CRM-4062
-        if ($val && ($customFields[$customFieldID]['data_type'] == 'Date')) {
-          //CRM-21267
-          CRM_Contact_Import_Parser_Contact::formatCustomDate($params, $formatted, $dateType, $key);
-        }
-        elseif ($customFields[$customFieldID]['data_type'] == 'Boolean') {
-          if (empty($val) && !is_numeric($val) && $this->_onDuplicate == CRM_Import_Parser::DUPLICATE_FILL) {
-            //retain earlier value when Import mode is `Fill`
-            unset($params[$key]);
-          }
-          else {
-            $params[$key] = CRM_Utils_String::strtoboolstr($val);
-          }
-        }
-      }
-
-      if ($key == 'birth_date' && $val) {
-        CRM_Utils_Date::convertToDefaultDate($params, $dateType, $key);
-      }
-      elseif ($key == 'deceased_date' && $val) {
-        CRM_Utils_Date::convertToDefaultDate($params, $dateType, $key);
-        $params['is_deceased'] = 1;
-      }
-      elseif ($key == 'is_deceased' && $val) {
-        $params[$key] = CRM_Utils_String::strtoboolstr($val);
-      }
-    }
-
-    //now format custom data.
-    foreach ($params as $key => $field) {
-      if (is_array($field)) {
-        $isAddressCustomField = FALSE;
-        foreach ($field as $value) {
-          $break = FALSE;
-          if (is_array($value)) {
-            foreach ($value as $name => $testForEmpty) {
-              if ($addressCustomFieldID = CRM_Core_BAO_CustomField::getKeyID($name)) {
-                $isAddressCustomField = TRUE;
-                break;
-              }
-              // check if $value does not contain IM provider or phoneType
-              if (($name !== 'phone_type_id' || $name !== 'provider_id') && ($testForEmpty === '' || $testForEmpty == NULL)) {
-                $break = TRUE;
-                break;
-              }
-            }
-          }
-          else {
-            $break = TRUE;
-          }
-
-          if (!$break) {
-            if (!empty($value['location_type_id'])) {
-              $this->formatLocationBlock($value, $formatted);
-            }
-            else {
-              // @todo - this is still reachable - e.g. import with related contact info like firstname,lastname,spouse-first-name,spouse-last-name,spouse-home-phone
-              CRM_Core_Error::deprecatedFunctionWarning('this is not expected to be reachable now');
-              $this->formatContactParameters($value, $formatted);
-            }
-          }
-        }
-        if (!$isAddressCustomField) {
-          continue;
-        }
-      }
-
-      $formatValues = [
-        $key => $field,
-      ];
-
-      if (($key !== 'preferred_communication_method') && (array_key_exists($key, $contactFields))) {
-        // due to merging of individual table and
-        // contact table, we need to avoid
-        // preferred_communication_method forcefully
-        $formatValues['contact_type'] = $formatted['contact_type'];
-      }
-
-      if ($key == 'id' && isset($field)) {
-        $formatted[$key] = $field;
-      }
-      $this->formatContactParameters($formatValues, $formatted);
-
-      //Handling Custom Data
-      // note: Address custom fields will be handled separately inside formatContactParameters
-      if (($customFieldID = CRM_Core_BAO_CustomField::getKeyID($key)) &&
-        array_key_exists($customFieldID, $customFields) &&
-        !array_key_exists($customFieldID, $addressCustomFields)
-      ) {
-
-        $extends = $customFields[$customFieldID]['extends'] ?? NULL;
-        $htmlType = $customFields[$customFieldID]['html_type'] ?? NULL;
-        $dataType = $customFields[$customFieldID]['data_type'] ?? NULL;
-        $serialized = CRM_Core_BAO_CustomField::isSerialized($customFields[$customFieldID]);
-
-        if (!$serialized && in_array($htmlType, ['Select', 'Radio', 'Autocomplete-Select']) && in_array($dataType, ['String', 'Int'])) {
-          $customOption = CRM_Core_BAO_CustomOption::getCustomOption($customFieldID, TRUE);
-          foreach ($customOption as $customValue) {
-            $val = $customValue['value'] ?? NULL;
-            $label = strtolower($customValue['label'] ?? '');
-            $value = strtolower(trim($formatted[$key]));
-            if (($value == $label) || ($value == strtolower($val))) {
-              $params[$key] = $formatted[$key] = $val;
-            }
-          }
-        }
-        elseif ($serialized && !empty($formatted[$key]) && !empty($params[$key])) {
-          $mulValues = explode(',', $formatted[$key]);
-          $customOption = CRM_Core_BAO_CustomOption::getCustomOption($customFieldID, TRUE);
-          $formatted[$key] = [];
-          $params[$key] = [];
-          foreach ($mulValues as $v1) {
-            foreach ($customOption as $v2) {
-              if ((strtolower($v2['label']) == strtolower(trim($v1))) ||
-                (strtolower($v2['value']) == strtolower(trim($v1)))
-              ) {
-                if ($htmlType == 'CheckBox') {
-                  $params[$key][$v2['value']] = $formatted[$key][$v2['value']] = 1;
-                }
-                else {
-                  $params[$key][] = $formatted[$key][] = $v2['value'];
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-
-    if (!empty($key) && ($customFieldID = CRM_Core_BAO_CustomField::getKeyID($key)) && array_key_exists($customFieldID, $customFields) &&
-      !array_key_exists($customFieldID, $addressCustomFields)
-    ) {
-      // @todo calling api functions directly is not supported
-      _civicrm_api3_custom_format_params($params, $formatted, $extends);
-    }
-
-    // to check if not update mode and unset the fields with empty value.
-    if (!$this->_updateWithId && array_key_exists('custom', $formatted)) {
-      foreach ($formatted['custom'] as $customKey => $customvalue) {
-        if (empty($formatted['custom'][$customKey][-1]['is_required'])) {
-          $formatted['custom'][$customKey][-1]['is_required'] = $customFields[$customKey]['is_required'];
-        }
-        $emptyValue = $customvalue[-1]['value'] ?? NULL;
-        if (!isset($emptyValue)) {
-          unset($formatted['custom'][$customKey]);
-        }
-      }
-    }
-
-    // parse street address, CRM-5450
-    if ($this->_parseStreetAddress) {
-      if (array_key_exists('address', $formatted) && is_array($formatted['address'])) {
-        foreach ($formatted['address'] as $instance => & $address) {
-          $streetAddress = $address['street_address'] ?? NULL;
-          if (empty($streetAddress)) {
-            continue;
-          }
-          // parse address field.
-          $parsedFields = CRM_Core_BAO_Address::parseStreetAddress($streetAddress);
-
-          //street address consider to be parsed properly,
-          //If we get street_name and street_number.
-          if (empty($parsedFields['street_name']) || empty($parsedFields['street_number'])) {
-            $parsedFields = array_fill_keys(array_keys($parsedFields), '');
-          }
-
-          // merge parse address w/ main address block.
-          $address = array_merge($address, $parsedFields);
-        }
-      }
-    }
-  }
-
   /**
    * Format contact parameters.
    *
diff --git a/civicrm/CRM/Contact/Import/Parser/Contact.php b/civicrm/CRM/Contact/Import/Parser/Contact.php
index 36d581f43e061ed8f7ce026e3f4c6c5ec8bacf80..c46a60338f9afacace83de426b8b31ea46db0b94 100644
--- a/civicrm/CRM/Contact/Import/Parser/Contact.php
+++ b/civicrm/CRM/Contact/Import/Parser/Contact.php
@@ -877,7 +877,6 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Contact_Import_Parser {
               //if more than one duplicate contact
               //found, create relationship with first contact
               // now create the relationship record
-              $relationParams = [];
               $relationParams = [
                 'relationship_type_id' => $key,
                 'contact_check' => [
@@ -893,7 +892,7 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Contact_Import_Parser {
                 'contact' => $primaryContactId,
               ];
 
-              [$valid, $invalid, $duplicate, $saved, $relationshipIds] = CRM_Contact_BAO_Relationship::legacyCreateMultiple($relationParams, $relationIds);
+              [$valid, $duplicate] = self::legacyCreateMultiple($relationParams, $relationIds);
 
               if ($valid || $duplicate) {
                 $relationIds['contactTarget'] = $relContactId;
@@ -957,6 +956,296 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Contact_Import_Parser {
     return $this->processMessage($values, $statusFieldName, CRM_Import_Parser::VALID);
   }
 
+  /**
+   * Only called from import now... plus one place outside of core & tests.
+   *
+   * @todo - deprecate more aggressively - will involve copying to the import
+   * class, adding a deprecation notice here & removing from tests.
+   *
+   * Takes an associative array and creates a relationship object.
+   *
+   * @deprecated For single creates use the api instead (it's tested).
+   * For multiple a new variant of this function needs to be written and migrated to as this is a bit
+   * nasty
+   *
+   * @param array $params
+   *   (reference ) an assoc array of name/value pairs.
+   * @param array $ids
+   *   The array that holds all the db ids.
+   *   per http://wiki.civicrm.org/confluence/display/CRM/Database+layer
+   *  "we are moving away from the $ids param "
+   *
+   * @return array
+   * @throws \CRM_Core_Exception
+   */
+  private static function legacyCreateMultiple($params, $ids = []) {
+    // clarify that the only key ever pass in the ids array is 'contact'
+    // There is legacy handling for other keys but a universe search on
+    // calls to this function (not supported to be called from outside core)
+    // only returns 2 calls - one in CRM_Contact_Import_Parser_Contact
+    // and the other in jma grant applications (CRM_Grant_Form_Grant_Confirm)
+    // both only pass in contact as a key here.
+    $contactID = $ids['contact'];
+    unset($ids);
+    // There is only ever one value passed in from the 2 places above that call
+    // this - by clarifying here like this we can cleanup within this
+    // function without having to do more universe searches.
+    $relatedContactID = key($params['contact_check']);
+
+    // check if the relationship is valid between contacts.
+    // step 1: check if the relationship is valid if not valid skip and keep the count
+    // step 2: check the if two contacts already have a relationship if yes skip and keep the count
+    // step 3: if valid relationship then add the relation and keep the count
+
+    // step 1
+    [$contactFields['relationship_type_id'], $firstLetter, $secondLetter] = explode('_', $params['relationship_type_id']);
+    $contactFields['contact_id_' . $firstLetter] = $contactID;
+    $contactFields['contact_id_' . $secondLetter] = $relatedContactID;
+    if (!CRM_Contact_BAO_Relationship::checkRelationshipType($contactFields['contact_id_a'], $contactFields['contact_id_b'],
+      $contactFields['relationship_type_id'])) {
+      return [0, 0];
+    }
+
+    if (
+      CRM_Contact_BAO_Relationship::checkDuplicateRelationship(
+        $contactFields,
+        $contactID,
+        // step 2
+        $relatedContactID
+      )
+    ) {
+      return [0, 1];
+    }
+
+    $singleInstanceParams = array_merge($params, $contactFields);
+    CRM_Contact_BAO_Relationship::add($singleInstanceParams);
+    return [1, 0];
+  }
+
+  /**
+   * Format common params data to proper format to store.
+   *
+   * @param array $params
+   *   Contain record values.
+   * @param array $formatted
+   *   Array of formatted data.
+   * @param array $contactFields
+   *   Contact DAO fields.
+   */
+  private function formatCommonData($params, &$formatted, $contactFields) {
+    $csType = [
+      CRM_Utils_Array::value('contact_type', $formatted),
+    ];
+
+    //CRM-5125
+    //add custom fields for contact sub type
+    if (!empty($this->_contactSubType)) {
+      $csType = $this->_contactSubType;
+    }
+
+    if ($relCsType = CRM_Utils_Array::value('contact_sub_type', $formatted)) {
+      $csType = $relCsType;
+    }
+
+    $customFields = CRM_Core_BAO_CustomField::getFields($formatted['contact_type'], FALSE, FALSE, $csType);
+
+    $addressCustomFields = CRM_Core_BAO_CustomField::getFields('Address');
+    $customFields = $customFields + $addressCustomFields;
+
+    //if a Custom Email Greeting, Custom Postal Greeting or Custom Addressee is mapped, and no "Greeting / Addressee Type ID" is provided, then automatically set the type = Customized, CRM-4575
+    $elements = [
+      'email_greeting_custom' => 'email_greeting',
+      'postal_greeting_custom' => 'postal_greeting',
+      'addressee_custom' => 'addressee',
+    ];
+    foreach ($elements as $k => $v) {
+      if (array_key_exists($k, $params) && !(array_key_exists($v, $params))) {
+        $label = key(CRM_Core_OptionGroup::values($v, TRUE, NULL, NULL, 'AND v.name = "Customized"'));
+        $params[$v] = $label;
+      }
+    }
+
+    //format date first
+    $session = CRM_Core_Session::singleton();
+    $dateType = $session->get("dateTypes");
+    foreach ($params as $key => $val) {
+      $customFieldID = CRM_Core_BAO_CustomField::getKeyID($key);
+      if ($customFieldID &&
+        !array_key_exists($customFieldID, $addressCustomFields)
+      ) {
+        //we should not update Date to null, CRM-4062
+        if ($val && ($customFields[$customFieldID]['data_type'] == 'Date')) {
+          //CRM-21267
+          CRM_Contact_Import_Parser_Contact::formatCustomDate($params, $formatted, $dateType, $key);
+        }
+        elseif ($customFields[$customFieldID]['data_type'] == 'Boolean') {
+          if (empty($val) && !is_numeric($val) && $this->_onDuplicate == CRM_Import_Parser::DUPLICATE_FILL) {
+            //retain earlier value when Import mode is `Fill`
+            unset($params[$key]);
+          }
+          else {
+            $params[$key] = CRM_Utils_String::strtoboolstr($val);
+          }
+        }
+      }
+
+      if ($key == 'birth_date' && $val) {
+        CRM_Utils_Date::convertToDefaultDate($params, $dateType, $key);
+      }
+      elseif ($key == 'deceased_date' && $val) {
+        CRM_Utils_Date::convertToDefaultDate($params, $dateType, $key);
+        $params['is_deceased'] = 1;
+      }
+      elseif ($key == 'is_deceased' && $val) {
+        $params[$key] = CRM_Utils_String::strtoboolstr($val);
+      }
+    }
+
+    //now format custom data.
+    foreach ($params as $key => $field) {
+      if (is_array($field)) {
+        $isAddressCustomField = FALSE;
+        foreach ($field as $value) {
+          $break = FALSE;
+          if (is_array($value)) {
+            foreach ($value as $name => $testForEmpty) {
+              if ($addressCustomFieldID = CRM_Core_BAO_CustomField::getKeyID($name)) {
+                $isAddressCustomField = TRUE;
+                break;
+              }
+              // check if $value does not contain IM provider or phoneType
+              if (($name !== 'phone_type_id' || $name !== 'provider_id') && ($testForEmpty === '' || $testForEmpty == NULL)) {
+                $break = TRUE;
+                break;
+              }
+            }
+          }
+          else {
+            $break = TRUE;
+          }
+
+          if (!$break) {
+            if (!empty($value['location_type_id'])) {
+              $this->formatLocationBlock($value, $formatted);
+            }
+            else {
+              // @todo - this is still reachable - e.g. import with related contact info like firstname,lastname,spouse-first-name,spouse-last-name,spouse-home-phone
+              CRM_Core_Error::deprecatedFunctionWarning('this is not expected to be reachable now');
+              $this->formatContactParameters($value, $formatted);
+            }
+          }
+        }
+        if (!$isAddressCustomField) {
+          continue;
+        }
+      }
+
+      $formatValues = [
+        $key => $field,
+      ];
+
+      if (($key !== 'preferred_communication_method') && (array_key_exists($key, $contactFields))) {
+        // due to merging of individual table and
+        // contact table, we need to avoid
+        // preferred_communication_method forcefully
+        $formatValues['contact_type'] = $formatted['contact_type'];
+      }
+
+      if ($key == 'id' && isset($field)) {
+        $formatted[$key] = $field;
+      }
+      $this->formatContactParameters($formatValues, $formatted);
+
+      //Handling Custom Data
+      // note: Address custom fields will be handled separately inside formatContactParameters
+      if (($customFieldID = CRM_Core_BAO_CustomField::getKeyID($key)) &&
+        array_key_exists($customFieldID, $customFields) &&
+        !array_key_exists($customFieldID, $addressCustomFields)
+      ) {
+
+        $extends = $customFields[$customFieldID]['extends'] ?? NULL;
+        $htmlType = $customFields[$customFieldID]['html_type'] ?? NULL;
+        $dataType = $customFields[$customFieldID]['data_type'] ?? NULL;
+        $serialized = CRM_Core_BAO_CustomField::isSerialized($customFields[$customFieldID]);
+
+        if (!$serialized && in_array($htmlType, ['Select', 'Radio', 'Autocomplete-Select']) && in_array($dataType, ['String', 'Int'])) {
+          $customOption = CRM_Core_BAO_CustomOption::getCustomOption($customFieldID, TRUE);
+          foreach ($customOption as $customValue) {
+            $val = $customValue['value'] ?? NULL;
+            $label = strtolower($customValue['label'] ?? '');
+            $value = strtolower(trim($formatted[$key]));
+            if (($value == $label) || ($value == strtolower($val))) {
+              $params[$key] = $formatted[$key] = $val;
+            }
+          }
+        }
+        elseif ($serialized && !empty($formatted[$key]) && !empty($params[$key])) {
+          $mulValues = explode(',', $formatted[$key]);
+          $customOption = CRM_Core_BAO_CustomOption::getCustomOption($customFieldID, TRUE);
+          $formatted[$key] = [];
+          $params[$key] = [];
+          foreach ($mulValues as $v1) {
+            foreach ($customOption as $v2) {
+              if ((strtolower($v2['label']) == strtolower(trim($v1))) ||
+                (strtolower($v2['value']) == strtolower(trim($v1)))
+              ) {
+                if ($htmlType == 'CheckBox') {
+                  $params[$key][$v2['value']] = $formatted[$key][$v2['value']] = 1;
+                }
+                else {
+                  $params[$key][] = $formatted[$key][] = $v2['value'];
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+
+    if (!empty($key) && ($customFieldID = CRM_Core_BAO_CustomField::getKeyID($key)) && array_key_exists($customFieldID, $customFields) &&
+      !array_key_exists($customFieldID, $addressCustomFields)
+    ) {
+      // @todo calling api functions directly is not supported
+      _civicrm_api3_custom_format_params($params, $formatted, $extends);
+    }
+
+    // to check if not update mode and unset the fields with empty value.
+    if (!$this->_updateWithId && array_key_exists('custom', $formatted)) {
+      foreach ($formatted['custom'] as $customKey => $customvalue) {
+        if (empty($formatted['custom'][$customKey][-1]['is_required'])) {
+          $formatted['custom'][$customKey][-1]['is_required'] = $customFields[$customKey]['is_required'];
+        }
+        $emptyValue = $customvalue[-1]['value'] ?? NULL;
+        if (!isset($emptyValue)) {
+          unset($formatted['custom'][$customKey]);
+        }
+      }
+    }
+
+    // parse street address, CRM-5450
+    if ($this->_parseStreetAddress) {
+      if (array_key_exists('address', $formatted) && is_array($formatted['address'])) {
+        foreach ($formatted['address'] as $instance => & $address) {
+          $streetAddress = $address['street_address'] ?? NULL;
+          if (empty($streetAddress)) {
+            continue;
+          }
+          // parse address field.
+          $parsedFields = CRM_Core_BAO_Address::parseStreetAddress($streetAddress);
+
+          //street address consider to be parsed properly,
+          //If we get street_name and street_number.
+          if (empty($parsedFields['street_name']) || empty($parsedFields['street_number'])) {
+            $parsedFields = array_fill_keys(array_keys($parsedFields), '');
+          }
+
+          // merge parse address w/ main address block.
+          $address = array_merge($address, $parsedFields);
+        }
+      }
+    }
+  }
+
   /**
    * Get the array of successfully imported contact id's
    *
diff --git a/civicrm/CRM/Contact/Page/AJAX.php b/civicrm/CRM/Contact/Page/AJAX.php
index 86dd300d90d6331b0bbbaeec1fd623ef1f0f38b4..0b4531f1e11430ba9b6c7ad76440900ad2b835e8 100644
--- a/civicrm/CRM/Contact/Page/AJAX.php
+++ b/civicrm/CRM/Contact/Page/AJAX.php
@@ -815,12 +815,13 @@ LIMIT {$offset}, {$rowCount}
    *
    * @param int $cid
    * @param int $oid
-   * @param "dupe-nondupe|nondupe-dupe" $oper
+   * @param string $oper
+   *   'nondupe-dupe' or 'dupe-nondupe'
    *
    * @return \CRM_Core_DAO|mixed|null
    */
   public static function markNonDuplicates($cid, $oid, $oper) {
-    if ($oper == 'dupe-nondupe') {
+    if ($oper === 'dupe-nondupe') {
       try {
         civicrm_api3('Exception', 'create', ['contact_id1' => $cid, 'contact_id2' => $oid]);
         return TRUE;
@@ -841,7 +842,7 @@ LIMIT {$offset}, {$rowCount}
     $exception->find(TRUE);
     $status = NULL;
 
-    if ($oper == 'nondupe-dupe') {
+    if ($oper === 'nondupe-dupe') {
       $status = $exception->delete();
     }
     return $status;
diff --git a/civicrm/CRM/Contact/Page/View.php b/civicrm/CRM/Contact/Page/View.php
index f891c0d6ac590fa43e5898c445e8a69bcaa2b2f6..bbbc950dde6641bd12035ea9e992fd384a0ce079 100644
--- a/civicrm/CRM/Contact/Page/View.php
+++ b/civicrm/CRM/Contact/Page/View.php
@@ -231,7 +231,7 @@ class CRM_Contact_Page_View extends CRM_Core_Page {
   }
 
   /**
-   * @param $page
+   * @param CRM_Core_Page $page
    * @param int $contactID
    */
   public static function checkUserPermission($page, $contactID = NULL) {
@@ -242,7 +242,7 @@ class CRM_Contact_Page_View extends CRM_Core_Page {
       $contactID = $page->_contactId;
     }
 
-    // automatically grant permissin for users on their own record. makes
+    // automatically grant permission for users on their own record. makes
     // things easier in dashboard
     $session = CRM_Core_Session::singleton();
 
diff --git a/civicrm/CRM/Contact/Page/View/CustomData.php b/civicrm/CRM/Contact/Page/View/CustomData.php
index 3000627b0b48695e604be61f5977fc49cd5c8547..8d8a5e9fefaa94ec07c781e8236241dc7bfd1a5a 100644
--- a/civicrm/CRM/Contact/Page/View/CustomData.php
+++ b/civicrm/CRM/Contact/Page/View/CustomData.php
@@ -27,15 +27,6 @@ class CRM_Contact_Page_View_CustomData extends CRM_Core_Page {
    */
   public $_groupId;
 
-  /**
-   * Class constructor.
-   *
-   * @return CRM_Contact_Page_View_CustomData
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Add a few specific things to view contact.
    */
@@ -96,8 +87,7 @@ class CRM_Contact_Page_View_CustomData extends CRM_Core_Page {
 
       if ($this->_multiRecordDisplay != 'single') {
         $id = "custom_{$this->_groupId}";
-        $tableName = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_groupId, 'table_name');
-        $this->ajaxResponse['tabCount'] = CRM_Contact_BAO_Contact::getCountComponent($id, $this->_contactId, $tableName);
+        $this->ajaxResponse['tabCount'] = CRM_Contact_BAO_Contact::getCountComponent($id, $this->_contactId);
       }
 
       if ($displayStyle === 'Tab with table' && $this->_multiRecordDisplay != 'single') {
diff --git a/civicrm/CRM/Contribute/BAO/Contribution.php b/civicrm/CRM/Contribute/BAO/Contribution.php
index 8f1c8b07f0a32e4b0d556dea87c09ad2547be445..8851522c7486cfb77333e6206fa69391313083b5 100644
--- a/civicrm/CRM/Contribute/BAO/Contribution.php
+++ b/civicrm/CRM/Contribute/BAO/Contribution.php
@@ -76,13 +76,6 @@ class CRM_Contribute_BAO_Contribution extends CRM_Contribute_DAO_Contribution {
    */
   public $trxn_result_code;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Takes an associative array and creates a contribution object.
    *
@@ -512,6 +505,7 @@ class CRM_Contribute_BAO_Contribution extends CRM_Contribute_DAO_Contribution {
     CRM_Contribute_BAO_ContributionSoft::processSoftContribution($params, $contribution);
 
     if (!empty($params['id']) && !empty($params['contribution_status_id'])
+      && CRM_Core_Component::isEnabled('CiviPledge')
     ) {
       self::disconnectPledgePaymentsIfCancelled((int) $params['id'], CRM_Core_PseudoConstant::getName('CRM_Contribute_BAO_Contribution', 'contribution_status_id', $params['contribution_status_id']));
     }
@@ -1164,34 +1158,7 @@ class CRM_Contribute_BAO_Contribution extends CRM_Contribute_DAO_Contribution {
   }
 
   /**
-   * @inheritDoc
-   */
-  public function addSelectWhereClause() {
-    $whereClauses = parent::addSelectWhereClause();
-    if ($whereClauses !== []) {
-      // In this case permisssions have been applied & we assume the
-      // financialaclreport is applying these
-      // https://github.com/JMAConsulting/biz.jmaconsulting.financialaclreport/blob/master/financialaclreport.php#L107
-      return $whereClauses;
-    }
-
-    if (!CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus()) {
-      return $whereClauses;
-    }
-    $types = CRM_Financial_BAO_FinancialType::getAllEnabledAvailableFinancialTypes();
-    if (empty($types)) {
-      $whereClauses['financial_type_id'] = 'IN (0)';
-    }
-    else {
-      $whereClauses['financial_type_id'] = [
-        'IN (' . implode(',', array_keys($types)) . ')',
-      ];
-    }
-    return $whereClauses;
-  }
-
-  /**
-   * @param null $status
+   * @param string $status
    * @param null $startDate
    * @param null $endDate
    *
@@ -2595,6 +2562,8 @@ INNER JOIN civicrm_activity ON civicrm_activity_contact.activity_id = civicrm_ac
 
       CRM_Event_BAO_Event::retrieve($eventParams, $values['event']);
 
+      CRM_Event_BAO_Event::setOutputTimeZone($values['event']);
+
       //get location details
       $locationParams = [
         'entity_id' => $this->_relatedObjects['participant']->event_id,
@@ -4757,6 +4726,9 @@ LIMIT 1;";
     $values = ['event' => []];
 
     CRM_Event_BAO_Event::retrieve($eventParams, $values['event']);
+
+    CRM_Event_BAO_Event::setOutputTimeZone($values['event']);
+
     // add custom fields for event
     $eventGroupTree = CRM_Core_BAO_CustomGroup::getTree('Event', NULL, $eventID);
 
diff --git a/civicrm/CRM/Contribute/BAO/ContributionPage.php b/civicrm/CRM/Contribute/BAO/ContributionPage.php
index a523e252a3e99e8cd7546f98dd65a3002885dcfd..f184d191165b880c40b81410d9234139e8b947aa 100644
--- a/civicrm/CRM/Contribute/BAO/ContributionPage.php
+++ b/civicrm/CRM/Contribute/BAO/ContributionPage.php
@@ -415,10 +415,10 @@ class CRM_Contribute_BAO_ContributionPage extends CRM_Contribute_DAO_Contributio
 
       // use either the contribution or membership receipt, based on whether it’s a membership-related contrib or not
       $sendTemplateParams = [
-        'groupName' => !empty($values['isMembership']) ? 'msg_tpl_workflow_membership' : 'msg_tpl_workflow_contribution',
-        'valueName' => !empty($values['isMembership']) ? 'membership_online_receipt' : 'contribution_online_receipt',
+        'workflow' => !empty($values['isMembership']) ? 'membership_online_receipt' : 'contribution_online_receipt',
         'contactId' => $contactID,
         'tplParams' => $tplParams,
+        'tokenContext' => $tplParams['contributionID'] ? ['contributionId' => (int) $tplParams['contributionID'], 'contactId' => $contactID] : ['contactId' => $contactID],
         'isTest' => $isTest,
         'PDFFilename' => 'receipt.pdf',
       ];
@@ -820,7 +820,7 @@ LEFT JOIN  civicrm_premiums            ON ( civicrm_premiums.entity_id = civicrm
         // @todo - the component is enabled check should be done within getIncomeFinancialType
         // It looks to me like test cover was NOT added to cover the change
         // that added this so we need to assume there is no test cover
-        if (array_key_exists('CiviContribute', CRM_Core_Component::getEnabledComponents())) {
+        if (CRM_Core_Component::isEnabled('CiviContribute')) {
           // if check_permission has been passed in (not Null) then restrict.
           return CRM_Financial_BAO_FinancialType::getIncomeFinancialType($props['check_permissions'] ?? TRUE);
         }
diff --git a/civicrm/CRM/Contribute/BAO/ContributionRecur.php b/civicrm/CRM/Contribute/BAO/ContributionRecur.php
index 980782b6a071266c7728148df335abb49858c3ce..3ce962e062f912a92c1d3f0a33f000a93c34ad8b 100644
--- a/civicrm/CRM/Contribute/BAO/ContributionRecur.php
+++ b/civicrm/CRM/Contribute/BAO/ContributionRecur.php
@@ -1037,8 +1037,8 @@ INNER JOIN civicrm_contribution       con ON ( con.id = mp.contribution_id )
     $params = [];
     switch ($fieldName) {
       case 'payment_processor_id':
-        if (isset(\Civi::$statics[__CLASS__]['buildoptions_payment_processor_id'])) {
-          return \Civi::$statics[__CLASS__]['buildoptions_payment_processor_id'];
+        if (isset(\Civi::$statics[__CLASS__]['buildoptions_payment_processor_id'][$context])) {
+          return \Civi::$statics[__CLASS__]['buildoptions_payment_processor_id'][$context];
         }
         $baoName = 'CRM_Contribute_BAO_ContributionRecur';
         $params['condition']['test'] = "is_test = 0";
@@ -1057,7 +1057,7 @@ INNER JOIN civicrm_contribution       con ON ( con.id = mp.contribution_id )
         }
         $allProcessors = $liveProcessors + $testProcessors;
         ksort($allProcessors);
-        \Civi::$statics[__CLASS__]['buildoptions_payment_processor_id'] = $allProcessors;
+        \Civi::$statics[__CLASS__]['buildoptions_payment_processor_id'][$context] = $allProcessors;
         return $allProcessors;
     }
     return CRM_Core_PseudoConstant::get(__CLASS__, $fieldName, $params, $context);
diff --git a/civicrm/CRM/Contribute/BAO/ContributionSoft.php b/civicrm/CRM/Contribute/BAO/ContributionSoft.php
index 655f112cd92b6a120434b490f35c513c1c9d25a4..7d93a9250a577dd9d54d6e1e27259c5273f72b27 100644
--- a/civicrm/CRM/Contribute/BAO/ContributionSoft.php
+++ b/civicrm/CRM/Contribute/BAO/ContributionSoft.php
@@ -18,13 +18,6 @@ use Civi\Api4\Contribution;
  */
 class CRM_Contribute_BAO_ContributionSoft extends CRM_Contribute_DAO_ContributionSoft {
 
-  /**
-   * Construct method.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Add contribution soft credit record.
    *
diff --git a/civicrm/CRM/Contribute/BAO/Premium.php b/civicrm/CRM/Contribute/BAO/Premium.php
index b89c6ca158d9234e1e131377e94782611395b01b..8440521b997daf324e09d90b83f60236fe8dd00d 100644
--- a/civicrm/CRM/Contribute/BAO/Premium.php
+++ b/civicrm/CRM/Contribute/BAO/Premium.php
@@ -23,13 +23,6 @@ class CRM_Contribute_BAO_Premium extends CRM_Contribute_DAO_Premium {
    */
   private static $productInfo;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -151,22 +144,19 @@ class CRM_Contribute_BAO_Premium extends CRM_Contribute_DAO_Premium {
   }
 
   /**
-   * Build Premium B im Contribution Pages.
+   * Build Premium Preview block for Contribution Pages.
    *
    * @param CRM_Core_Form $form
-   * @param int $productID
-   * @param int $premiumProductID
+   * @param int|null $productID
+   *
+   * @return void
    */
-  public function buildPremiumPreviewBlock($form, $productID, $premiumProductID = NULL) {
-    if ($premiumProductID) {
-      $dao = new CRM_Contribute_DAO_PremiumsProduct();
-      $dao->id = $premiumProductID;
-      $dao->find(TRUE);
-      $productID = $dao->product_id;
-    }
+  public static function buildPremiumPreviewBlock($form, $productID) {
     $productDAO = new CRM_Contribute_DAO_Product();
     $productDAO->id = $productID;
     $productDAO->is_active = 1;
+    $products = [];
+
     if ($productDAO->find(TRUE)) {
       CRM_Core_DAO::storeValues($productDAO, $products[$productDAO->id]);
     }
diff --git a/civicrm/CRM/Contribute/BAO/Product.php b/civicrm/CRM/Contribute/BAO/Product.php
index f39e4e124fcbbce7d343cc44509594771e9de7e2..7c7f9ff164a3457502e22b30974dedb374e9d876 100644
--- a/civicrm/CRM/Contribute/BAO/Product.php
+++ b/civicrm/CRM/Contribute/BAO/Product.php
@@ -22,13 +22,6 @@ class CRM_Contribute_BAO_Product extends CRM_Contribute_DAO_Product {
    */
   public static $_defaultContributionType = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
diff --git a/civicrm/CRM/Contribute/BAO/Query.php b/civicrm/CRM/Contribute/BAO/Query.php
index e5aabe2a970f87942bccd985c760adf02f249232..5a762d3f446bf7b8eaf59b98b275c5dd5a8725d6 100644
--- a/civicrm/CRM/Contribute/BAO/Query.php
+++ b/civicrm/CRM/Contribute/BAO/Query.php
@@ -1088,7 +1088,7 @@ class CRM_Contribute_BAO_Query extends CRM_Core_BAO_Query {
    *
    * Extracted into separate function to improve readability of main select function.
    *
-   * @param $query
+   * @param CRM_Contact_BAO_Query $query
    */
   private static function addSoftCreditFields(&$query) {
     $includeSoftCredits = self::isSoftCreditOptionEnabled($query->_params);
diff --git a/civicrm/CRM/Contribute/DAO/Contribution.php b/civicrm/CRM/Contribute/DAO/Contribution.php
index b9093b4986bbc43a836a91af6e01e823236a5b83..a53aeea42ab573f2631abbe8463156df0b4142ea 100644
--- a/civicrm/CRM/Contribute/DAO/Contribution.php
+++ b/civicrm/CRM/Contribute/DAO/Contribution.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/Contribution.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b14fa847767daf3723033f41dbca9612)
+ * (GenCodeChecksum:204947e70942c2db4fb9b84398818aa1)
  */
 
 /**
@@ -53,205 +53,267 @@ class CRM_Contribute_DAO_Contribution extends CRM_Core_DAO {
   /**
    * Contribution ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * FK to Financial Type for (total_amount - non_deductible_amount).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * The Contribution Page which triggered this contribution
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_page_id;
 
   /**
    * FK to Payment Instrument
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_instrument_id;
 
   /**
    * Date contribution was received - not necessarily the creation date of the record
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $receive_date;
 
   /**
    * Portion of total amount which is NOT tax deductible. Equal to total_amount for non-deductible financial types.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $non_deductible_amount;
 
   /**
    * Total amount of this contribution. Use market value for non-monetary gifts.
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $total_amount;
 
   /**
    * actual processor fee if known - may be 0.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fee_amount;
 
   /**
    * actual funds transfer amount. total less fees. if processor does not report actual fee during transaction, this is set to total_amount.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $net_amount;
 
   /**
    * unique transaction id. may be processor id, bank id + trans id, or account number + check number... depending on payment_method
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $trxn_id;
 
   /**
    * unique invoice id, system generated or passed in
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $invoice_id;
 
   /**
    * Human readable invoice number
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $invoice_number;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * when was gift cancelled
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cancel_date;
 
   /**
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cancel_reason;
 
   /**
    * when (if) receipt was sent. populated automatically for online donations w/ automatic receipting
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $receipt_date;
 
   /**
    * when (if) was donor thanked
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_date;
 
   /**
    * Origin of this Contribution.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $source;
 
   /**
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount_level;
 
   /**
    * Conditional foreign key to civicrm_contribution_recur id. Each contribution made in connection with a recurring contribution carries a foreign key to the recurring contribution record. This assumes we can track these processor initiated events.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_recur_id;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_test;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_pay_later;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_status_id;
 
   /**
    * Conditional foreign key to civicrm_address.id. We insert an address record for each contribution when we have associated billing name and address data.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $address_id;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $check_number;
 
   /**
    * The campaign for which this contribution has been triggered.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * unique credit note id, system generated or passed in
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $creditnote_id;
 
   /**
    * Total tax amount of this contribution.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $tax_amount;
 
   /**
    * Stores the date when revenue should be recognized.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $revenue_recognition_date;
 
   /**
    * Shows this is a template for recurring contributions.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_template;
 
diff --git a/civicrm/CRM/Contribute/DAO/ContributionPage.php b/civicrm/CRM/Contribute/DAO/ContributionPage.php
index 6af62986b0a00b49a9496185d7485bbb1c735f91..1efbad0a12d2ec286fc7f0a7c81a34a5b4673c68 100644
--- a/civicrm/CRM/Contribute/DAO/ContributionPage.php
+++ b/civicrm/CRM/Contribute/DAO/ContributionPage.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/ContributionPage.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:5f0160b47f79e1eeb1f920b4e221953d)
+ * (GenCodeChecksum:e33f9a31d9be56f20e20c753313478d1)
  */
 
 /**
@@ -41,322 +41,414 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
   /**
    * Contribution ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Contribution Page title. For top of page display
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Text and html allowed. Displayed below title.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $intro_text;
 
   /**
    * default financial type assigned to contributions submitted via this page, e.g. Contribution, Campaign Contribution
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * Payment Processors configured for this contribution Page
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_processor;
 
   /**
    * if true - processing logic must reject transaction at confirmation stage if pay method != credit card
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_credit_card_only;
 
   /**
    * if true - allows real-time monetary transactions otherwise non-monetary transactions
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_monetary;
 
   /**
    * if true - allows recurring contributions, valid only for PayPal_Standard
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_recur;
 
   /**
    * if false, the confirm page in contribution pages gets skipped
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_confirm_enabled;
 
   /**
    * Supported recurring frequency units.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $recur_frequency_unit;
 
   /**
    * if true - supports recurring intervals
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_recur_interval;
 
   /**
    * if true - asks user for recurring installments
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_recur_installments;
 
   /**
    * if true - user is able to adjust payment start date
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $adjust_recur_start_date;
 
   /**
    * if true - allows the user to send payment directly to the org later
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_pay_later;
 
   /**
    * The text displayed to the user in the main form
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pay_later_text;
 
   /**
    * The receipt sent to the user instead of the normal receipt text
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pay_later_receipt;
 
   /**
    * is partial payment enabled for this online contribution page
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_partial_payment;
 
   /**
    * Initial amount label for partial payment
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $initial_amount_label;
 
   /**
    * Initial amount help text for partial payment
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $initial_amount_help_text;
 
   /**
    * Minimum initial amount for partial payment
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $min_initial_amount;
 
   /**
    * if true, page will include an input text field where user can enter their own amount
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_allow_other_amount;
 
   /**
    * FK to civicrm_option_value.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $default_amount_id;
 
   /**
    * if other amounts allowed, user can configure minimum allowed.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $min_amount;
 
   /**
    * if other amounts allowed, user can configure maximum allowed.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_amount;
 
   /**
    * The target goal for this page, allows people to build a goal meter
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $goal_amount;
 
   /**
    * Title for Thank-you page (header title tag, and display at the top of the page).
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_title;
 
   /**
    * text and html allowed. displayed above result on success page
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_text;
 
   /**
    * Text and html allowed. displayed at the bottom of the success page. Common usage is to include link(s) to other pages such as tell-a-friend, etc.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_footer;
 
   /**
    * if true, receipt is automatically emailed to contact on success
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_email_receipt;
 
   /**
    * FROM email name used for receipts generated by contributions to this contribution page.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $receipt_from_name;
 
   /**
    * FROM email address used for receipts generated by contributions to this contribution page.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $receipt_from_email;
 
   /**
    * comma-separated list of email addresses to cc each time a receipt is sent
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cc_receipt;
 
   /**
    * comma-separated list of email addresses to bcc each time a receipt is sent
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $bcc_receipt;
 
   /**
    * text to include above standard receipt info on receipt email. emails are text-only, so do not allow html for now
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $receipt_text;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Text and html allowed. Displayed at the bottom of the first page of the contribution wizard.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $footer_text;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount_block_is_active;
 
   /**
    * Date and time that this page starts.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * Date and time that this page ends. May be NULL if no defined end date/time
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * FK to civicrm_contact, who created this contribution page
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Date and time that contribution page was created.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * The campaign for which we are collecting contributions with this page.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * Can people share the contribution page through social media?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_share;
 
   /**
    * if true - billing block is required for online contribution page
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_billing_required;
 
   /**
    * Contribution Page Public title
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frontend_title;
 
diff --git a/civicrm/CRM/Contribute/DAO/ContributionProduct.php b/civicrm/CRM/Contribute/DAO/ContributionProduct.php
index 6b90bff5898b7852b58884e26d7bceb4832319aa..562d28f386e06ee18f65fb82f3f41342a046acfc 100644
--- a/civicrm/CRM/Contribute/DAO/ContributionProduct.php
+++ b/civicrm/CRM/Contribute/DAO/ContributionProduct.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/ContributionProduct.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b8b2fd54470db337ec6285ac53bc51b1)
+ * (GenCodeChecksum:55d9ad3d7acb1129577589352f6010cd)
  */
 
 /**
@@ -32,62 +32,82 @@ class CRM_Contribute_DAO_ContributionProduct extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $product_id;
 
   /**
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_id;
 
   /**
    * Option value selected if applicable - e.g. color, size etc.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $product_option;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $quantity;
 
   /**
    * Optional. Can be used to record the date this product was fulfilled or shipped.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fulfilled_date;
 
   /**
    * Actual start date for a time-delimited premium (subscription, service or membership)
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * Actual end date for a time-delimited premium (subscription, service or membership)
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $comment;
 
   /**
    * FK to Financial Type(for membership price sets only).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
diff --git a/civicrm/CRM/Contribute/DAO/ContributionRecur.php b/civicrm/CRM/Contribute/DAO/ContributionRecur.php
index 822ce923ccb325e22b2dc5357988d21e41244181..830712e5f3e1d629722847ef001c13cd802a0462 100644
--- a/civicrm/CRM/Contribute/DAO/ContributionRecur.php
+++ b/civicrm/CRM/Contribute/DAO/ContributionRecur.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/ContributionRecur.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:5f08744178821ce074d21fe4cdddbdaa)
+ * (GenCodeChecksum:6d77881ddf63ce2b56752b87c0d37ee8)
  */
 
 /**
@@ -34,199 +34,257 @@ class CRM_Contribute_DAO_ContributionRecur extends CRM_Core_DAO {
   /**
    * Contribution Recur ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Foreign key to civicrm_contact.id.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Amount to be collected (including any sales tax) by payment processor each recurrence.
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * Time units for recurrence of payment.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frequency_unit;
 
   /**
    * Number of time units for recurrence of payment.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frequency_interval;
 
   /**
    * Total number of payments to be made. Set this to 0 if this is an open-ended commitment i.e. no set end date.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $installments;
 
   /**
    * The date the first scheduled recurring contribution occurs.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * When this recurring contribution record was created.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $create_date;
 
   /**
    * Last updated date for this record. mostly the last time a payment was received
    *
-   * @var timestamp
+   * @var string|null
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
   /**
    * Date this recurring contribution was cancelled by contributor- if we can get access to it
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cancel_date;
 
   /**
    * Free text field for a reason for cancelling
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cancel_reason;
 
   /**
    * Date this recurring contribution finished successfully
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * Possibly needed to store a unique identifier for this recurring payment order - if this is available from the processor??
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $processor_id;
 
   /**
    * Optionally used to store a link to a payment token used for this recurring contribution.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_token_id;
 
   /**
    * unique transaction id. may be processor id, bank id + trans id, or account number + check number... depending on payment_method
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $trxn_id;
 
   /**
    * unique invoice id, system generated or passed in
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $invoice_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_status_id;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_test;
 
   /**
    * Day in the period when the payment should be charged e.g. 1st of month, 15th etc.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cycle_day;
 
   /**
    * Next scheduled date
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $next_sched_contribution_date;
 
   /**
    * Number of failed charge attempts since last success. Business rule could be set to deactivate on more than x failures.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $failure_count;
 
   /**
    * Date to retry failed attempt
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $failure_retry_date;
 
   /**
    * Some systems allow contributor to set a number of installments - but then auto-renew the subscription or commitment if they do not cancel.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $auto_renew;
 
   /**
    * Foreign key to civicrm_payment_processor.id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_processor_id;
 
   /**
    * FK to Financial Type
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * FK to Payment Instrument
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_instrument_id;
 
   /**
    * The campaign for which this contribution has been triggered.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * if true, receipt is automatically emailed to contact on each successful payment
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_email_receipt;
 
@@ -724,7 +782,7 @@ class CRM_Contribute_DAO_ContributionRecur extends CRM_Core_DAO {
           'pseudoconstant' => [
             'table' => 'civicrm_payment_processor',
             'keyColumn' => 'id',
-            'labelColumn' => 'name',
+            'labelColumn' => 'title',
           ],
           'add' => '3.3',
         ],
diff --git a/civicrm/CRM/Contribute/DAO/ContributionSoft.php b/civicrm/CRM/Contribute/DAO/ContributionSoft.php
index d41e62bb5eba1112e271a22d281ee7fe1cee1813..5db113938a02761146f3567611ed9f43cfb9b8b4 100644
--- a/civicrm/CRM/Contribute/DAO/ContributionSoft.php
+++ b/civicrm/CRM/Contribute/DAO/ContributionSoft.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/ContributionSoft.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:48d432f2fe34f212c110e21cbd229fc5)
+ * (GenCodeChecksum:78899ec4310e1facc05fdb11cfac1432)
  */
 
 /**
@@ -34,64 +34,84 @@ class CRM_Contribute_DAO_ContributionSoft extends CRM_Core_DAO {
   /**
    * Soft Credit ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to contribution table.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Amount of this soft credit.
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * FK to civicrm_pcp.id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pcp_id;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pcp_display_in_roll;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pcp_roll_nickname;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pcp_personal_note;
 
   /**
    * Soft Credit Type ID.Implicit FK to civicrm_option_value where option_group = soft_credit_type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $soft_credit_type_id;
 
diff --git a/civicrm/CRM/Contribute/DAO/Premium.php b/civicrm/CRM/Contribute/DAO/Premium.php
index 6c9603b22d613fbe10a65c648f6901b4de344a76..803ac3598f4eca500001ee89cc9d5e1aa48af17c 100644
--- a/civicrm/CRM/Contribute/DAO/Premium.php
+++ b/civicrm/CRM/Contribute/DAO/Premium.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/Premium.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:7ea059e7d6ccfe258964ab274089ac60)
+ * (GenCodeChecksum:a458d7c03a26386d799d9d69db691051)
  */
 
 /**
@@ -32,7 +32,9 @@ class CRM_Contribute_DAO_Premium extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -40,65 +42,85 @@ class CRM_Contribute_DAO_Premium extends CRM_Core_DAO {
    * Joins these premium settings to another object. Always civicrm_contribution_page for now.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * Is the Premiums feature enabled for this page?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $premiums_active;
 
   /**
    * Title for Premiums section.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $premiums_intro_title;
 
   /**
    * Displayed in <div> at top of Premiums section of page. Text and HTML allowed.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $premiums_intro_text;
 
   /**
    * This email address is included in receipts if it is populated and a premium has been selected.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(100))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $premiums_contact_email;
 
   /**
    * This phone number is included in receipts if it is populated and a premium has been selected.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(50))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $premiums_contact_phone;
 
   /**
    * Boolean. Should we automatically display minimum contribution amount text after the premium descriptions.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $premiums_display_min_contribution;
 
   /**
    * Label displayed for No Thank-you option in premiums block (e.g. No thank you)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $premiums_nothankyou_label;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $premiums_nothankyou_position;
 
diff --git a/civicrm/CRM/Contribute/DAO/PremiumsProduct.php b/civicrm/CRM/Contribute/DAO/PremiumsProduct.php
index 29c595b380d16ee54ef6effa58ad1fb71181ffb5..7e68aed24512ff8f1f08bacf9470281ad1d1c4f9 100644
--- a/civicrm/CRM/Contribute/DAO/PremiumsProduct.php
+++ b/civicrm/CRM/Contribute/DAO/PremiumsProduct.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/PremiumsProduct.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:41745812fcc812419159f6a93b52a715)
+ * (GenCodeChecksum:46c21503a7dd4e0e8dc4b2221ae8bd0a)
  */
 
 /**
@@ -34,33 +34,43 @@ class CRM_Contribute_DAO_PremiumsProduct extends CRM_Core_DAO {
   /**
    * Contribution ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Foreign key to premiums settings record.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $premiums_id;
 
   /**
    * Foreign key to each product object.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $product_id;
 
   /**
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * FK to Financial Type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
diff --git a/civicrm/CRM/Contribute/DAO/Product.php b/civicrm/CRM/Contribute/DAO/Product.php
index 81b1ef81b27817cd9d2641ceeed17fa83c2a995f..70b7ddee7cf75a9bba945a855d4ecdfa4645c8fd 100644
--- a/civicrm/CRM/Contribute/DAO/Product.php
+++ b/civicrm/CRM/Contribute/DAO/Product.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/Product.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b70d9c858ea4a663872931e6028b0ead)
+ * (GenCodeChecksum:91d2e693a0c58cadf111686646d057d6)
  */
 
 /**
@@ -39,7 +39,9 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -47,83 +49,107 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
    * Required product/premium name
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Optional description of the product/premium.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Optional product sku or code.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(50))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $sku;
 
   /**
    * Store comma-delimited list of color, size, etc. options for the product.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $options;
 
   /**
    * Full or relative URL to uploaded image - fullsize.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $image;
 
   /**
    * Full or relative URL to image thumbnail.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thumbnail;
 
   /**
    * Sell price or market value for premiums. For tax-deductible contributions, this will be stored as non_deductible_amount in the contribution record.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $price;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * FK to Financial Type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * Minimum contribution required to be eligible to select this premium.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $min_contribution;
 
   /**
    * Actual cost of this product. Useful to determine net return from sale or using this as an incentive.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cost;
 
   /**
    * Disabling premium removes it from the premiums_premium join table below.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
@@ -131,40 +157,52 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
    * Rolling means we set start/end based on current day, fixed means we set start/end for current year or month
    * (e.g. 1 year + fixed -> we would set start/end for 1/1/06 thru 12/31/06 for any premium chosen in 2006)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $period_type;
 
   /**
    * Month and day (MMDD) that fixed period type subscription or membership starts.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fixed_period_start_day;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $duration_unit;
 
   /**
    * Number of units for total duration of subscription, service, membership (e.g. 12 Months).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $duration_interval;
 
   /**
    * Frequency unit and interval allow option to store actual delivery frequency for a subscription or service.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frequency_unit;
 
   /**
    * Number of units for delivery frequency of subscription, service, membership (e.g. every 3 Months).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frequency_interval;
 
diff --git a/civicrm/CRM/Contribute/DAO/Widget.php b/civicrm/CRM/Contribute/DAO/Widget.php
index 9891471e38e26c8355c9683296d97ae96caccfb3..c2d381e35ca6eed8a9dddf71fb3b57faced600d5 100644
--- a/civicrm/CRM/Contribute/DAO/Widget.php
+++ b/civicrm/CRM/Contribute/DAO/Widget.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/Widget.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b27e8be28af42d6dfa9a76589ed05d7b)
+ * (GenCodeChecksum:4148353263bb1ae6e21aff61b94cc701)
  */
 
 /**
@@ -34,101 +34,135 @@ class CRM_Contribute_DAO_Widget extends CRM_Core_DAO {
   /**
    * Contribution ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The Contribution Page which triggered this contribution
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_page_id;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Widget title.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * URL to Widget logo
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_logo;
 
   /**
    * Button title.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $button_title;
 
   /**
    * About description.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $about;
 
   /**
    * URL to Homepage.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_homepage;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(10))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color_title;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(10))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color_button;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(10))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color_bar;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(10))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color_main_text;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(10))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color_main;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(10))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color_main_bg;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(10))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color_bg;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(10))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color_about_link;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(10))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color_homepage_link;
 
diff --git a/civicrm/CRM/Contribute/Form/AdditionalInfo.php b/civicrm/CRM/Contribute/Form/AdditionalInfo.php
index 442bc286c46532dbf4d8b7057020523583374cc8..ca6ab6cfc2755131de51d126421cca907213292a 100644
--- a/civicrm/CRM/Contribute/Form/AdditionalInfo.php
+++ b/civicrm/CRM/Contribute/Form/AdditionalInfo.php
@@ -435,14 +435,14 @@ class CRM_Contribute_Form_AdditionalInfo {
 
     [$sendReceipt] = CRM_Core_BAO_MessageTemplate::sendTemplate(
       [
-        'groupName' => 'msg_tpl_workflow_contribution',
-        'valueName' => 'contribution_offline_receipt',
+        'workflow' => 'contribution_offline_receipt',
         'contactId' => $params['contact_id'],
         'contributionId' => $params['contribution_id'],
+        'tokenContext' => ['contributionId' => (int) $params['contribution_id'], 'contactId' => $params['contact_id']],
         'from' => $params['from_email_address'],
         'toName' => $contributorDisplayName,
         'toEmail' => $contributorEmail,
-        'isTest' => $form->_mode == 'test',
+        'isTest' => $form->_mode === 'test',
         'PDFFilename' => ts('receipt') . '.pdf',
         'isEmailPdf' => Civi::settings()->get('invoice_is_email_pdf'),
       ]
diff --git a/civicrm/CRM/Contribute/Form/AdditionalPayment.php b/civicrm/CRM/Contribute/Form/AdditionalPayment.php
index eed602b3827f15c0996baaa46ab3d3770d19fdfd..35cd1fb601d3821ecd5a7e80b64d6458a22e1935 100644
--- a/civicrm/CRM/Contribute/Form/AdditionalPayment.php
+++ b/civicrm/CRM/Contribute/Form/AdditionalPayment.php
@@ -264,7 +264,7 @@ class CRM_Contribute_Form_AdditionalPayment extends CRM_Contribute_Form_Abstract
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Contribute/Form/Contribution.php b/civicrm/CRM/Contribute/Form/Contribution.php
index 03db05596d16cac8f77f2edf91eb0227d2ccd747..7a58a71eb2b19cffa33a5adc85aedb964056c474 100644
--- a/civicrm/CRM/Contribute/Form/Contribution.php
+++ b/civicrm/CRM/Contribute/Form/Contribution.php
@@ -266,7 +266,7 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
 
     $this->_fromEmails = CRM_Core_BAO_Email::getFromEmail();
 
-    if (in_array('CiviPledge', CRM_Core_Config::singleton()->enableComponents) && !$this->_formType) {
+    if (CRM_Core_Component::isEnabled('CiviPledge') && !$this->_formType) {
       $this->preProcessPledge();
     }
 
@@ -516,11 +516,6 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
     $this->assign('payNow', FALSE);
     $buildRecurBlock = FALSE;
 
-    // display tax amount on edit contribution page
-    if ($invoicing && $this->_action & CRM_Core_Action::UPDATE && isset($this->_values['tax_amount'])) {
-      $this->assign('totalTaxAmount', $this->_values['tax_amount']);
-    }
-
     if (empty($this->_lineItems) &&
       ($this->_priceSetId || !empty($_POST['price_set_id']))
     ) {
@@ -855,7 +850,7 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   true if no errors, else array of errors
diff --git a/civicrm/CRM/Contribute/Form/Contribution/Confirm.php b/civicrm/CRM/Contribute/Form/Contribution/Confirm.php
index 7f4e62aec049e800bcb5d79df53ca0782e27da6e..bc9ec89272b98cd27fc861d5e08fa263388eb92e 100644
--- a/civicrm/CRM/Contribute/Form/Contribution/Confirm.php
+++ b/civicrm/CRM/Contribute/Form/Contribution/Confirm.php
@@ -520,8 +520,7 @@ class CRM_Contribute_Form_Contribution_Confirm extends CRM_Contribute_Form_Contr
       $this->set('productID', $productID);
       $this->set('option', $option);
     }
-    $config = CRM_Core_Config::singleton();
-    if (in_array('CiviMember', $config->enableComponents) && empty($this->_ccid)) {
+    if (CRM_Core_Component::isEnabled('CiviMember') && empty($this->_ccid)) {
       if (isset($params['selectMembership']) &&
         $params['selectMembership'] !== 'no_thanks'
       ) {
@@ -1324,7 +1323,7 @@ class CRM_Contribute_Form_Contribution_Confirm extends CRM_Contribute_Form_Contr
         \Civi\Api4\Relationship::create(FALSE)
           ->addValue('contact_id_a', $contactID)
           ->addValue('contact_id_b', $orgID)
-          ->addValue('relationship_type_id', CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_RelationshipType', 'Employee of', 'id', 'name_a_b'))
+          ->addValue('relationship_type_id', $relTypeId = CRM_Contact_BAO_RelationshipType::getEmployeeRelationshipTypeID())
           ->addValue('is_permission_a_b:name', 'View and update')
           ->execute();
       }
diff --git a/civicrm/CRM/Contribute/Form/Contribution/Main.php b/civicrm/CRM/Contribute/Form/Contribution/Main.php
index b2734ff205a5da1ee062f5f256681f405049787b..17db610f090d06b48934bca8ce42841fee162103 100644
--- a/civicrm/CRM/Contribute/Form/Contribution/Main.php
+++ b/civicrm/CRM/Contribute/Form/Contribution/Main.php
@@ -372,7 +372,7 @@ class CRM_Contribute_Form_Contribution_Main extends CRM_Contribute_Form_Contribu
     //don't build membership block when pledge_id is passed
     if (empty($this->_values['pledge_id']) && empty($this->_ccid)) {
       $this->_separateMembershipPayment = FALSE;
-      if (in_array('CiviMember', $config->enableComponents)) {
+      if (CRM_Core_Component::isEnabled('CiviMember')) {
         $isTest = 0;
         if ($this->_action & CRM_Core_Action::PREVIEW) {
           $isTest = 1;
@@ -426,8 +426,7 @@ class CRM_Contribute_Form_Contribution_Main extends CRM_Contribute_Form_Contribu
 
     //don't build pledge block when mid is passed
     if (!$this->_mid && empty($this->_ccid)) {
-      $config = CRM_Core_Config::singleton();
-      if (in_array('CiviPledge', $config->enableComponents) && !empty($this->_values['pledge_block_id'])) {
+      if (CRM_Core_Component::isEnabled('CiviPledge') && !empty($this->_values['pledge_block_id'])) {
         CRM_Pledge_BAO_PledgeBlock::buildPledgeBlock($this);
       }
     }
diff --git a/civicrm/CRM/Contribute/Form/ContributionBase.php b/civicrm/CRM/Contribute/Form/ContributionBase.php
index 22eb615be8985eaa89d7ae5dc85e08666ec0513d..f9bd0a36776830e266cec0975aa03c8f03242401 100644
--- a/civicrm/CRM/Contribute/Form/ContributionBase.php
+++ b/civicrm/CRM/Contribute/Form/ContributionBase.php
@@ -526,7 +526,6 @@ class CRM_Contribute_Form_ContributionBase extends CRM_Core_Form {
       'amount_level',
     ];
 
-    $config = CRM_Core_Config::singleton();
     if (isset($this->_values['is_recur']) && !empty($this->_paymentProcessor['is_recur'])) {
       $this->assign('is_recur_enabled', 1);
       $vars = array_merge($vars, [
@@ -537,9 +536,10 @@ class CRM_Contribute_Form_ContributionBase extends CRM_Core_Form {
       ]);
     }
 
-    if (in_array('CiviPledge', $config->enableComponents) &&
-      CRM_Utils_Array::value('is_pledge', $this->_params) == 1
+    if (CRM_Core_Component::isEnabled('CiviPledge') &&
+      !empty($this->_params['is_pledge'])
     ) {
+      // TODO: Assigned variable appears to be unused
       $this->assign('pledge_enabled', 1);
 
       $vars = array_merge($vars, [
@@ -1011,9 +1011,10 @@ class CRM_Contribute_Form_ContributionBase extends CRM_Core_Form {
   /**
    * Check template file exists.
    *
-   * @param string $suffix
+   * @param string|null $suffix
    *
-   * @return null|string
+   * @return string|null
+   *   Template file path, else null
    */
   public function checkTemplateFileExists($suffix = NULL) {
     if ($this->_id) {
diff --git a/civicrm/CRM/Contribute/Form/ContributionPage.php b/civicrm/CRM/Contribute/Form/ContributionPage.php
index 96ac569dddff2d7d05df3a0b4f14d00e525f5616..4694ee13c5330b6bb624c3b52d58e5f17c63f138 100644
--- a/civicrm/CRM/Contribute/Form/ContributionPage.php
+++ b/civicrm/CRM/Contribute/Form/ContributionPage.php
@@ -142,7 +142,7 @@ class CRM_Contribute_Form_ContributionPage extends CRM_Core_Form {
 
     // Preload libraries required by the "Profiles" tab
     $schemas = ['IndividualModel', 'OrganizationModel', 'ContributionModel'];
-    if (in_array('CiviMember', CRM_Core_Config::singleton()->enableComponents)) {
+    if (CRM_Core_Component::isEnabled('CiviMember')) {
       $schemas[] = 'MembershipModel';
     }
     CRM_UF_Page_ProfileEditor::registerProfileScripts();
@@ -219,14 +219,6 @@ class CRM_Contribute_Form_ContributionPage extends CRM_Core_Form {
     }
 
     $session->replaceUserContext($this->_cancelURL);
-    // views are implemented as frozen form
-    if ($this->_action & CRM_Core_Action::VIEW) {
-      $this->freeze();
-      $this->addElement('xbutton', 'done', ts('Done'), [
-        'type' => 'button',
-        'onclick' => "location.href='civicrm/admin/custom/group?reset=1&action=browse'",
-      ]);
-    }
 
     // don't show option for contribution amounts section if membership price set
     // this flag is sent to template
diff --git a/civicrm/CRM/Contribute/Form/ContributionPage/AddProduct.php b/civicrm/CRM/Contribute/Form/ContributionPage/AddProduct.php
index f108ab141b901e427b760e9af39b91ed7d8f7813..ca0a6f9b4aa7552361077519ed612b00abc9e299 100644
--- a/civicrm/CRM/Contribute/Form/ContributionPage/AddProduct.php
+++ b/civicrm/CRM/Contribute/Form/ContributionPage/AddProduct.php
@@ -123,7 +123,12 @@ class CRM_Contribute_Form_ContributionPage_AddProduct extends CRM_Contribute_For
     }
 
     if ($this->_action & CRM_Core_Action::PREVIEW) {
-      CRM_Contribute_BAO_Premium::buildPremiumPreviewBlock($this, NULL, $this->_pid);
+      $dao = new CRM_Contribute_DAO_PremiumsProduct();
+      $dao->id = $this->_pid;
+      $dao->find(TRUE);
+      $productID = $dao->product_id;
+
+      CRM_Contribute_BAO_Premium::buildPremiumPreviewBlock($this, $productID);
       $this->addButtons([
         [
           'type' => 'next',
diff --git a/civicrm/CRM/Contribute/Form/ContributionPage/Amount.php b/civicrm/CRM/Contribute/Form/ContributionPage/Amount.php
index cbf3d450465b57ad5e564a34d0699fcdb3b7da19..2a2a43546dd9e3321f3f9eac641b476e2ec29066 100644
--- a/civicrm/CRM/Contribute/Form/ContributionPage/Amount.php
+++ b/civicrm/CRM/Contribute/Form/ContributionPage/Amount.php
@@ -152,8 +152,7 @@ class CRM_Contribute_Form_ContributionPage_Amount extends CRM_Contribute_Form_Co
     ]);
 
     //CiviPledge fields.
-    $config = CRM_Core_Config::singleton();
-    if (in_array('CiviPledge', $config->enableComponents)) {
+    if (CRM_Core_Component::isEnabled('CiviPledge')) {
       $this->assign('civiPledge', TRUE);
       $this->addElement('checkbox', 'is_pledge_active', ts('Pledges'),
         NULL, ['onclick' => "showHideAmountBlock( this, 'is_pledge_active' ); return showHideByValue('is_pledge_active',true,'pledgeFields','table-row','radio',false);"]
@@ -290,7 +289,7 @@ class CRM_Contribute_Form_ContributionPage_Amount extends CRM_Contribute_Form_Co
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    *
    * @return bool|array
diff --git a/civicrm/CRM/Contribute/Form/ContributionPage/Settings.php b/civicrm/CRM/Contribute/Form/ContributionPage/Settings.php
index f9adcb47c9bea3541cc7af6ccfad050d02d97e89..6e0341dcb8c25d30def62e1837e741b4dea0230e 100644
--- a/civicrm/CRM/Contribute/Form/ContributionPage/Settings.php
+++ b/civicrm/CRM/Contribute/Form/ContributionPage/Settings.php
@@ -226,7 +226,7 @@ class CRM_Contribute_Form_ContributionPage_Settings extends CRM_Contribute_Form_
    *   Posted values of the form.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Contribute/Form/ContributionPage/TabHeader.php b/civicrm/CRM/Contribute/Form/ContributionPage/TabHeader.php
index 94c7dc01d54f1b30209bf8bd317e9af2ed1d0660..c103759321bc4fd732c7510c1e55c95f7ef451cc 100644
--- a/civicrm/CRM/Contribute/Form/ContributionPage/TabHeader.php
+++ b/civicrm/CRM/Contribute/Form/ContributionPage/TabHeader.php
@@ -45,7 +45,7 @@ class CRM_Contribute_Form_ContributionPage_TabHeader {
   /**
    * @param CRM_Core_Form $form
    *
-   * @return array
+   * @return array|null
    */
   public static function process(&$form) {
     if ($form->getVar('_id') <= 0) {
diff --git a/civicrm/CRM/Contribute/Form/ContributionPage/Widget.php b/civicrm/CRM/Contribute/Form/ContributionPage/Widget.php
index f962551188c5f44a01cd8a06fc7fb532c136c669..937d7457c35a43236c50ec980e6375235353fa5e 100644
--- a/civicrm/CRM/Contribute/Form/ContributionPage/Widget.php
+++ b/civicrm/CRM/Contribute/Form/ContributionPage/Widget.php
@@ -204,7 +204,7 @@ class CRM_Contribute_Form_ContributionPage_Widget extends CRM_Contribute_Form_Co
    *   (ref.) an assoc array of name/value pairs.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   mixed true or array of errors
diff --git a/civicrm/CRM/Contribute/Form/SoftCredit.php b/civicrm/CRM/Contribute/Form/SoftCredit.php
index eb8e75014b2f0a2f21bd7beb4602a09fc07509bf..648235a5d7272050c6501dc4c80448867820a13b 100644
--- a/civicrm/CRM/Contribute/Form/SoftCredit.php
+++ b/civicrm/CRM/Contribute/Form/SoftCredit.php
@@ -169,7 +169,7 @@ class CRM_Contribute_Form_SoftCredit {
    *   The input form values.
    *
    * @param $errors
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   Array of errors
diff --git a/civicrm/CRM/Contribute/Form/Task/PDFLetter.php b/civicrm/CRM/Contribute/Form/Task/PDFLetter.php
index 32f3ccb21c7da59dd73094cd84285edeabf9e88b..a01c6fc8d18d1dc6db928e7d76f0612880364a20 100644
--- a/civicrm/CRM/Contribute/Form/Task/PDFLetter.php
+++ b/civicrm/CRM/Contribute/Form/Task/PDFLetter.php
@@ -465,6 +465,7 @@ class CRM_Contribute_Form_Task_PDFLetter extends CRM_Contribute_Form_Task {
       }
 
       $defaults = [
+        'contactId' => $contact['id'],
         'toName' => $contact['display_name'],
         'toEmail' => $contact['email'],
         'text' => '',
@@ -488,8 +489,7 @@ class CRM_Contribute_Form_Task_PDFLetter extends CRM_Contribute_Form_Task {
         $defaults['html'] = ts('Please see attached');
         $defaults['attachments'] = [CRM_Utils_Mail::appendPDF('ThankYou.pdf', $html, $format)];
       }
-      $params = array_merge($defaults);
-      return CRM_Utils_Mail::send($params);
+      return CRM_Utils_Mail::send($defaults);
     }
     catch (CRM_Core_Exception $e) {
       return FALSE;
diff --git a/civicrm/CRM/Contribute/Form/Task/Print.php b/civicrm/CRM/Contribute/Form/Task/Print.php
index b1dc6b658fe532954809796f1196ba5439c51588..4a24fd9bdeb4a76231dfc251e89238ee915be9f5 100644
--- a/civicrm/CRM/Contribute/Form/Task/Print.php
+++ b/civicrm/CRM/Contribute/Form/Task/Print.php
@@ -27,7 +27,7 @@ class CRM_Contribute_Form_Task_Print extends CRM_Contribute_Form_Task {
     parent::preprocess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
 
     // get the formatted params
     $queryParams = $this->get('queryParams');
diff --git a/civicrm/CRM/Contribute/Form/Task/TaskTrait.php b/civicrm/CRM/Contribute/Form/Task/TaskTrait.php
index 04e64a349bfe974437fd3e8409dca3b54291683a..69bcf25b647c906d7b1cbe0e31bcc9d16da94d12 100644
--- a/civicrm/CRM/Contribute/Form/Task/TaskTrait.php
+++ b/civicrm/CRM/Contribute/Form/Task/TaskTrait.php
@@ -143,7 +143,7 @@ trait CRM_Contribute_Form_Task_TaskTrait {
   /**
    * Is only one entity being processed?
    *
-   * @return false
+   * @return bool
    */
   public function isSingle() {
     return count($this->getIDs()) === 1;
diff --git a/civicrm/CRM/Contribute/Import/Form/MapField.php b/civicrm/CRM/Contribute/Import/Form/MapField.php
index 65a873344036e575571c3e06a80cd6292dd6636b..8b20bb97934786693ced2ae621c673401c8b63e0 100644
--- a/civicrm/CRM/Contribute/Import/Form/MapField.php
+++ b/civicrm/CRM/Contribute/Import/Form/MapField.php
@@ -315,7 +315,7 @@ class CRM_Contribute_Import_Form_MapField extends CRM_Import_Form_MapField {
    *   Posted values of the form.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Contribute/Import/Parser/Contribution.php b/civicrm/CRM/Contribute/Import/Parser/Contribution.php
index 2f1e78d81c91a7bbd94c1e76aa9f88377d616fe1..3845ce2e5b24365e2571cff849419bc2be35b928 100644
--- a/civicrm/CRM/Contribute/Import/Parser/Contribution.php
+++ b/civicrm/CRM/Contribute/Import/Parser/Contribution.php
@@ -607,14 +607,12 @@ class CRM_Contribute_Import_Parser_Contribution extends CRM_Contribute_Import_Pa
    * convert it into the same format that we use in QF and BAO object
    *
    * @param array $params
-   *   Associative array of property name/value.
-   *                             pairs to insert in new contact.
+   *   Associative array of property name/value
+   *   pairs to insert in new contact.
    * @param array $values
    *   The reformatted properties that we can use internally.
-   *                            '
-   *
    * @param bool $create
-   * @param null $onDuplicate
+   * @param int $onDuplicate
    *
    * @return array|CRM_Error
    */
@@ -958,6 +956,13 @@ class CRM_Contribute_Import_Parser_Contribution extends CRM_Contribute_Import_Pa
           }
           break;
 
+        case 'contribution_campaign_id':
+          if (empty(CRM_Core_DAO::getFieldValue('CRM_Campaign_DAO_Campaign', $params['contribution_campaign_id']))) {
+            return civicrm_api3_create_error('Invalid Campaign ID provided. Contribution row was skipped.');
+          }
+          $values['contribution_campaign_id'] = $params['contribution_campaign_id'];
+          break;
+
         default:
           // Hande name or label for fields with options.
           if (isset($fields[$key]) &&
diff --git a/civicrm/CRM/Contribute/Page/ContributionPage.php b/civicrm/CRM/Contribute/Page/ContributionPage.php
index ebb64417a5cbb2a2f12c5f94c9099f882cabc362..9f96923ec30fa59bbb3460ae333dfc5e2100b4b5 100644
--- a/civicrm/CRM/Contribute/Page/ContributionPage.php
+++ b/civicrm/CRM/Contribute/Page/ContributionPage.php
@@ -299,15 +299,11 @@ class CRM_Contribute_Page_ContributionPage extends CRM_Core_Page {
       return $controller->run();
     }
     elseif ($action & CRM_Core_Action::UPDATE) {
-      $config = CRM_Core_Config::singleton();
-
       // assign vars to templates
       $this->assign('id', $id);
       $this->assign('title', CRM_Core_DAO::getFieldValue('CRM_Contribute_DAO_ContributionPage', $id, 'title'));
       $this->assign('is_active', CRM_Core_DAO::getFieldValue('CRM_Contribute_DAO_ContributionPage', $id, 'is_active'));
-      if (in_array('CiviMember', $config->enableComponents)) {
-        $this->assign('CiviMember', TRUE);
-      }
+      $this->assign('CiviMember', CRM_Core_Component::isEnabled('CiviMember'));
     }
     elseif ($action & CRM_Core_Action::COPY) {
       // @todo Unused local variable can be safely removed.
@@ -456,9 +452,10 @@ ORDER BY is_active desc, title asc
     //get configure actions links.
     $configureActionLinks = self::configureActionLinks();
 
+    $contributions = [];
     while ($dao->fetch()) {
-      $contribution[$dao->id] = [];
-      CRM_Core_DAO::storeValues($dao, $contribution[$dao->id]);
+      $contributions[$dao->id] = [];
+      CRM_Core_DAO::storeValues($dao, $contributions[$dao->id]);
 
       // form all action links
       $action = array_sum(array_keys(self::actionLinks()));
@@ -486,7 +483,7 @@ ORDER BY is_active desc, title asc
 
       //build the configure links.
       $sectionsInfo = CRM_Utils_Array::value($dao->id, $contriPageSectionInfo, []);
-      $contribution[$dao->id]['configureActionLinks'] = CRM_Core_Action::formLink(self::formatConfigureLinks($sectionsInfo),
+      $contributions[$dao->id]['configureActionLinks'] = CRM_Core_Action::formLink(self::formatConfigureLinks($sectionsInfo),
         $action,
         array('id' => $dao->id),
         ts('Configure'),
@@ -497,7 +494,7 @@ ORDER BY is_active desc, title asc
       );
 
       //build the contributions links.
-      $contribution[$dao->id]['contributionLinks'] = CRM_Core_Action::formLink(self::contributionLinks(),
+      $contributions[$dao->id]['contributionLinks'] = CRM_Core_Action::formLink(self::contributionLinks(),
         $action,
         array('id' => $dao->id),
         ts('Contributions'),
@@ -508,7 +505,7 @@ ORDER BY is_active desc, title asc
       );
 
       //build the online contribution links.
-      $contribution[$dao->id]['onlineContributionLinks'] = CRM_Core_Action::formLink(self::onlineContributionLinks(),
+      $contributions[$dao->id]['onlineContributionLinks'] = CRM_Core_Action::formLink(self::onlineContributionLinks(),
         $action,
         array('id' => $dao->id),
         ts('Links'),
@@ -519,7 +516,7 @@ ORDER BY is_active desc, title asc
       );
 
       //build the normal action links.
-      $contribution[$dao->id]['action'] = CRM_Core_Action::formLink(self::actionLinks(),
+      $contributions[$dao->id]['action'] = CRM_Core_Action::formLink(self::actionLinks(),
         $action,
         array('id' => $dao->id),
         ts('more'),
@@ -530,12 +527,10 @@ ORDER BY is_active desc, title asc
       );
 
       //show campaigns on selector.
-      $contribution[$dao->id]['campaign'] = $allCampaigns[$dao->campaign_id] ?? NULL;
+      $contributions[$dao->id]['campaign'] = $allCampaigns[$dao->campaign_id] ?? NULL;
     }
 
-    if (isset($contribution)) {
-      $this->assign('rows', $contribution);
-    }
+    $this->assign('rows', $contributions);
   }
 
   public function search() {
diff --git a/civicrm/CRM/Contribute/Page/Tab.php b/civicrm/CRM/Contribute/Page/Tab.php
index ebbf05e714deb567add4fc2c5b20c187b3686b66..56411d1bc0e0c2288f8a2e27cfa45b8b8fe8366f 100644
--- a/civicrm/CRM/Contribute/Page/Tab.php
+++ b/civicrm/CRM/Contribute/Page/Tab.php
@@ -58,6 +58,13 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page {
       ],
     ];
 
+    // In case there extension which have recurring payment and then
+    // extension is disabled and in that case payment object may be null
+    // To avoid the fatal error, return with VIEW link.
+    if (!is_object($paymentProcessorObj)) {
+      return $links;
+    }
+
     $templateContribution = CRM_Contribute_BAO_ContributionRecur::getTemplateContribution($recurID);
     if (
       (CRM_Core_Permission::check('edit contributions') || $context !== 'contribution') &&
@@ -121,6 +128,12 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page {
   public static function selfServiceRecurLinks(int $recurID): array {
     $links = [];
     $paymentProcessorObj = Civi\Payment\System::singleton()->getById(CRM_Contribute_BAO_ContributionRecur::getPaymentProcessorID($recurID));
+    // In case there extension which have recurring payment and then
+    // extension is disabled and in that case payment object may be null
+    // To avoid the fatal error, return with VIEW link.
+    if (!is_object($paymentProcessorObj)) {
+      return $links;
+    }
     if ($paymentProcessorObj->supports('cancelRecurring')
       && $paymentProcessorObj->subscriptionURL($recurID, 'recur', 'cancel')
     ) {
diff --git a/civicrm/CRM/Contribute/PseudoConstant.php b/civicrm/CRM/Contribute/PseudoConstant.php
index 86f638817555720331b50116847c7812b57fec9e..cfad6fbb67ff00e396c74204e93b52f522ed99a9 100644
--- a/civicrm/CRM/Contribute/PseudoConstant.php
+++ b/civicrm/CRM/Contribute/PseudoConstant.php
@@ -311,7 +311,7 @@ class CRM_Contribute_PseudoConstant extends CRM_Core_PseudoConstant {
    * Get all the Personal campaign pages.
    *
    *
-   * @param null $pageType
+   * @param string|null $pageType
    * @param int $id
    *
    * @return array
diff --git a/civicrm/CRM/Contribute/Selector/Search.php b/civicrm/CRM/Contribute/Selector/Search.php
index 3f9a5dc2fb10f5d91d7f5c8fe538c9929be788c2..607ec5ac9101f38136f3159949f2ba4ef1273aed 100644
--- a/civicrm/CRM/Contribute/Selector/Search.php
+++ b/civicrm/CRM/Contribute/Selector/Search.php
@@ -118,7 +118,7 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
   /**
    * The query object
    *
-   * @var string
+   * @var CRM_Contact_BAO_Query
    */
   protected $_query;
 
@@ -140,7 +140,7 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
    * @param string $context
    * @param null $compContext
    *
-   * @return \CRM_Contribute_Selector_Search
+   * @return CRM_Contribute_Selector_Search
    */
   public function __construct(
     &$queryParams,
@@ -500,6 +500,7 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
         'sort' => 'total_amount',
         'direction' => CRM_Utils_Sort::DONTCARE,
         'field_name' => 'total_amount',
+        'type' => '',
       ],
     ];
     if ($this->_includeSoftCredits) {
@@ -512,6 +513,7 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
               'sort' => 'contribution_soft_credit_amount',
               'field_name' => 'contribution_soft_credit_amount',
               'direction' => CRM_Utils_Sort::DONTCARE,
+              'type' => '',
             ],
           ]
         );
@@ -525,12 +527,14 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
             'sort' => 'financial_type',
             'field_name' => 'financial_type',
             'direction' => CRM_Utils_Sort::DONTCARE,
+            'type' => '',
           ],
           [
             'name' => ts('Source'),
             'sort' => 'contribution_source',
             'field_name' => 'contribution_source',
             'direction' => CRM_Utils_Sort::DONTCARE,
+            'type' => '',
           ],
           [
             'name' => ts('Received'),
@@ -551,6 +555,7 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
             'sort' => 'contribution_status',
             'field_name' => 'contribution_status',
             'direction' => CRM_Utils_Sort::DONTCARE,
+            'type' => '',
           ],
         ]
       );
@@ -560,6 +565,7 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
         'sort' => 'product_name',
         'field_name' => 'product_name',
         'direction' => CRM_Utils_Sort::DONTCARE,
+        'type' => '',
       ];
     }
     if (!$this->_single) {
@@ -567,7 +573,9 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
         [
           'name' => ts('Name'),
           'sort' => 'sort_name',
+          'field_name' => '',
           'direction' => CRM_Utils_Sort::DONTCARE,
+          'type' => '',
         ],
       ];
     }
@@ -580,11 +588,13 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
             'name' => ts('Soft Credit For'),
             'sort' => 'contribution_soft_credit_name',
             'direction' => CRM_Utils_Sort::DONTCARE,
+            'field_name' => '',
           ],
           [
             'name' => ts('Soft Credit Type'),
             'sort' => 'contribution_soft_credit_type',
             'direction' => CRM_Utils_Sort::ASCENDING,
+            'field_name' => '',
           ],
         ]
       );
@@ -592,7 +602,7 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
     self::$_columnHeaders
       = array_merge(
         self::$_columnHeaders, [
-          ['desc' => ts('Actions'), 'type' => 'actions'],
+          ['desc' => ts('Actions'), 'type' => 'actions', 'field_name' => ''],
         ]
       );
     foreach (array_keys(self::$_columnHeaders) as $index) {
@@ -612,7 +622,7 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
   }
 
   /**
-   * @return \CRM_Contact_BAO_Query
+   * @return CRM_Contact_BAO_Query
    */
   public function &getQuery() {
     return $this->_query;
diff --git a/civicrm/CRM/Contribute/StateMachine/ContributionPage.php b/civicrm/CRM/Contribute/StateMachine/ContributionPage.php
index 4c17a71edaaa4b411835a8139edeeeb9ba3be708..e3d74b899d78c5ca20244a2d0f8d52b644665f31 100644
--- a/civicrm/CRM/Contribute/StateMachine/ContributionPage.php
+++ b/civicrm/CRM/Contribute/StateMachine/ContributionPage.php
@@ -34,8 +34,6 @@ class CRM_Contribute_StateMachine_ContributionPage extends CRM_Core_StateMachine
     $session = CRM_Core_Session::singleton();
     $session->set('singleForm', FALSE);
 
-    $config = CRM_Core_Config::singleton();
-
     $this->_pages = [
       'CRM_Contribute_Form_ContributionPage_Settings' => NULL,
       'CRM_Contribute_Form_ContributionPage_Amount' => NULL,
@@ -48,7 +46,7 @@ class CRM_Contribute_StateMachine_ContributionPage extends CRM_Core_StateMachine
       'CRM_Contribute_Form_ContributionPage_Widget' => NULL,
     ];
 
-    if (!in_array("CiviMember", $config->enableComponents)) {
+    if (!CRM_Core_Component::isEnabled('CiviMember')) {
       unset($this->_pages['CRM_Member_Form_MembershipBlock']);
     }
 
diff --git a/civicrm/CRM/Contribute/Task.php b/civicrm/CRM/Contribute/Task.php
index 9f54f2258d81b796a335ef896b48ba9376e31032..2bc1fcf177c13c74e181f5a0327acfaaa566ef5d 100644
--- a/civicrm/CRM/Contribute/Task.php
+++ b/civicrm/CRM/Contribute/Task.php
@@ -138,7 +138,7 @@ class CRM_Contribute_Task extends CRM_Core_Task {
   /**
    * Get links appropriate to the context of the row.
    *
-   * @param $row
+   * @param array $row
    *
    * @return array
    */
diff --git a/civicrm/CRM/Contribute/WorkflowMessage/ContributionOfflineReceipt.php b/civicrm/CRM/Contribute/WorkflowMessage/ContributionOfflineReceipt.php
index 293ad37b63f980af7f1536a7f1a678cc56d3738f..97f339d123e3b717854e3fff5e8815aa4ddbf1c8 100644
--- a/civicrm/CRM/Contribute/WorkflowMessage/ContributionOfflineReceipt.php
+++ b/civicrm/CRM/Contribute/WorkflowMessage/ContributionOfflineReceipt.php
@@ -9,13 +9,16 @@
  +--------------------------------------------------------------------+
  */
 
+use Civi\WorkflowMessage\GenericWorkflowMessage;
+
 /**
  * Receipt sent when confirming a back office contribution.
  *
  * @support template-only
+ *
  * @see CRM_Contribute_Form_AdditionalInfo::emailReceipt
  */
-class CRM_Contribute_WorkflowMessage_ContributionOfflineReceipt extends \Civi\WorkflowMessage\GenericWorkflowMessage {
+class CRM_Contribute_WorkflowMessage_ContributionOfflineReceipt extends GenericWorkflowMessage {
   use CRM_Contribute_WorkflowMessage_ContributionTrait;
   public const WORKFLOW = 'contribution_offline_receipt';
 
diff --git a/civicrm/CRM/Contribute/WorkflowMessage/ContributionTrait.php b/civicrm/CRM/Contribute/WorkflowMessage/ContributionTrait.php
index f2f12c8fc2a85ab4b8dcb955ab9f179097143c12..4ecf20565bb278211be9a47bd010695067f2a367 100644
--- a/civicrm/CRM/Contribute/WorkflowMessage/ContributionTrait.php
+++ b/civicrm/CRM/Contribute/WorkflowMessage/ContributionTrait.php
@@ -21,6 +21,60 @@ trait CRM_Contribute_WorkflowMessage_ContributionTrait {
    */
   public $contributionId;
 
+  /**
+   * Is the site configured such that tax should be displayed.
+   *
+   * @var bool
+   */
+  public $isShowTax;
+
+  /**
+   * @var CRM_Financial_BAO_Order
+   */
+  private $order;
+
+  /**
+   * Get order, if available.
+   *
+   * The order is used within the class to calculate line items etc.
+   *
+   * @return \CRM_Financial_BAO_Order|null
+   */
+  private function getOrder(): ?CRM_Financial_BAO_Order {
+    if ($this->contributionId) {
+      $this->order = new CRM_Financial_BAO_Order();
+      $this->order->setTemplateContributionID($this->contributionId);
+    }
+    return $this->order;
+  }
+
+  /**
+   * Should line items be displayed for the contribution.
+   *
+   * This determination is based on whether the price set is quick config.
+   *
+   * @var bool
+   *
+   * @scope tplParams
+   */
+  public $isShowLineItems;
+
+  /**
+   * Get bool for whether a line item breakdown be displayed.
+   *
+   * @return bool
+   */
+  public function getIsShowLineItems(): bool {
+    $order = $this->getOrder();
+    if (!$order) {
+      // This would only be the case transitionally.
+      // Since this is a trait it is used by templates which don't (yet)
+      // always have the contribution ID available as well as migrated ones.
+      return FALSE;
+    }
+    return $this->order->getPriceSetMetadata()['is_quick_config'];
+  }
+
   /**
    * Set contribution object.
    *
@@ -36,4 +90,17 @@ trait CRM_Contribute_WorkflowMessage_ContributionTrait {
     return $this;
   }
 
+  /**
+   * Extra variables to be exported to smarty based on being calculated.
+   *
+   * We export isShowTax to denote whether invoicing is enabled but
+   * hopefully at some point we will separate the assumption that invoicing
+   * and tax are a package.
+   *
+   * @param array $export
+   */
+  protected function exportExtraTplParams(array &$export): void {
+    $export['isShowTax'] = (bool) Civi::settings()->get('invoicing');
+  }
+
 }
diff --git a/civicrm/CRM/Contribute/WorkflowMessage/RecurringCancelled.php b/civicrm/CRM/Contribute/WorkflowMessage/RecurringCancelled.php
index 2ffdfc14cdde4a97f380927e10b42041917333e1..93c39e53b05a3c086118fb3d0767aff2a8beadc2 100644
--- a/civicrm/CRM/Contribute/WorkflowMessage/RecurringCancelled.php
+++ b/civicrm/CRM/Contribute/WorkflowMessage/RecurringCancelled.php
@@ -19,8 +19,22 @@ class CRM_Contribute_WorkflowMessage_RecurringCancelled extends Civi\WorkflowMes
    */
   public $contact;
 
+  /**
+   * Export tokens to smarty as variables.
+   *
+   * The key represents the smarty token and the value is the token as
+   * requested from the token processor.
+   *
+   * The token is 'the entire part between the curly quotes' eg.
+   *
+   * '{contribution_recur.amount|crmMoney}.
+   *
+   * Unlike using the contribution directly it will default to 'raw' formatting.
+   *
+   * @param array $export
+   */
   protected function exportExtraTokenContext(array &$export): void {
-    $export['smartyTokenAlias']['amount'] = 'contribution_recur.amount';
+    $export['smartyTokenAlias']['amount'] = 'contribution_recur.amount|crmMoney';
     $export['smartyTokenAlias']['recur_frequency_unit'] = 'contribution_recur.frequency_unit:label';
     $export['smartyTokenAlias']['recur_frequency_interval'] = 'contribution_recur.frequency_interval';
   }
diff --git a/civicrm/CRM/Contribute/WorkflowMessage/RecurringEdit.php b/civicrm/CRM/Contribute/WorkflowMessage/RecurringEdit.php
index 7e211c87244e9bf9908891e860b46d42ea2594ed..495db5c5b7291a2b884d16993691806c6a6c8dfe 100644
--- a/civicrm/CRM/Contribute/WorkflowMessage/RecurringEdit.php
+++ b/civicrm/CRM/Contribute/WorkflowMessage/RecurringEdit.php
@@ -33,13 +33,32 @@ class CRM_Contribute_WorkflowMessage_RecurringEdit extends Civi\WorkflowMessage\
    */
   public $receiptFromEmail;
 
+  /**
+   * Export tokens to smarty as variables.
+   *
+   * The key represents the smarty token and the value is the token as
+   * requested from the token processor.
+   *
+   * The token is 'the entire part between the curly quotes' eg.
+   *
+   * '{contribution_recur.amount|crmMoney}.
+   *
+   * Unlike using the contribution directly it will default to 'raw' formatting.
+   *
+   * @param array $export
+   */
   protected function exportExtraTokenContext(array &$export): void {
     $export['smartyTokenAlias']['installments'] = 'contribution_recur.installments';
-    $export['smartyTokenAlias']['amount'] = 'contribution_recur.amount';
+    $export['smartyTokenAlias']['amount'] = 'contribution_recur.amount|crmMoney';
     $export['smartyTokenAlias']['recur_frequency_unit'] = 'contribution_recur.frequency_unit:label';
     $export['smartyTokenAlias']['recur_frequency_interval'] = 'contribution_recur.frequency_interval';
   }
 
+  /**
+   * Extra variables to be exported to smarty based on being calculated.
+   *
+   * @param array $export
+   */
   protected function exportExtraTplParams(array &$export): void {
     if (empty($export['receipt_from_email']) && !empty($this->from)) {
       // At a minimum, we can at least autofill 'receipt_from_email' in the case where it's missing.
diff --git a/civicrm/CRM/Core/Action.php b/civicrm/CRM/Core/Action.php
index 2211d6cdb6eedc9c105a0c01e8fa0ceb4bf6e8c9..fc1dcd7c4a85c53fdbe738318a1c70aa8b21d78d 100644
--- a/civicrm/CRM/Core/Action.php
+++ b/civicrm/CRM/Core/Action.php
@@ -166,7 +166,7 @@ class CRM_Core_Action {
    *
    * @param array $links
    *   The set of link items.
-   * @param int $mask
+   * @param int|null $mask
    *   The mask to be used. a null mask means all items.
    * @param array $values
    *   The array of values for parameter substitution in the link items.
@@ -311,8 +311,8 @@ class CRM_Core_Action {
    *   The mask to be used. a null mask means all items.
    * @param array $values
    *   The array of values for parameter substitution in the link items.
-   * @param null $op
-   * @param null $objectName
+   * @param string|null $op
+   * @param string|null $objectName
    * @param int $objectId
    *
    * @return array|null
diff --git a/civicrm/CRM/Core/BAO/Address.php b/civicrm/CRM/Core/BAO/Address.php
index e2644ab53905ff5879c27884943e001e6f1e100d..09e45a24c0ec6065174ab23a3ef7c5fc404d1926 100644
--- a/civicrm/CRM/Core/BAO/Address.php
+++ b/civicrm/CRM/Core/BAO/Address.php
@@ -962,13 +962,6 @@ SELECT is_primary,
     $query = 'SELECT id, contact_id FROM civicrm_address WHERE master_id = %1';
     $dao = CRM_Core_DAO::executeQuery($query, [1 => [$addressId, 'Integer']]);
 
-    // legacy - for api backward compatibility
-    if (!isset($params['add_relationship']) && isset($params['update_current_employer'])) {
-      // warning
-      CRM_Core_Error::deprecatedFunctionWarning('update_current_employer is deprecated, use add_relationship instead');
-      $params['add_relationship'] = $params['update_current_employer'];
-    }
-
     // Default to TRUE if not set to maintain api backward compatibility.
     $createRelationship = $params['add_relationship'] ?? TRUE;
 
diff --git a/civicrm/CRM/Core/BAO/CustomField.php b/civicrm/CRM/Core/BAO/CustomField.php
index 060b31b965bd8f56a966ca0801dc033dbbe8c695..21547af73ce7997efe826ebe05cae3bb41eb3c2f 100644
--- a/civicrm/CRM/Core/BAO/CustomField.php
+++ b/civicrm/CRM/Core/BAO/CustomField.php
@@ -75,13 +75,10 @@ class CRM_Core_BAO_CustomField extends CRM_Core_DAO_CustomField {
   }
 
   /**
-   * Takes an associative array and creates a custom field object.
-   *
-   * This function is invoked from within the web form layer and also from the api layer
+   * Deprecated in favor of writeRecords & APIv4
    *
+   * @deprecated
    * @param array $params
-   *   (reference) an assoc array of name/value pairs.
-   *
    * @return CRM_Core_DAO_CustomField
    */
   public static function create($params) {
@@ -330,7 +327,7 @@ class CRM_Core_BAO_CustomField extends CRM_Core_DAO_CustomField {
       $checkPermission = CRM_Core_Permission::EDIT;
     }
     if (empty($customDataType)) {
-      $customDataType = ['Contact', 'Individual', 'Organization', 'Household'];
+      $customDataType = array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes());
     }
     if ($customDataType === 'ANY') {
       // NULL should have been respected but the line above broke that.
@@ -2031,14 +2028,13 @@ WHERE  id IN ( %1, %2 )
         )
       ) {
         // first create an option group for this custom group
-        $optionGroup = new CRM_Core_DAO_OptionGroup();
-        $optionGroup->name = "{$params['column_name']}_" . date('YmdHis');
-        $optionGroup->title = $params['label'];
-        $optionGroup->is_active = 1;
-        // Don't set reserved as it's not a built-in option group and may be useful for other custom fields.
-        $optionGroup->is_reserved = 0;
-        $optionGroup->data_type = $dataType;
-        $optionGroup->save();
+        $customGroupTitle = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $params['custom_group_id'], 'title');
+        $optionGroup = CRM_Core_DAO_OptionGroup::writeRecord([
+          'title' => "$customGroupTitle :: {$params['label']}",
+          // Don't set reserved as it's not a built-in option group and may be useful for other custom fields.
+          'is_reserved' => 0,
+          'data_type' => $dataType,
+        ]);
         $params['option_group_id'] = $optionGroup->id;
         if (!empty($params['option_value']) && is_array($params['option_value'])) {
           foreach ($params['option_value'] as $k => $v) {
@@ -2711,12 +2707,16 @@ WHERE cf.id = %1 AND cg.is_multiple = 1";
   }
 
   /**
+   * Prepare params for the create operation.
+   *
    * @param CRM_Core_DAO_CustomField $field
-   * @param 'add|modify|delete' $operation
+   * @param string $operation
+   *   add|modify|delete
    *
    * @return array
+   * @throws \CRM_Core_Exception
    */
-  protected static function prepareCreateParams($field, $operation) {
+  protected static function prepareCreateParams($field, $operation): array {
     $tableName = CRM_Core_DAO::getFieldValue(
       'CRM_Core_DAO_CustomGroup',
       $field->custom_group_id,
diff --git a/civicrm/CRM/Core/BAO/CustomGroup.php b/civicrm/CRM/Core/BAO/CustomGroup.php
index 94aa6d818b593349f9ee82cf260aba0a62713947..7a8ca08a4e3893c66944184d7a43a682cacfbd2a 100644
--- a/civicrm/CRM/Core/BAO/CustomGroup.php
+++ b/civicrm/CRM/Core/BAO/CustomGroup.php
@@ -20,13 +20,6 @@
  */
 class CRM_Core_BAO_CustomGroup extends CRM_Core_DAO_CustomGroup {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Takes an associative array and creates a custom group object.
    *
diff --git a/civicrm/CRM/Core/BAO/CustomOption.php b/civicrm/CRM/Core/BAO/CustomOption.php
index 960cdf4d22351e20e84961c613cf5484ceffc842..e44a2c8a83a38671373b8e551361d758795e45a5 100644
--- a/civicrm/CRM/Core/BAO/CustomOption.php
+++ b/civicrm/CRM/Core/BAO/CustomOption.php
@@ -167,7 +167,7 @@ class CRM_Core_BAO_CustomOption {
   /**
    * Delete Option.
    *
-   * @param $optionId integer
+   * @param int $optionId
    *   option id
    *
    */
diff --git a/civicrm/CRM/Core/BAO/CustomValue.php b/civicrm/CRM/Core/BAO/CustomValue.php
index 44b3d296aa265b6b115aea021cf6cdfac874bdd3..c88c62bfebd78922f3335cc67ff9d3ce8f073856 100644
--- a/civicrm/CRM/Core/BAO/CustomValue.php
+++ b/civicrm/CRM/Core/BAO/CustomValue.php
@@ -260,7 +260,7 @@ class CRM_Core_BAO_CustomValue extends CRM_Core_DAO {
     }
 
     // Do we have access to the target record?
-    if (in_array($extends, ['Contact', 'Individual', 'Organization', 'Household'])) {
+    if ($extends === 'Contact' || in_array($extends, CRM_Contact_BAO_ContactType::basicTypes(TRUE), TRUE)) {
       return \Civi\Api4\Utils\CoreUtil::checkAccessDelegated('Contact', 'update', ['id' => $eid], $userID);
     }
     elseif (\Civi\Api4\Utils\CoreUtil::getApiClass($extends)) {
diff --git a/civicrm/CRM/Core/BAO/CustomValueTable.php b/civicrm/CRM/Core/BAO/CustomValueTable.php
index 555de5f9f9f5e00550dee1c6a30b0d9a988ba367..9ba11ab1a0527db8860e8684fa06063eed60c4b7 100644
--- a/civicrm/CRM/Core/BAO/CustomValueTable.php
+++ b/civicrm/CRM/Core/BAO/CustomValueTable.php
@@ -444,7 +444,7 @@ class CRM_Core_BAO_CustomValueTable {
    *                                   Empty array if no custom values found.
    * @throws CRM_Core_Exception
    */
-  public static function &getEntityValues($entityID, $entityType = NULL, $fieldIDs = NULL, $formatMultiRecordField = FALSE, $DTparams = NULL) {
+  public static function getEntityValues($entityID, $entityType = NULL, $fieldIDs = NULL, $formatMultiRecordField = FALSE, $DTparams = NULL) {
     if (!$entityID) {
       // adding this here since an empty contact id could have serious repurcussions
       // like looping forever
@@ -463,7 +463,8 @@ class CRM_Core_BAO_CustomValueTable {
       $cond[] = "cf.id IN ( $fieldIDList )";
     }
     if (empty($cond)) {
-      $cond[] = "cg.extends IN ( 'Contact', 'Individual', 'Household', 'Organization' )";
+      $contactTypes = array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes(TRUE));
+      $cond[] = "cg.extends IN ( '" . implode("', '", $contactTypes) . "' )";
     }
     $cond = implode(' AND ', $cond);
 
@@ -714,7 +715,7 @@ AND    cf.id IN ( $fieldIDList )
    * @throws Exception
    * @return array
    */
-  public static function &getValues(&$params) {
+  public static function getValues($params) {
     if (empty($params)) {
       return NULL;
     }
@@ -738,11 +739,11 @@ AND    cf.id IN ( $fieldIDList )
             [1 => $idx]
           ));
         }
-        $fieldIDs[] = (int ) $idx;
+        $fieldIDs[] = (int) $idx;
       }
     }
 
-    $default = ['Contact', 'Individual', 'Household', 'Organization'];
+    $default = array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes(TRUE));
     if (!($type = CRM_Utils_Array::value('entityType', $params)) ||
       in_array($params['entityType'], $default)
     ) {
diff --git a/civicrm/CRM/Core/BAO/Dashboard.php b/civicrm/CRM/Core/BAO/Dashboard.php
index 5ef7321b15f82dd5b105135c151e4bbfe01d21bd..d0866aceeca871d80d6626fab25de7c44fb998f3 100644
--- a/civicrm/CRM/Core/BAO/Dashboard.php
+++ b/civicrm/CRM/Core/BAO/Dashboard.php
@@ -142,8 +142,6 @@ class CRM_Core_BAO_Dashboard extends CRM_Core_DAO_Dashboard {
    */
   public static function checkPermission($permissions, $operator) {
     if ($permissions) {
-      $config = CRM_Core_Config::singleton();
-
       static $allComponents;
       if (!$allComponents) {
         $allComponents = CRM_Core_Component::getNames();
@@ -170,9 +168,7 @@ class CRM_Core_BAO_Dashboard extends CRM_Core_DAO_Dashboard {
 
         //hack to determine if it's a component related permission
         if ($componentName) {
-          if (!in_array($componentName, $config->enableComponents) ||
-            !CRM_Core_Permission::check($key)
-          ) {
+          if (!CRM_Core_Component::isEnabled($componentName) || !CRM_Core_Permission::check($key)) {
             $showDashlet = FALSE;
             if ($operator == 'AND') {
               return $showDashlet;
diff --git a/civicrm/CRM/Core/BAO/Discount.php b/civicrm/CRM/Core/BAO/Discount.php
index fee698c05d1b44c9ad50333a41c3b7c1d64d4dfd..553b0ea5dfd6c9faf4c41d948d2058e8e3cd5c8e 100644
--- a/civicrm/CRM/Core/BAO/Discount.php
+++ b/civicrm/CRM/Core/BAO/Discount.php
@@ -16,13 +16,6 @@
  */
 class CRM_Core_BAO_Discount extends CRM_Core_DAO_Discount {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Delete the discount.
    *
diff --git a/civicrm/CRM/Core/BAO/Domain.php b/civicrm/CRM/Core/BAO/Domain.php
index b874f26a6baee0ee93699122e3fc6df7b9530945..59c1ace59d73f60912f1c8743c47290c2f53ba86 100644
--- a/civicrm/CRM/Core/BAO/Domain.php
+++ b/civicrm/CRM/Core/BAO/Domain.php
@@ -100,7 +100,7 @@ class CRM_Core_BAO_Domain extends CRM_Core_DAO_Domain {
   /**
    * Checks that the current DB schema is at least $min version
    *
-   * @param string|number $min
+   * @param string|int $min
    * @return bool
    */
   public static function isDBVersionAtLeast($min) {
diff --git a/civicrm/CRM/Core/BAO/EntityTag.php b/civicrm/CRM/Core/BAO/EntityTag.php
index 65d5587b7dbc3f28433c56f16f96f2733c3ae939..606f5fad939853eea0baac00388b418b95e798f0 100644
--- a/civicrm/CRM/Core/BAO/EntityTag.php
+++ b/civicrm/CRM/Core/BAO/EntityTag.php
@@ -297,7 +297,8 @@ class CRM_Core_BAO_EntityTag extends CRM_Core_DAO_EntityTag {
    * @param int $contactID
    * @param bool $count
    *
-   * @return array
+   * @return array|int
+   *   Dependant on $count
    */
   public static function getContactTags($contactID, $count = FALSE) {
     $contactTags = [];
@@ -319,7 +320,7 @@ class CRM_Core_BAO_EntityTag extends CRM_Core_DAO_EntityTag {
 
     if ($count) {
       $dao->fetch();
-      return $dao->cnt;
+      return (int) $dao->cnt;
     }
 
     while ($dao->fetch()) {
@@ -368,7 +369,7 @@ class CRM_Core_BAO_EntityTag extends CRM_Core_DAO_EntityTag {
    *
    * @return array
    */
-  public function mergeTags($tagAId, $tagBId) {
+  public static function mergeTags($tagAId, $tagBId) {
     $queryParams = [
       1 => [$tagAId, 'Integer'],
       2 => [$tagBId, 'Integer'],
diff --git a/civicrm/CRM/Core/BAO/File.php b/civicrm/CRM/Core/BAO/File.php
index a420f7ac2bd9f70138eebe0b539b5b66d3b2bda2..6f4401daf1d22c9c86e4ebd90788c57adc522df2 100644
--- a/civicrm/CRM/Core/BAO/File.php
+++ b/civicrm/CRM/Core/BAO/File.php
@@ -85,15 +85,15 @@ class CRM_Core_BAO_File extends CRM_Core_DAO_File {
   }
 
   /**
-   * @param $data
+   * @param string $data
    * @param int $fileTypeID
-   * @param $entityTable
+   * @param string $entityTable
    * @param int $entityID
-   * @param $entitySubtype
+   * @param string|false $entitySubtype
    * @param bool $overwrite
    * @param null|array $fileParams
    * @param string $uploadName
-   * @param null $mimeType
+   * @param string $mimeType
    *
    * @throws Exception
    */
@@ -102,7 +102,7 @@ class CRM_Core_BAO_File extends CRM_Core_DAO_File {
     $fileTypeID,
     $entityTable,
     $entityID,
-    $entitySubtype,
+    $entitySubtype = FALSE,
     $overwrite = TRUE,
     $fileParams = NULL,
     $uploadName = 'uploadFile',
@@ -496,8 +496,9 @@ AND       CEF.entity_id    = %2";
   }
 
   /**
-   * Return a clean url string and the number of attachment for a
-   * given entityTable, entityID
+   * Return a HTML string, separated by $separator,
+   * where each item is an anchor link to the file,
+   * with the filename as the link text.
    *
    * @param string $entityTable
    *   The entityTable to which the file is attached.
@@ -506,8 +507,8 @@ AND       CEF.entity_id    = %2";
    * @param string $separator
    *   The string separator where to implode the urls.
    *
-   * @return array
-   *   An array with 2 elements. The string and the number of attachments
+   * @return string|null
+   *   HTML list of attachment links, or null if no attachments
    */
   public static function attachmentInfo($entityTable, $entityID, $separator = '<br />') {
     if (!$entityID) {
diff --git a/civicrm/CRM/Core/BAO/FinancialTrxn.php b/civicrm/CRM/Core/BAO/FinancialTrxn.php
index 0e1499e208094dd118e7f9b75f941184351aa402..7cd00efb32fc027dab1bf3396ac4c6f35d9349f8 100644
--- a/civicrm/CRM/Core/BAO/FinancialTrxn.php
+++ b/civicrm/CRM/Core/BAO/FinancialTrxn.php
@@ -15,17 +15,6 @@
  * @copyright CiviCRM LLC https://civicrm.org/licensing
  */
 class CRM_Core_BAO_FinancialTrxn extends CRM_Financial_DAO_FinancialTrxn {
-  /**
-   * Class constructor.
-   *
-   * @return \CRM_Financial_DAO_FinancialTrxn
-   */
-
-  /**
-   */
-  public function __construct() {
-    parent::__construct();
-  }
 
   /**
    * Takes an associative array and creates a financial transaction object.
diff --git a/civicrm/CRM/Core/BAO/Job.php b/civicrm/CRM/Core/BAO/Job.php
index dbb736ec96f1521a81d5a221bb8334af2359d22e..331d5852d65cd78c80ec05413305d239152d4348 100644
--- a/civicrm/CRM/Core/BAO/Job.php
+++ b/civicrm/CRM/Core/BAO/Job.php
@@ -22,13 +22,6 @@
  */
 class CRM_Core_BAO_Job extends CRM_Core_DAO_Job {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Add the payment-processor type in the db
    *
diff --git a/civicrm/CRM/Core/BAO/LocationType.php b/civicrm/CRM/Core/BAO/LocationType.php
index 49ddc891fd45cde861129c0ab0cf495b31e26695..3e25675ce2ca315dcb8c70d3826bae33dcb63e96 100644
--- a/civicrm/CRM/Core/BAO/LocationType.php
+++ b/civicrm/CRM/Core/BAO/LocationType.php
@@ -17,18 +17,14 @@
 class CRM_Core_BAO_LocationType extends CRM_Core_DAO_LocationType implements \Civi\Test\HookInterface {
 
   /**
-   * Static holder for the default LT.
-   * @var int
+   * @var CRM_Core_DAO_LocationType|null
    */
   public static $_defaultLocationType = NULL;
-  public static $_billingLocationType = NULL;
 
   /**
-   * Class constructor.
+   * @var int|null
    */
-  public function __construct() {
-    parent::__construct();
-  }
+  public static $_billingLocationType = NULL;
 
   /**
    * Fetch object based on array of properties.
@@ -38,7 +34,7 @@ class CRM_Core_BAO_LocationType extends CRM_Core_DAO_LocationType implements \Ci
    * @param array $defaults
    *   (reference ) an assoc array to hold the flattened values.
    *
-   * @return CRM_Core_BAO_LocaationType|null
+   * @return CRM_Core_DAO_LocationType|null
    *   object on success, null otherwise
    */
   public static function retrieve(&$params, &$defaults) {
@@ -69,7 +65,7 @@ class CRM_Core_BAO_LocationType extends CRM_Core_DAO_LocationType implements \Ci
   /**
    * Retrieve the default location_type.
    *
-   * @return object
+   * @return CRM_Core_DAO_LocationType|null
    *   The default location type object on success,
    *                          null otherwise
    */
diff --git a/civicrm/CRM/Core/BAO/MailSettings.php b/civicrm/CRM/Core/BAO/MailSettings.php
index 26086ea2e8e4cac27f890c484a358c8e475da1c0..aad1945bbc5edfb98fd99b00ee42a20088c4aa0e 100644
--- a/civicrm/CRM/Core/BAO/MailSettings.php
+++ b/civicrm/CRM/Core/BAO/MailSettings.php
@@ -16,13 +16,6 @@
  */
 class CRM_Core_BAO_MailSettings extends CRM_Core_DAO_MailSettings {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Get a list of setup-actions.
    *
@@ -141,7 +134,7 @@ class CRM_Core_BAO_MailSettings extends CRM_Core_DAO_MailSettings {
    *   Reference array contains the values submitted by the form.
    *
    *
-   * @return object
+   * @return CRM_Core_DAO_MailSettings
    */
   public static function add(&$params) {
     $result = NULL;
@@ -174,7 +167,7 @@ class CRM_Core_BAO_MailSettings extends CRM_Core_DAO_MailSettings {
    * @param array $params
    *   (reference ) an assoc array of name/value pairs.
    *
-   * @return CRM_Core_BAO_MailSettings
+   * @return CRM_Core_DAO_MailSettings|CRM_Core_Error
    */
   public static function create(&$params) {
     $transaction = new CRM_Core_Transaction();
diff --git a/civicrm/CRM/Core/BAO/Mapping.php b/civicrm/CRM/Core/BAO/Mapping.php
index c186fc67647bbfd7fdfae0fe28467e43010da3f5..9ba5d4ce09e3185a8dcd884751e0cc8fc041c623 100644
--- a/civicrm/CRM/Core/BAO/Mapping.php
+++ b/civicrm/CRM/Core/BAO/Mapping.php
@@ -16,13 +16,6 @@
  */
 class CRM_Core_BAO_Mapping extends CRM_Core_DAO_Mapping implements \Civi\Test\HookInterface {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -767,7 +760,7 @@ class CRM_Core_BAO_Mapping extends CRM_Core_DAO_Mapping implements \Civi\Test\Ho
       }
     }
     if (($mappingType == 'Search Builder') || ($exportMode == CRM_Export_Form_Select::GRANT_EXPORT)) {
-      if (CRM_Core_Permission::access('CiviGrant')) {
+      if (method_exists('CRM_Grant_BAO_Grant', 'exportableFields') && CRM_Core_Permission::check('access CiviGrant')) {
         $fields['Grant'] = CRM_Grant_BAO_Grant::exportableFields();
         unset($fields['Grant']['grant_contact_id']);
         if ($mappingType == 'Search Builder') {
diff --git a/civicrm/CRM/Core/BAO/Navigation.php b/civicrm/CRM/Core/BAO/Navigation.php
index 24e58b8f106e81513a2062ef449388ab6f998a7f..52775d3fd3ef30f8b9f7a74b4fcb40aaeb64eebb 100644
--- a/civicrm/CRM/Core/BAO/Navigation.php
+++ b/civicrm/CRM/Core/BAO/Navigation.php
@@ -19,13 +19,6 @@ class CRM_Core_BAO_Navigation extends CRM_Core_DAO_Navigation {
   // Number of characters in the menu js cache key
   const CACHE_KEY_STRLEN = 8;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Update the is_active flag in the db.
    *
@@ -42,12 +35,11 @@ class CRM_Core_BAO_Navigation extends CRM_Core_DAO_Navigation {
   }
 
   /**
-   * Add/update navigation record.
+   * Deprecated in favor of APIv4
    *
+   * @deprecated
    * @param array $params Submitted values
-   *
    * @return CRM_Core_DAO_Navigation
-   *   navigation object
    */
   public static function add(&$params) {
     $navigation = new CRM_Core_DAO_Navigation();
@@ -376,9 +368,7 @@ FROM civicrm_navigation WHERE domain_id = $domainID";
         $componentName = CRM_Core_Permission::getComponentName($key);
 
         if ($componentName) {
-          if (!in_array($componentName, CRM_Core_Config::singleton()->enableComponents) ||
-            !CRM_Core_Permission::check($key)
-          ) {
+          if (!CRM_Core_Component::isEnabled($componentName) || !CRM_Core_Permission::check($key)) {
             $showItem = FALSE;
             if ($operator == 'AND') {
               return FALSE;
@@ -702,7 +692,7 @@ FROM civicrm_navigation WHERE domain_id = $domainID";
    * care about output params appended.
    *
    * @param string $url
-   * @param array $url_params
+   * @param string $url_params
    *
    * @param int|null $parent_id
    *   Optionally restrict to one parent.
diff --git a/civicrm/CRM/Core/BAO/OptionGroup.php b/civicrm/CRM/Core/BAO/OptionGroup.php
index 12da9c3d3f152b04970e6a805b64b4e82e72f4fe..cce3128251e9918c3821b5d169400512c9c50a57 100644
--- a/civicrm/CRM/Core/BAO/OptionGroup.php
+++ b/civicrm/CRM/Core/BAO/OptionGroup.php
@@ -16,13 +16,6 @@
  */
 class CRM_Core_BAO_OptionGroup extends CRM_Core_DAO_OptionGroup implements \Civi\Test\HookInterface {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -66,8 +59,8 @@ class CRM_Core_BAO_OptionGroup extends CRM_Core_DAO_OptionGroup implements \Civi
    * @param array $ids
    *   Reference array contains the id.
    *
-   *
-   * @return object
+   * @deprecated
+   * @return CRM_Core_DAO_OptionGroup
    */
   public static function add(&$params, $ids = []) {
     if (empty($params['id']) && !empty($ids['optionGroup'])) {
diff --git a/civicrm/CRM/Core/BAO/OptionValue.php b/civicrm/CRM/Core/BAO/OptionValue.php
index 69d78bf677ac1b5be0950765bb0a0798de612821..d0ef5019ab9bd6aff8541a8a58596d402fd23dd4 100644
--- a/civicrm/CRM/Core/BAO/OptionValue.php
+++ b/civicrm/CRM/Core/BAO/OptionValue.php
@@ -16,13 +16,6 @@
  */
 class CRM_Core_BAO_OptionValue extends CRM_Core_DAO_OptionValue {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Create option value.
    *
diff --git a/civicrm/CRM/Core/BAO/Phone.php b/civicrm/CRM/Core/BAO/Phone.php
index 6f9da9eccb516a131fee3082cd770c5d820bd44b..c51b492bba5d3aa995aca84247368084bef6f78e 100644
--- a/civicrm/CRM/Core/BAO/Phone.php
+++ b/civicrm/CRM/Core/BAO/Phone.php
@@ -76,9 +76,8 @@ class CRM_Core_BAO_Phone extends CRM_Core_DAO_Phone {
    *
    * @param int $id
    *   The contact id.
-   *
    * @param bool $updateBlankLocInfo
-   * @param null $type
+   * @param string|null $type
    * @param array $filters
    *
    * @return array
@@ -149,10 +148,8 @@ ORDER BY civicrm_phone.is_primary DESC,  phone_id ASC ";
    * This is called from CRM_Core_BAO_Block as a calculated function.
    *
    * @param array $entityElements
-   *   The array containing entity_id and.
-   *   entity_table name
-   *
-   * @param null $type
+   *   The array containing entity_id and entity_table name
+   * @param string|null $type
    *
    * @return array
    *   the array of phone ids which are potential numbers
@@ -205,7 +202,7 @@ ORDER BY ph.is_primary DESC, phone_id ASC ";
   /**
    * Set NULL to phone, mapping, uffield
    *
-   * @param $optionId
+   * @param int $optionId
    *   Value of option to be deleted.
    */
   public static function setOptionToNull($optionId) {
diff --git a/civicrm/CRM/Core/BAO/PreferencesDate.php b/civicrm/CRM/Core/BAO/PreferencesDate.php
index b05bbf4a15488ec5981828e45e496bda0868da3c..0ede5825b9ed3fa3fa627e3e1ab5ac3c81a9abee 100644
--- a/civicrm/CRM/Core/BAO/PreferencesDate.php
+++ b/civicrm/CRM/Core/BAO/PreferencesDate.php
@@ -22,13 +22,6 @@ class CRM_Core_BAO_PreferencesDate extends CRM_Core_DAO_PreferencesDate {
    */
   public static $_defaultPreferencesDate = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
diff --git a/civicrm/CRM/Core/BAO/PrevNextCache.php b/civicrm/CRM/Core/BAO/PrevNextCache.php
index d47c44ff91df7c56ee85de0ef42750e0b8f6ce5a..c63e2e9bdf366c0329df932da213b80325bb82c6 100644
--- a/civicrm/CRM/Core/BAO/PrevNextCache.php
+++ b/civicrm/CRM/Core/BAO/PrevNextCache.php
@@ -287,7 +287,7 @@ FROM   civicrm_prevnext_cache pn
   }
 
   /**
-   * @param $string
+   * @param mixed $string
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Core/BAO/SchemaHandler.php b/civicrm/CRM/Core/BAO/SchemaHandler.php
index 1686e798898fcc8796dc415e1f6bb68dd62f7dcc..bda6dc09fa60d0936602e0327544ee3d1b4db7fe 100644
--- a/civicrm/CRM/Core/BAO/SchemaHandler.php
+++ b/civicrm/CRM/Core/BAO/SchemaHandler.php
@@ -157,7 +157,7 @@ class CRM_Core_BAO_SchemaHandler {
    * @param array $params
    * @param string $separator
    * @param string $prefix
-   * @param string|NULL $existingIndex
+   * @param string|null $existingIndex
    *
    * @return NULL|string
    */
@@ -609,7 +609,7 @@ MODIFY      {$columnName} varchar( $length )
    * @param bool $dropFalseIndices
    *  If set - this function deletes false indices present in the DB which mismatches the expected
    *  values of xml file so that civi re-creates them with correct values using createMissingIndices() function.
-   * @param array|FALSE $tables
+   * @param array|false $tables
    *   An optional array of tables - if provided the results will be restricted to these tables.
    *
    * @return array
diff --git a/civicrm/CRM/Core/BAO/Setting.php b/civicrm/CRM/Core/BAO/Setting.php
index e4c14859e066ce4339bac61208becf1098fb94e2..077a1cb0b187fcdc4a4d8249374e4ccf55cb80a9 100644
--- a/civicrm/CRM/Core/BAO/Setting.php
+++ b/civicrm/CRM/Core/BAO/Setting.php
@@ -47,7 +47,7 @@ class CRM_Core_BAO_Setting extends CRM_Core_DAO_Setting {
   /**
    * Retrieve the value of a setting from the DB table.
    *
-   * @param string $group
+   * @param string|null $group
    *   The group name of the item (deprecated).
    * @param string $name
    *   (required) The name under which this item is stored.
@@ -125,7 +125,7 @@ class CRM_Core_BAO_Setting extends CRM_Core_DAO_Setting {
   /**
    * Store an item in the setting table.
    *
-   * @param $value
+   * @param mixed $value
    *   (required) The value that will be serialized and stored.
    * @param string $group
    *   The group name of the item (deprecated).
@@ -169,7 +169,7 @@ class CRM_Core_BAO_Setting extends CRM_Core_DAO_Setting {
    *
    * @param array $params
    *   (required) An api formatted array of keys and values.
-   * @param null $domains
+   * @param array|null $domains
    *
    * @throws API_Exception
    * @domains array an array of domains to get settings for. Default is the current domain
@@ -247,7 +247,7 @@ class CRM_Core_BAO_Setting extends CRM_Core_DAO_Setting {
     $getFieldsParams = ['version' => 3];
     if (count($settingParams) == 1) {
       // ie we are only setting one field - we'll pass it into getfields for efficiency
-      list($name) = array_keys($settingParams);
+      [$name] = array_keys($settingParams);
       $getFieldsParams['name'] = $name;
     }
     $fields = civicrm_api3('setting', 'getfields', $getFieldsParams);
@@ -420,9 +420,10 @@ class CRM_Core_BAO_Setting extends CRM_Core_DAO_Setting {
   }
 
   /**
-   * @param $group (deprecated)
+   * @param string $group
+   *   Deprecated parameter
    * @param string $name
-   * @param $value
+   * @param mixed $value
    * @param bool $system
    * @param int $userID
    * @param string $keyField
@@ -472,24 +473,26 @@ class CRM_Core_BAO_Setting extends CRM_Core_DAO_Setting {
   /**
    * Check if environment is explicitly set.
    *
+   * @param $setting
+   *
    * @return bool
    */
-  public static function isEnvironmentSet($setting, $value = NULL) {
+  public static function isEnvironmentSet($setting): bool {
+    CRM_Core_Error::deprecatedFunctionWarning('no alternative');
     $environment = CRM_Core_Config::environment();
-    if ($setting == 'environment' && $environment) {
-      return TRUE;
-    }
-    return FALSE;
+    return $setting === 'environment' && $environment;
   }
 
   /**
    * Check if job is able to be executed by API.
    *
-   * @throws API_Exception
+   * @param $params
+   *
+   * @throws \CRM_Core_Exception
    */
-  public static function isAPIJobAllowedToRun($params) {
+  public static function isAPIJobAllowedToRun($params): void {
     $environment = CRM_Core_Config::environment(NULL, TRUE);
-    if ($environment != 'Production') {
+    if ($environment !== 'Production') {
       if (!empty($params['runInNonProductionEnvironment'])) {
         $mailing = Civi::settings()->get('mailing_backend_store');
         if ($mailing) {
@@ -497,7 +500,7 @@ class CRM_Core_BAO_Setting extends CRM_Core_DAO_Setting {
         }
       }
       else {
-        throw new Exception(ts("Job has not been executed as it is a %1 (non-production) environment.", [1 => $environment]));
+        throw new CRM_Core_Exception(ts('Job has not been executed as it is a %1 (non-production) environment.', [1 => $environment]));
       }
     }
   }
@@ -515,7 +518,7 @@ class CRM_Core_BAO_Setting extends CRM_Core_DAO_Setting {
    *   Specification of the setting (per *.settings.php).
    */
   public static function onChangeEnvironmentSetting($oldValue, $newValue, $metadata) {
-    if ($newValue != 'Production') {
+    if ($newValue !== 'Production') {
       $mailing = Civi::settings()->get('mailing_backend');
       if ($mailing['outBound_option'] != CRM_Mailing_Config::OUTBOUND_OPTION_DISABLED) {
         Civi::settings()->set('mailing_backend_store', $mailing);
diff --git a/civicrm/CRM/Core/BAO/Tag.php b/civicrm/CRM/Core/BAO/Tag.php
index 8a75503da1e1f5405fd7d17697092a1b94db1cfe..32c92d5b7abc8f7e8ef5abfe7edbdbf440415606 100644
--- a/civicrm/CRM/Core/BAO/Tag.php
+++ b/civicrm/CRM/Core/BAO/Tag.php
@@ -21,13 +21,6 @@ class CRM_Core_BAO_Tag extends CRM_Core_DAO_Tag {
    */
   protected $tree;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -68,7 +61,8 @@ class CRM_Core_BAO_Tag extends CRM_Core_DAO_Tag {
    * Build a nested array from hierarchical tags.
    *
    * Supports infinite levels of nesting.
-   * @param null $usedFor
+   *
+   * @param string|null $usedFor
    * @param bool $excludeHidden
    */
   public function buildTree($usedFor = NULL, $excludeHidden = FALSE) {
diff --git a/civicrm/CRM/Core/BAO/Translation.php b/civicrm/CRM/Core/BAO/Translation.php
index 8918d27ec4a3a5a3bed133ee6b86b9d72a2e5d3d..858a75bcb247fd86599324bce26560963bce3ecb 100644
--- a/civicrm/CRM/Core/BAO/Translation.php
+++ b/civicrm/CRM/Core/BAO/Translation.php
@@ -68,7 +68,7 @@ class CRM_Core_BAO_Translation extends CRM_Core_DAO_Translation implements \Civi
    * Given a constant list of of id/name/label options, convert to the
    * format required by pseudoconstant.
    *
-   * @param string|NULL $context
+   * @param string|null $context
    * @param array $options
    *   List of options, each as a record of id+name+label.
    *   Ex: [['id' => 123, 'name' => 'foo_bar', 'label' => 'Foo Bar']]
diff --git a/civicrm/CRM/Core/BAO/UFField.php b/civicrm/CRM/Core/BAO/UFField.php
index fb8bb157978ff958c8998b1eb715f8908f038adb..4c273384c9f1fb08df837a3669dcf15b1bd3a654 100644
--- a/civicrm/CRM/Core/BAO/UFField.php
+++ b/civicrm/CRM/Core/BAO/UFField.php
@@ -515,9 +515,8 @@ WHERE cf.id IN (" . $customFieldIds . ") AND is_multiple = 1 LIMIT 0,1";
     // suppress any subtypes if present
     CRM_Contact_BAO_ContactType::suppressSubTypes($profileTypes);
 
-    $contactTypes = ['Contact', 'Individual', 'Household', 'Organization'];
+    $contactTypes = array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes(TRUE));
     $components = ['Contribution', 'Participant', 'Membership', 'Activity'];
-    $fields = [];
 
     // check for mix profile condition
     if (count($profileTypes) > 1) {
@@ -583,7 +582,7 @@ WHERE cf.id IN (" . $customFieldIds . ") AND is_multiple = 1 LIMIT 0,1";
    */
   public static function calculateProfileType($ufGroupType, $returnMixType = TRUE, $onlyPure = FALSE, $skipComponentType = FALSE) {
     // profile types
-    $contactTypes = ['Contact', 'Individual', 'Household', 'Organization'];
+    $contactTypes = array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes(TRUE));
     $subTypes = CRM_Contact_BAO_ContactType::subTypes();
     $components = ['Contribution', 'Participant', 'Membership', 'Activity'];
 
diff --git a/civicrm/CRM/Core/BAO/UFGroup.php b/civicrm/CRM/Core/BAO/UFGroup.php
index 60e916f11ff94e223969ad77f9a2a41c0727a20c..cbf2aac51e319fd2fbe137519e612a642fc3cfda 100644
--- a/civicrm/CRM/Core/BAO/UFGroup.php
+++ b/civicrm/CRM/Core/BAO/UFGroup.php
@@ -253,7 +253,7 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
    *   What action are we doing.
    * @param int $visibility
    *   Visibility of fields we are interested in.
-   * @param $searchable
+   * @param bool $searchable
    * @param bool $showAll
    * @param string $restrict
    *   Should we restrict based on a specified profile type.
@@ -261,10 +261,8 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
    * @param null $ctype
    * @param int $permissionType
    * @param string $orderBy
-   * @param null $orderProfiles
-   *
+   * @param bool $orderProfiles
    * @param bool $eventProfile
-   *
    * @return array
    *   The fields that belong to this ufgroup(s)
    *
@@ -275,14 +273,14 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
     $register = FALSE,
     $action = NULL,
     $visibility = NULL,
-    $searchable = NULL,
+    $searchable = FALSE,
     $showAll = FALSE,
     $restrict = NULL,
     $skipPermission = FALSE,
     $ctype = NULL,
     $permissionType = CRM_Core_Permission::CREATE,
     $orderBy = 'field_name',
-    $orderProfiles = NULL,
+    $orderProfiles = FALSE,
     $eventProfile = FALSE
   ) {
     if (!is_array($id)) {
@@ -1604,7 +1602,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
    * @param array $params
    *   (reference) an assoc array of name/value pairs.
    *
-   * @return CRM_Core_BAO_UFJoin
+   * @return CRM_Core_DAO_UFJoin
    */
   public static function addUFJoin(&$params) {
     $ufJoin = new CRM_Core_DAO_UFJoin();
@@ -1665,7 +1663,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
    * @param bool $skipPermission
    * @param int $op
    *   Which operation (view, edit, create, etc) to check permission for.
-   * @param array|NULL $returnFields list of UFGroup fields to return; NULL for default
+   * @param array|null $returnFields
    *
    * @return array
    *   array of ufgroups for a module
@@ -2179,7 +2177,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
       }
     }
     elseif ($fieldName == 'activity_details') {
-      $form->add('wysiwyg', $fieldName, $title, ['rows' => 4, 'cols' => 60], $required);
+      $form->add('wysiwyg', $name, $title, ['rows' => 4, 'cols' => 60], $required);
     }
     elseif ($fieldName == 'activity_duration') {
       $form->add('text', $name, $title, $attributes, $required);
@@ -3081,7 +3079,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
   }
 
   /**
-   * setDefault componet specific profile fields.
+   * setDefault component specific profile fields.
    *
    * @param array $fields
    *   Profile fields.
@@ -3457,8 +3455,7 @@ SELECT  group_id
    */
   public static function isProfileDoubleOptin() {
     // check for double optin
-    $config = CRM_Core_Config::singleton();
-    if (in_array('CiviMail', $config->enableComponents)) {
+    if (CRM_Core_Component::isEnabled('CiviMail')) {
       return Civi::settings()->get('profile_double_optin');
     }
     return FALSE;
@@ -3469,8 +3466,7 @@ SELECT  group_id
    */
   public static function isProfileAddToGroupDoubleOptin() {
     // check for add to group double optin
-    $config = CRM_Core_Config::singleton();
-    if (in_array('CiviMail', $config->enableComponents)) {
+    if (CRM_Core_Component::isEnabled('CiviMail')) {
       return Civi::settings()->get('profile_add_to_group_double_optin');
     }
     return FALSE;
diff --git a/civicrm/CRM/Core/BAO/Website.php b/civicrm/CRM/Core/BAO/Website.php
index 9a7059073190397d068d8b1a017af1140401ffb1..89d658ff767bc814e8d8cc1e60af4cfa949b9eee 100644
--- a/civicrm/CRM/Core/BAO/Website.php
+++ b/civicrm/CRM/Core/BAO/Website.php
@@ -40,8 +40,9 @@ class CRM_Core_BAO_Website extends CRM_Core_DAO_Website {
    *
    * @param array $params
    *
-   * @return bool|CRM_Core_BAO_Website
+   * @return CRM_Core_DAO_Website
    * @throws \CRM_Core_Exception
+   * @deprecated
    */
   public static function add($params) {
     CRM_Core_Error::deprecatedFunctionWarning('use apiv4');
diff --git a/civicrm/CRM/Core/BAO/WordReplacement.php b/civicrm/CRM/Core/BAO/WordReplacement.php
index feb3d85393eca5961918e9795c7a479a64db0555..8025bc2a45c33c1f91b985d44785ba16af4f413b 100644
--- a/civicrm/CRM/Core/BAO/WordReplacement.php
+++ b/civicrm/CRM/Core/BAO/WordReplacement.php
@@ -20,13 +20,6 @@
  */
 class CRM_Core_BAO_WordReplacement extends CRM_Core_DAO_WordReplacement implements \Civi\Test\HookInterface {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Function that must have never worked & should be removed.
    *
@@ -46,34 +39,15 @@ class CRM_Core_BAO_WordReplacement extends CRM_Core_DAO_WordReplacement implemen
   }
 
   /**
-   * Get the domain BAO.
-   *
-   * @param null $reset
-   *
-   * @return null|CRM_Core_BAO_WordReplacement
-   * @throws CRM_Core_Exception
-   */
-  public static function getWordReplacement($reset = NULL) {
-    static $wordReplacement = NULL;
-    if (!$wordReplacement || $reset) {
-      $wordReplacement = new CRM_Core_BAO_WordReplacement();
-      $wordReplacement->id = CRM_Core_Config::wordReplacementID();
-      if (!$wordReplacement->find(TRUE)) {
-        throw new CRM_Core_Exception('Unable to find word replacement');
-      }
-    }
-    return $wordReplacement;
-  }
-
-  /**
-   * Save the values of a WordReplacement.
+   * Deprecated update function.
    *
+   * @deprecated
    * @param array $params
    * @param int $id
-   *
    * @return array
    */
   public static function edit(&$params, &$id) {
+    CRM_Core_Error::deprecatedWarning('APIv4');
     $wordReplacement = new CRM_Core_DAO_WordReplacement();
     $wordReplacement->id = $id;
     $wordReplacement->copyValues($params);
@@ -85,10 +59,10 @@ class CRM_Core_BAO_WordReplacement extends CRM_Core_DAO_WordReplacement implemen
   }
 
   /**
-   * Create a new WordReplacement.
+   * Deprecated create function.
    *
+   * @deprecated
    * @param array $params
-   *
    * @return array
    */
   public static function create($params) {
diff --git a/civicrm/CRM/Core/Block.php b/civicrm/CRM/Core/Block.php
index 695e8a6c3f7bbe1da9a52ce4d25fa2117550203c..cdde5b928e8d9df213b773f105216e9fc77d301a 100644
--- a/civicrm/CRM/Core/Block.php
+++ b/civicrm/CRM/Core/Block.php
@@ -326,8 +326,6 @@ class CRM_Core_Block {
    * Create the list of options to create New objects for the application and format is as a block.
    */
   private static function setTemplateShortcutValues() {
-    $config = CRM_Core_Config::singleton();
-
     static $shortCuts = [];
 
     if (!($shortCuts)) {
@@ -349,14 +347,12 @@ class CRM_Core_Block {
 
       $components = CRM_Core_Component::getEnabledComponents();
 
-      if (!empty($config->enableComponents)) {
+      if ($components) {
         // check if we can process credit card contribs
         $newCredit = CRM_Core_Config::isEnabledBackOfficeCreditCardPayments();
 
-        foreach ($components as $componentName => $obj) {
-          if (in_array($componentName, $config->enableComponents)) {
-            $obj->creatNewShortcut($shortCuts, $newCredit);
-          }
+        foreach ($components as $obj) {
+          $obj->creatNewShortcut($shortCuts, $newCredit);
         }
       }
 
@@ -426,7 +422,7 @@ class CRM_Core_Block {
   }
 
   /**
-   * @param $short
+   * @param array $short
    *
    * @return array
    */
diff --git a/civicrm/CRM/Core/CodeGen/GenerateData.php b/civicrm/CRM/Core/CodeGen/GenerateData.php
index 4dcc745f02b49c4f41583b86e1c0c207bcfd8127..c03badfdd1280865a84e41b2bae5f067406126f5 100644
--- a/civicrm/CRM/Core/CodeGen/GenerateData.php
+++ b/civicrm/CRM/Core/CodeGen/GenerateData.php
@@ -334,7 +334,7 @@ class CRM_Core_CodeGen_GenerateData {
   /**
    * Get a random item from the sample data or any other array
    *
-   * @param $items (array or string) - if string, used as key for sample data,
+   * @param array|string $items if string, used as key for sample data,
    *   if array, used as data source
    *
    * @return mixed (element from array)
@@ -908,8 +908,10 @@ class CRM_Core_CodeGen_GenerateData {
   /**
    * Create an address for a contact
    *
-   * @param $cid int: contact id
-   * @param $masterContactId int: set if this is a shared address
+   * @param int $cid
+   *   contact id
+   * @param int $masterContactId
+   *   set if this is a shared address
    *
    * @return array
    */
@@ -960,7 +962,7 @@ class CRM_Core_CodeGen_GenerateData {
   /**
    * Add a phone number for a contact
    *
-   * @param $cid int: contact id
+   * @param int $cid contact id
    *
    * @return array
    */
@@ -982,7 +984,7 @@ class CRM_Core_CodeGen_GenerateData {
   /**
    * Add an email for a contact
    *
-   * @param $cid int: contact id
+   * @param int $cid contact id
    * @param $email
    * @param $locationType
    *
@@ -1002,8 +1004,8 @@ class CRM_Core_CodeGen_GenerateData {
    * Add a website based on organization name
    * Using common naming patterns
    *
-   * @param $cid int: contact id
-   * @param $name str: contact name
+   * @param int $cid contact id
+   * @param string $name contact name
    *
    * @return array
    */
@@ -1043,8 +1045,8 @@ class CRM_Core_CodeGen_GenerateData {
    * Create an email address based on a person's name
    * Using common naming patterns
    *
-   * @param $contact obj: individual contact record
-   * @param $domain str: supply a domain (i.e. for a work address)
+   * @param CRM_Contact_DAO_Contact $contact individual contact record
+   * @param string $domain supply a domain (i.e. for a work address)
    *
    * @return string
    */
@@ -1624,21 +1626,21 @@ VALUES
     $eventLok3 = CRM_Core_DAO::singleValueQuery($sql);
 
     $event = "INSERT INTO civicrm_event
-        ( title, summary, description, event_type_id, participant_listing_id, is_public, start_date, end_date, is_online_registration, registration_link_text, max_participants, event_full_text, is_monetary, financial_type_id, is_map, is_active, fee_label, is_show_location, loc_block_id,intro_text, footer_text, confirm_title, confirm_text, confirm_footer_text, is_email_confirm, confirm_email_text, confirm_from_name, confirm_from_email, cc_confirm, bcc_confirm, default_fee_id, thankyou_title, thankyou_text, thankyou_footer_text, is_pay_later, pay_later_text, pay_later_receipt, is_multiple_registrations, allow_same_participant_emails, currency )
+        ( title, summary, description, event_type_id, participant_listing_id, is_public, start_date, end_date, is_online_registration, registration_link_text, max_participants, event_full_text, is_monetary, financial_type_id, is_map, is_active, fee_label, is_show_location, loc_block_id,intro_text, footer_text, confirm_title, confirm_text, confirm_footer_text, is_email_confirm, confirm_email_text, confirm_from_name, confirm_from_email, cc_confirm, bcc_confirm, default_fee_id, thankyou_title, thankyou_text, thankyou_footer_text, is_pay_later, pay_later_text, pay_later_receipt, is_multiple_registrations, allow_same_participant_emails, currency, event_tz )
         VALUES
-        ( 'Fall Fundraiser Dinner', 'Kick up your heels at our Fall Fundraiser Dinner/Dance at Glen Echo Park! Come by yourself or bring a partner, friend or the entire family!', 'This event benefits our teen programs. Admission includes a full 3 course meal and wine or soft drinks. Grab your dancing shoes, bring the kids and come join the party!', 3, 1, 1, '" . date('Y-m-d 17:00:00', strtotime("+6 months", $this->time)) . "', '" . date('Y-m-d 17:00:00', strtotime("+6 months +2 days", $this->time)) . "', 1, 'Register Now', 100, 'Sorry! The Fall Fundraiser Dinner is full. Please call Jane at 204 222-1000 ext 33 if you want to be added to the waiting list.', 1, 4, 1, 1, 'Dinner Contribution', 1 ,$eventLok1,'Fill in the information below to join as at this wonderful dinner event.', NULL, 'Confirm Your Registration Information', 'Review the information below carefully.', NULL, 1, 'Contact the Development Department if you need to make any changes to your registration.', 'Fundraising Dept.', 'development@example.org', NULL, NULL, NULL, 'Thanks for Registering!', '<p>Thank you for your support. Your contribution will help us build even better tools.</p><p>Please tell your friends and colleagues about this wonderful event.</p>', '<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>', 1, 'I will send payment by check', 'Send a check payable to Our Organization within 3 business days to hold your reservation. Checks should be sent to: 100 Main St., Suite 3, San Francisco CA 94110', 1, 0, 'USD' ),
-        ( 'Summer Solstice Festival Day Concert', 'Festival Day is coming! Join us and help support your parks.', 'We will gather at noon, learn a song all together,  and then join in a joyous procession to the pavilion. We will be one of many groups performing at this wonderful concert which benefits our city parks.', 5, 1, 1, '" . date('Y-m-d 12:00:00', strtotime("-1 day", $this->time)) . "', '" . date('Y-m-d 17:00:00', strtotime("-1 day", $this->time)) . "', 1, 'Register Now', 50, 'We have all the singers we can handle. Come to the pavilion anyway and join in from the audience.', 1, 2, NULL, 1, 'Festival Fee', 1, $eventLok2, 'Complete the form below and click Continue to register online for the festival. Or you can register by calling us at 204 222-1000 ext 22.', '', 'Confirm Your Registration Information', '', '', 1, 'This email confirms your registration. If you have questions or need to change your registration - please do not hesitate to call us.', 'Event Dept.', 'events@example.org', '', NULL, NULL, 'Thanks for Your Joining In!', '<p>Thank you for your support. Your participation will help build new parks.</p><p>Please tell your friends and colleagues about the concert.</p>', '<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>', 0, NULL, NULL, 1, 0, 'USD' ),
-        ( 'Rain-forest Cup Youth Soccer Tournament', 'Sign up your team to participate in this fun tournament which benefits several Rain-forest protection groups in the Amazon basin.', 'This is a FYSA Sanctioned Tournament, which is open to all USSF/FIFA affiliated organizations for boys and girls in age groups: U9-U10 (6v6), U11-U12 (8v8), and U13-U17 (Full Sided).', 3, 1, 1, '" . date('Y-m-d 07:00:00', strtotime("+7 months", $this->time)) . "', '" . date('Y-m-d 17:00:00', strtotime("+7 months +3 days", $this->time)) . "', 1, 'Register Now', 500, 'Sorry! All available team slots for this tournament have been filled. Contact Jill Futbol for information about the waiting list and next years event.', 1, 4, NULL, 1, 'Tournament Fees',1, $eventLok3, 'Complete the form below to register your team for this year''s tournament.', '<em>A Soccer Youth Event</em>', 'Review and Confirm Your Registration Information', '', '<em>A Soccer Youth Event</em>', 1, 'Contact our Tournament Director for eligibility details.', 'Tournament Director', 'tournament@example.org', '', NULL, NULL, 'Thanks for Your Support!', '<p>Thank you for your support. Your participation will help save thousands of acres of rainforest.</p>', '<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>', 0, NULL, NULL, 0, 0, 'USD' )
+        ( 'Fall Fundraiser Dinner', 'Kick up your heels at our Fall Fundraiser Dinner/Dance at Glen Echo Park! Come by yourself or bring a partner, friend or the entire family!', 'This event benefits our teen programs. Admission includes a full 3 course meal and wine or soft drinks. Grab your dancing shoes, bring the kids and come join the party!', 3, 1, 1, '" . date('Y-m-d 17:00:00', strtotime("+6 months", $this->time)) . "', '" . date('Y-m-d 17:00:00', strtotime("+6 months +2 days", $this->time)) . "', 1, 'Register Now', 100, 'Sorry! The Fall Fundraiser Dinner is full. Please call Jane at 204 222-1000 ext 33 if you want to be added to the waiting list.', 1, 4, 1, 1, 'Dinner Contribution', 1 ,$eventLok1,'Fill in the information below to join as at this wonderful dinner event.', NULL, 'Confirm Your Registration Information', 'Review the information below carefully.', NULL, 1, 'Contact the Development Department if you need to make any changes to your registration.', 'Fundraising Dept.', 'development@example.org', NULL, NULL, NULL, 'Thanks for Registering!', '<p>Thank you for your support. Your contribution will help us build even better tools.</p><p>Please tell your friends and colleagues about this wonderful event.</p>', '<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>', 1, 'I will send payment by check', 'Send a check payable to Our Organization within 3 business days to hold your reservation. Checks should be sent to: 100 Main St., Suite 3, San Francisco CA 94110', 1, 0, 'USD', 'UTC' ),
+        ( 'Summer Solstice Festival Day Concert', 'Festival Day is coming! Join us and help support your parks.', 'We will gather at noon, learn a song all together,  and then join in a joyous procession to the pavilion. We will be one of many groups performing at this wonderful concert which benefits our city parks.', 5, 1, 1, '" . date('Y-m-d 12:00:00', strtotime("-1 day", $this->time)) . "', '" . date('Y-m-d 17:00:00', strtotime("-1 day", $this->time)) . "', 1, 'Register Now', 50, 'We have all the singers we can handle. Come to the pavilion anyway and join in from the audience.', 1, 2, NULL, 1, 'Festival Fee', 1, $eventLok2, 'Complete the form below and click Continue to register online for the festival. Or you can register by calling us at 204 222-1000 ext 22.', '', 'Confirm Your Registration Information', '', '', 1, 'This email confirms your registration. If you have questions or need to change your registration - please do not hesitate to call us.', 'Event Dept.', 'events@example.org', '', NULL, NULL, 'Thanks for Your Joining In!', '<p>Thank you for your support. Your participation will help build new parks.</p><p>Please tell your friends and colleagues about the concert.</p>', '<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>', 0, NULL, NULL, 1, 0, 'USD', 'UTC' ),
+        ( 'Rain-forest Cup Youth Soccer Tournament', 'Sign up your team to participate in this fun tournament which benefits several Rain-forest protection groups in the Amazon basin.', 'This is a FYSA Sanctioned Tournament, which is open to all USSF/FIFA affiliated organizations for boys and girls in age groups: U9-U10 (6v6), U11-U12 (8v8), and U13-U17 (Full Sided).', 3, 1, 1, '" . date('Y-m-d 07:00:00', strtotime("+7 months", $this->time)) . "', '" . date('Y-m-d 17:00:00', strtotime("+7 months +3 days", $this->time)) . "', 1, 'Register Now', 500, 'Sorry! All available team slots for this tournament have been filled. Contact Jill Futbol for information about the waiting list and next years event.', 1, 4, NULL, 1, 'Tournament Fees',1, $eventLok3, 'Complete the form below to register your team for this year''s tournament.', '<em>A Soccer Youth Event</em>', 'Review and Confirm Your Registration Information', '', '<em>A Soccer Youth Event</em>', 1, 'Contact our Tournament Director for eligibility details.', 'Tournament Director', 'tournament@example.org', '', NULL, NULL, 'Thanks for Your Support!', '<p>Thank you for your support. Your participation will help save thousands of acres of rainforest.</p>', '<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>', 0, NULL, NULL, 0, 0, 'USD', 'UTC' )
          ";
     $this->_query($event);
 
     //CRM-4464
     $eventTemplates = "INSERT INTO civicrm_event
-        ( is_template, template_title, event_type_id, default_role_id, participant_listing_id, is_public, is_monetary, is_online_registration, is_multiple_registrations, allow_same_participant_emails, is_email_confirm, financial_type_id, fee_label, confirm_title, thankyou_title, confirm_from_name, confirm_from_email, is_active, currency )
+        ( is_template, template_title, event_type_id, default_role_id, participant_listing_id, is_public, is_monetary, is_online_registration, is_multiple_registrations, allow_same_participant_emails, is_email_confirm, financial_type_id, fee_label, confirm_title, thankyou_title, confirm_from_name, confirm_from_email, is_active, currency, event_tz )
         VALUES
-        ( 1, 'Free Meeting without Online Registration', 4, 1, 1, 1, 0, 0, NULL, NULL, NULL, NULL,             NULL, NULL, NULL, NULL, NULL, 1, 'USD'  ),
-        ( 1, 'Free Meeting with Online Registration',    4, 1, 1, 1, 0, 1,    1,    1,    0, NULL,             NULL, 'Confirm Your Registration Information', 'Thanks for Registering!', NULL, NULL, 1, 'USD'  ),
-        ( 1, 'Paid Conference with Online Registration', 1, 1, 1, 1, 1, 1,    1,    1,    1,     4, 'Conference Fee', 'Confirm Your Registration Information', 'Thanks for Registering!', 'Event Template Dept.', 'event_templates@example.org', 1, 'USD' )";
+        ( 1, 'Free Meeting without Online Registration', 4, 1, 1, 1, 0, 0, NULL, NULL, NULL, NULL,             NULL, NULL, NULL, NULL, NULL, 1, 'USD', 'UTC' ),
+        ( 1, 'Free Meeting with Online Registration',    4, 1, 1, 1, 0, 1,    1,    1,    0, NULL,             NULL, 'Confirm Your Registration Information', 'Thanks for Registering!', NULL, NULL, 1, 'USD', 'UTC' ),
+        ( 1, 'Paid Conference with Online Registration', 1, 1, 1, 1, 1, 1,    1,    1,    1,     4, 'Conference Fee', 'Confirm Your Registration Information', 'Thanks for Registering!', 'Event Template Dept.', 'event_templates@example.org', 1, 'USD', 'UTC' )";
 
     $this->_query($eventTemplates);
 
diff --git a/civicrm/CRM/Core/CodeGen/Specification.php b/civicrm/CRM/Core/CodeGen/Specification.php
index 30bec91f673066dc39b08f5db5d9cfc68dc8f2cf..b4f2c26f48a1982eebf98950fbfd596bd71891ba 100644
--- a/civicrm/CRM/Core/CodeGen/Specification.php
+++ b/civicrm/CRM/Core/CodeGen/Specification.php
@@ -110,8 +110,8 @@ class CRM_Core_CodeGen_Specification {
   }
 
   /**
-   * @param $tables
-   * @param string $classNames
+   * @param array $tables
+   * @param string[] $classNames
    */
   public function resolveForeignKeys(&$tables, &$classNames) {
     foreach (array_keys($tables) as $name) {
@@ -120,8 +120,8 @@ class CRM_Core_CodeGen_Specification {
   }
 
   /**
-   * @param $tables
-   * @param string $classNames
+   * @param array $tables
+   * @param string[] $classNames
    * @param string $name
    */
   public function resolveForeignKey(&$tables, &$classNames, $name) {
@@ -142,7 +142,7 @@ class CRM_Core_CodeGen_Specification {
   }
 
   /**
-   * @param $tables
+   * @param array $tables
    *
    * @return array
    */
@@ -161,7 +161,7 @@ class CRM_Core_CodeGen_Specification {
   }
 
   /**
-   * @param $tables
+   * @param array $tables
    * @param int $valid
    * @param string $name
    *
@@ -222,7 +222,7 @@ class CRM_Core_CodeGen_Specification {
       'labelName' => substr($name, 8),
       'className' => $this->classNames[$name],
       'bao' => ($useBao ? str_replace('DAO', 'BAO', $this->classNames[$name]) : $this->classNames[$name]),
-      'entity' => $klass,
+      'entity' => $tableXML->entity ?? $klass,
       'attributes_simple' => trim($database['tableAttributes_simple']),
       'attributes_modern' => trim($database['tableAttributes_modern']),
       'comment' => $this->value('comment', $tableXML),
@@ -303,19 +303,18 @@ class CRM_Core_CodeGen_Specification {
   public function getField(&$fieldXML, &$fields) {
     $name = trim((string ) $fieldXML->name);
     $field = ['name' => $name, 'localizable' => ((bool) $fieldXML->localizable) ? 1 : 0];
-    $type = (string ) $fieldXML->type;
+    $type = (string) $fieldXML->type;
     switch ($type) {
       case 'varchar':
       case 'char':
         $field['length'] = (int) $fieldXML->length;
         $field['sqlType'] = "$type({$field['length']})";
-        $field['phpType'] = 'string';
         $field['crmType'] = 'CRM_Utils_Type::T_STRING';
         $field['size'] = $this->getSize($fieldXML);
         break;
 
       case 'text':
-        $field['sqlType'] = $field['phpType'] = $type;
+        $field['sqlType'] = $type;
         $field['crmType'] = 'CRM_Utils_Type::T_' . strtoupper($type);
         // CRM-13497 see fixme below
         $field['rows'] = isset($fieldXML->html) ? $this->value('rows', $fieldXML->html) : NULL;
@@ -323,7 +322,7 @@ class CRM_Core_CodeGen_Specification {
         break;
 
       case 'datetime':
-        $field['sqlType'] = $field['phpType'] = $type;
+        $field['sqlType'] = $type;
         $field['crmType'] = 'CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME';
         break;
 
@@ -331,29 +330,24 @@ class CRM_Core_CodeGen_Specification {
         // need this case since some versions of mysql do not have boolean as a valid column type and hence it
         // is changed to tinyint. hopefully after 2 yrs this case can be removed.
         $field['sqlType'] = 'tinyint';
-        $field['phpType'] = 'bool';
         $field['crmType'] = 'CRM_Utils_Type::T_' . strtoupper($type);
         break;
 
       case 'decimal':
         $length = $fieldXML->length ? $fieldXML->length : '20,2';
         $field['sqlType'] = 'decimal(' . $length . ')';
-        $field['phpType'] = 'float';
         $field['crmType'] = 'CRM_Utils_Type::T_MONEY';
         $field['precision'] = $length . ',';
         break;
 
       case 'float':
         $field['sqlType'] = 'double';
-        $field['phpType'] = 'float';
         $field['crmType'] = 'CRM_Utils_Type::T_FLOAT';
         break;
 
       default:
-        $field['phpType'] = $this->value('phpType', $fieldXML, $type);
         $field['sqlType'] = $type;
         if ($type == 'int unsigned' || $type == 'tinyint') {
-          $field['phpType'] = 'int';
           $field['crmType'] = 'CRM_Utils_Type::T_INT';
         }
         else {
@@ -362,6 +356,9 @@ class CRM_Core_CodeGen_Specification {
         break;
     }
 
+    $field['phpType'] = $this->getPhpType($fieldXML);
+    $field['phpNullable'] = $this->getPhpNullable($fieldXML);
+
     $field['required'] = $this->value('required', $fieldXML);
     $field['collate'] = $this->value('collate', $fieldXML);
     $field['comment'] = $this->value('comment', $fieldXML);
@@ -478,6 +475,54 @@ class CRM_Core_CodeGen_Specification {
     $fields[$name] = &$field;
   }
 
+  /**
+   * Returns the PHPtype used within the DAO object
+   *
+   * @param object $fieldXML
+   * @return string
+   */
+  private function getPhpType($fieldXML) {
+    $type = $fieldXML->type;
+    $phpType = $this->value('phpType', $fieldXML, 'string');
+
+    if ($type == 'int' || $type == 'int unsigned' || $type == 'tinyint') {
+      $phpType = 'int';
+    }
+
+    if ($type == 'float' || $type == 'decimal') {
+      $phpType = 'float';
+    }
+
+    if ($type == 'boolean') {
+      $phpType = 'bool';
+    }
+
+    if ($phpType !== 'string') {
+      // Values are almost always fetched from the database as string
+      $phpType .= '|string';
+    }
+
+    return $phpType;
+  }
+
+  /**
+   * Returns whether the field is nullable in PHP.
+   * Either because:
+   *  - The SQL field is nullable
+   *  - The field is a primary key, and so is null before new objects are saved
+   *
+   * @param object $fieldXML
+   * @return bool
+   */
+  private function getPhpNullable($fieldXML) {
+    $required = $this->value('required', $fieldXML);
+    if ($required) {
+      return FALSE;
+    }
+
+    return TRUE;
+  }
+
   /**
    * @param string $name
    *
@@ -516,6 +561,7 @@ class CRM_Core_CodeGen_Specification {
     $auto = $this->value('autoincrement', $primaryXML);
     if (isset($fields[$name])) {
       $fields[$name]['autoincrement'] = $auto;
+      $fields[$name]['phpNullable'] = TRUE;
     }
 
     $primaryKey = [
diff --git a/civicrm/CRM/Core/CodeGen/Util/File.php b/civicrm/CRM/Core/CodeGen/Util/File.php
index 9e30000f86c901aabb5d9a2ea68d6d773cdc60a2..552c6f8c8ef7e82809d25fc6fb90e540ab56398d 100644
--- a/civicrm/CRM/Core/CodeGen/Util/File.php
+++ b/civicrm/CRM/Core/CodeGen/Util/File.php
@@ -6,7 +6,7 @@
 class CRM_Core_CodeGen_Util_File {
 
   /**
-   * @param $dir
+   * @param string $dir
    * @param int $perm
    */
   public static function createDir($dir, $perm = 0755) {
@@ -16,7 +16,7 @@ class CRM_Core_CodeGen_Util_File {
   }
 
   /**
-   * @param $dir
+   * @param string $dir
    */
   public static function cleanTempDir($dir) {
     foreach (glob("$dir/*") as $tempFile) {
@@ -31,7 +31,7 @@ class CRM_Core_CodeGen_Util_File {
   }
 
   /**
-   * @param $prefix
+   * @param string $prefix
    *
    * @return string
    */
diff --git a/civicrm/CRM/Core/Component.php b/civicrm/CRM/Core/Component.php
index 7661eb3e049aef2d4ced33c784c3d471b5395e02..9413e233878aea7e05ed171ba2198ac17f38d4c8 100644
--- a/civicrm/CRM/Core/Component.php
+++ b/civicrm/CRM/Core/Component.php
@@ -24,11 +24,6 @@ class CRM_Core_Component {
    */
   const COMPONENT_INFO_CLASS = 'Info';
 
-  /**
-   * @var array
-   */
-  public static $_contactSubTypes = NULL;
-
   /**
    * @param bool $force
    *
@@ -313,6 +308,9 @@ class CRM_Core_Component {
         }
       }
     }
+    if (!$properties) {
+      $properties = CRM_Contact_BAO_Query_Hook::singleton()->getDefaultReturnProperties($mode);
+    }
     return $properties;
   }
 
@@ -346,29 +344,36 @@ class CRM_Core_Component {
   }
 
   /**
+   * Unused function.
+   *
    * @return array|null
+   *
+   * @deprecated
    */
-  public static function &contactSubTypes() {
-    if (self::$_contactSubTypes == NULL) {
-      self::$_contactSubTypes = [];
-    }
-    return self::$_contactSubTypes;
+  public static function contactSubTypes() {
+    CRM_Core_Error::deprecatedWarning('unused');
+    return [];
   }
 
   /**
-   * @param $subType
-   * @param $op
+   * Unused function.
    *
-   * @return null
+   * @param string $subType
+   * @param string $op
+   *
+   * @return null|string
+   *
+   * @deprecated
    */
-  public static function &contactSubTypeProperties($subType, $op) {
+  public static function contactSubTypeProperties($subType, $op): ?string {
+    CRM_Core_Error::deprecatedWarning('unused');
     $properties = self::contactSubTypes();
     if (array_key_exists($subType, $properties) &&
       array_key_exists($op, $properties[$subType])
     ) {
       return $properties[$subType][$op];
     }
-    return CRM_Core_DAO::$_nullObject;
+    return NULL;
   }
 
   /**
@@ -402,7 +407,7 @@ class CRM_Core_Component {
     if (is_dir($crmFolderDir) && $dir = opendir($crmFolderDir)) {
       while ($subDir = readdir($dir)) {
         // skip the extensions diretory since it has an Info.php file also
-        if ($subDir == 'Extension') {
+        if ($subDir === 'Extension') {
           continue;
         }
 
@@ -420,4 +425,17 @@ class CRM_Core_Component {
     return $components;
   }
 
+  /**
+   * Is the specified component enabled.
+   *
+   * @param string $component
+   *   Component name - ie CiviMember, CiviContribute, CiviEvent...
+   *
+   * @return bool
+   *   Is the component enabled.
+   */
+  public static function isEnabled(string $component): bool {
+    return in_array($component, CRM_Core_Config::singleton()->enableComponents, TRUE);
+  }
+
 }
diff --git a/civicrm/CRM/Core/Component/Info.php b/civicrm/CRM/Core/Component/Info.php
index 604fcd7a654f3aaee8b837619415be45dff8dd43..a56e6fa4ed5fad2415c6231e3e750aec1e21a078 100644
--- a/civicrm/CRM/Core/Component/Info.php
+++ b/civicrm/CRM/Core/Component/Info.php
@@ -220,8 +220,7 @@ abstract class CRM_Core_Component_Info {
    *   true if component is enabled, false if not
    */
   public function isEnabled() {
-    $config = CRM_Core_Config::singleton();
-    return in_array($this->info['name'], $config->enableComponents, TRUE);
+    return CRM_Core_Component::isEnabled($this->info['name']);
   }
 
   /**
@@ -332,7 +331,7 @@ abstract class CRM_Core_Component_Info {
   /**
    * Helper for instantiating component's elements.
    *
-   * @param $cl
+   * @param string $cl
    *
    * @return mixed
    *   component's element as class instance
diff --git a/civicrm/CRM/Core/Config.php b/civicrm/CRM/Core/Config.php
index 6ca6e68ea45d1940c0ff2d91f63a0ec9193ef168..c1db7ff80906098b13ae85bf8d5d48a85edb2730 100644
--- a/civicrm/CRM/Core/Config.php
+++ b/civicrm/CRM/Core/Config.php
@@ -66,14 +66,6 @@ class CRM_Core_Config extends CRM_Core_Config_MagicMerge {
    */
   private static $_singleton = NULL;
 
-  /**
-   * The constructor. Sets domain id if defined, otherwise assumes
-   * single instance installation.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Singleton function used to manage this object.
    *
diff --git a/civicrm/CRM/Core/Controller.php b/civicrm/CRM/Core/Controller.php
index 3924aa464173e07a943e57f9fbc16a0d7508f223..f31e5f963f72dca2c8d27fb3c47e9d4b57ed7b46 100644
--- a/civicrm/CRM/Core/Controller.php
+++ b/civicrm/CRM/Core/Controller.php
@@ -86,7 +86,9 @@ class CRM_Core_Controller extends HTML_QuickForm_Controller {
    * Are we in print mode? if so we need to modify the display
    * functionality to do a minimal display :)
    *
-   * @var bool
+   * @var int|string
+   *   Should match a CRM_Core_Smarty::PRINT_* constant,
+   *   or equal 0 if not in print mode
    */
   public $_print = 0;
 
@@ -668,9 +670,17 @@ class CRM_Core_Controller extends HTML_QuickForm_Controller {
   }
 
   /**
-   * @param null $fileName
+   * Output HTTP headers for Word document
+   * (note .doc, not the newer .docx format)
+   *
+   * @deprecated
+   *
+   * @param string|null $fileName
+   * @return void
    */
   public function setWord($fileName = NULL) {
+    CRM_Core_Error::deprecatedFunctionWarning('no alternative');
+
     //Mark as a CSV file.
     CRM_Utils_System::setHttpHeader('Content-Type', 'application/vnd.ms-word');
 
@@ -682,9 +692,17 @@ class CRM_Core_Controller extends HTML_QuickForm_Controller {
   }
 
   /**
-   * @param null $fileName
+   * Output HTTP headers for Excel document
+   * (note .xls, not the newer .xlsx format)
+   *
+   * @deprecated
+   *
+   * @param string|null $fileName
+   * @return void
    */
   public function setExcel($fileName = NULL) {
+    CRM_Core_Error::deprecatedFunctionWarning('no alternative');
+
     //Mark as an excel file.
     CRM_Utils_System::setHttpHeader('Content-Type', 'application/vnd.ms-excel');
 
@@ -699,13 +717,20 @@ class CRM_Core_Controller extends HTML_QuickForm_Controller {
   /**
    * Setter for print.
    *
-   * @param bool $print
+   * Historically the $print argument has also accepted a string (xls or doc),
+   * but this usage is now deprecated.
+   *
+   * @param int|string $print
+   *   Should match a CRM_Core_Smarty::PRINT_* constant,
+   *   or equal 0 if not in print mode
+   *
+   * @return void
    */
   public function setPrint($print) {
-    if ($print == "xls") {
+    if ($print === "xls") {
       $this->setExcel();
     }
-    elseif ($print == "doc") {
+    elseif ($print === "doc") {
       $this->setWord();
     }
     $this->_print = $print;
@@ -714,8 +739,9 @@ class CRM_Core_Controller extends HTML_QuickForm_Controller {
   /**
    * Getter for print.
    *
-   * @return bool
-   *   return the print value
+   * @return int|string
+   *   Value matching a CRM_Core_Smarty::PRINT_* constant,
+   *   or 0 if not in print mode
    */
   public function getPrint() {
     return $this->_print;
@@ -729,7 +755,7 @@ class CRM_Core_Controller extends HTML_QuickForm_Controller {
       if ($this->_print == CRM_Core_Smarty::PRINT_PAGE) {
         return 'CRM/common/print.tpl';
       }
-      elseif ($this->_print == 'xls' || $this->_print == 'doc') {
+      elseif ($this->_print === 'xls' || $this->_print === 'doc') {
         return 'CRM/Contact/Form/Task/Excel.tpl';
       }
       else {
diff --git a/civicrm/CRM/Core/Controller/Simple.php b/civicrm/CRM/Core/Controller/Simple.php
index 0c684a7408e6970af581eac83329667c524efe38..f8739715f1187904d67ce493b230c1d2eaf419f5 100644
--- a/civicrm/CRM/Core/Controller/Simple.php
+++ b/civicrm/CRM/Core/Controller/Simple.php
@@ -23,7 +23,7 @@ class CRM_Core_Controller_Simple extends CRM_Core_Controller {
   /**
    * Constructor.
    *
-   * @param null $path
+   * @param string $path
    *   The class Path of the form being implemented
    * @param bool $title
    * @param string $mode
diff --git a/civicrm/CRM/Core/DAO.php b/civicrm/CRM/Core/DAO.php
index 84bf0251e9ffa827a7afcdb65680f30e0a5ba9f2..64763f978a644b9bb41e15d25cc054441101821b 100644
--- a/civicrm/CRM/Core/DAO.php
+++ b/civicrm/CRM/Core/DAO.php
@@ -124,7 +124,7 @@ class CRM_Core_DAO extends DB_DataObject {
   /**
    * Class constructor.
    *
-   * @return \CRM_Core_DAO
+   * @return static
    */
   public function __construct() {
     $this->initialize();
@@ -693,7 +693,8 @@ class CRM_Core_DAO extends DB_DataObject {
    *             we will build the condition only using the whereAdd's.  Default is to
    *             build the condition only using the object parameters.
    *
-   *     * @return mixed Int (No. of rows affected) on success, false on failure, 0 on no data affected
+   * @return int|false
+   *   Int (No. of rows affected) on success, false on failure, 0 on no data affected
    */
   public function delete($useWhere = FALSE) {
     $preEvent = new \Civi\Core\DAO\Event\PreDelete($this);
@@ -909,20 +910,29 @@ class CRM_Core_DAO extends DB_DataObject {
    * @throws \CRM_Core_Exception
    */
   public static function writeRecord(array $record): CRM_Core_DAO {
-    $hook = empty($record['id']) ? 'create' : 'edit';
+    $op = empty($record['id']) ? 'create' : 'edit';
     $className = CRM_Core_DAO_AllCoreTables::getCanonicalClassName(static::class);
     if ($className === 'CRM_Core_DAO') {
       throw new CRM_Core_Exception('Function writeRecord must be called on a subclass of CRM_Core_DAO');
     }
     $entityName = CRM_Core_DAO_AllCoreTables::getBriefName($className);
 
-    \CRM_Utils_Hook::pre($hook, $entityName, $record['id'] ?? NULL, $record);
-    $instance = new $className();
+    \CRM_Utils_Hook::pre($op, $entityName, $record['id'] ?? NULL, $record);
+    $fields = static::getSupportedFields();
+    $instance = new static();
     // Ensure fields exist before attempting to write to them
-    $values = array_intersect_key($record, self::getSupportedFields());
+    $values = array_intersect_key($record, $fields);
     $instance->copyValues($values);
+    if (empty($values['id']) && array_key_exists('name', $fields) && empty($values['name'])) {
+      $instance->makeNameFromLabel(!empty($fields['name']['required']));
+    }
     $instance->save();
-    \CRM_Utils_Hook::post($hook, $entityName, $instance->id, $instance);
+
+    if (!empty($record['custom']) && is_array($record['custom'])) {
+      CRM_Core_BAO_CustomValueTable::store($record['custom'], static::$_tableName, $instance->id, $op);
+    }
+
+    \CRM_Utils_Hook::post($op, $entityName, $instance->id, $instance);
 
     return $instance;
   }
@@ -1490,14 +1500,13 @@ LIKE %1
    * @param string $daoName
    *   Name of the dao object.
    * @param array $params
-   *   (reference ) an assoc array of name/value pairs.
+   *   (reference) an assoc array of name/value pairs.
    * @param array $defaults
-   *   (reference ) an assoc array to hold the flattened values.
+   *   (reference) an assoc array to hold the flattened values.
    * @param array $returnProperities
    *   An assoc array of fields that need to be returned, eg array( 'first_name', 'last_name').
    *
-   * @return object
-   *   an object of type referenced by daoName
+   * @return static|null
    */
   public static function commonRetrieve($daoName, &$params, &$defaults, $returnProperities = NULL) {
     $object = new $daoName();
@@ -1519,12 +1528,15 @@ LIKE %1
   /**
    * Delete the object records that are associated with this contact.
    *
+   * @deprecated
+   *
    * @param string $daoName
    *   Name of the dao object.
    * @param int $contactId
    *   Id of the contact to delete.
    */
   public static function deleteEntityContact($daoName, $contactId) {
+    CRM_Core_Error::deprecatedFunctionWarning('APIv4');
     $object = new $daoName();
 
     $object->entity_table = 'civicrm_contact';
@@ -3273,4 +3285,54 @@ SELECT contact_id
     return static::$_paths ?? [];
   }
 
+  /**
+   * When creating a record without a supplied name,
+   * create a unique, clean name derived from the label.
+   *
+   * Note: this function does nothing unless a unique index exists for "name" column.
+   *
+   * @var bool $isRequired
+   */
+  private function makeNameFromLabel(bool $isRequired): void {
+    $indexNameWith = NULL;
+    // Look for a unique index which includes the "name" field
+    if (method_exists($this, 'indices')) {
+      foreach ($this->indices(FALSE) as $index) {
+        if (!empty($index['unique']) && in_array('name', $index['field'], TRUE)) {
+          $indexNameWith = $index['field'];
+        }
+      }
+    }
+    if (!$indexNameWith) {
+      // No unique index on "name", do nothing
+      return;
+    }
+    $label = $this->label ?? $this->title ?? NULL;
+    if (!$label && $label !== '0' && !$isRequired) {
+      // No label supplied and name not required, do nothing
+      return;
+    }
+    $maxLen = static::getSupportedFields()['name']['maxlength'] ?? 255;
+    // Strip unsafe characters and trim to max length (-3 characters leaves room for a unique suffix)
+    $name = CRM_Utils_String::munge($label, '_', $maxLen - 3);
+
+    // Find existing records with the same name
+    $sql = new CRM_Utils_SQL_Select($this::getTableName());
+    $sql->select(['id', 'name']);
+    $sql->where('name LIKE @name', ['@name' => $name . '%']);
+    // Include all fields that are part of the index
+    foreach (array_diff($indexNameWith, ['name']) as $field) {
+      $sql->where("`$field` = @val", ['@val' => $this->$field]);
+    }
+    $query = $sql->toSQL();
+    $existing = self::executeQuery($query)->fetchMap('id', 'name');
+    $dupes = 0;
+    $suffix = '';
+    // Add unique suffix if existing records have the same name
+    while (in_array($name . $suffix, $existing)) {
+      $suffix = '_' . ++$dupes;
+    }
+    $this->name = $name . $suffix;
+  }
+
 }
diff --git a/civicrm/CRM/Core/DAO/ActionLog.php b/civicrm/CRM/Core/DAO/ActionLog.php
index 3857d49fbffebc958532d0ba5b2f360ba4f6598b..94ab9bdc8f1327532a7ebd49191a8b2fd78b2fef 100644
--- a/civicrm/CRM/Core/DAO/ActionLog.php
+++ b/civicrm/CRM/Core/DAO/ActionLog.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/ActionLog.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b2a5ecdfd400bdf2fe892f9391f8a7ea)
+ * (GenCodeChecksum:5437b79ba43089ace75ed2e072e7677e)
  */
 
 /**
@@ -31,70 +31,90 @@ class CRM_Core_DAO_ActionLog extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * FK to id of the entity that the action was performed on. Pseudo - FK.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * name of the entity table for the above id, e.g. civicrm_activity, civicrm_participant
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * FK to the action schedule that this action originated from.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $action_schedule_id;
 
   /**
    * date time that the action was performed on.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $action_date_time;
 
   /**
    * Was there any error sending the reminder?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_error;
 
   /**
    * Description / text in case there was an error encountered.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $message;
 
   /**
    * Keeps track of the sequence number of this repetition.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $repetition_number;
 
   /**
    * Stores the date from the entity which triggered this reminder action (e.g. membership.end_date for most membership renewal reminders)
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $reference_date;
 
diff --git a/civicrm/CRM/Core/DAO/ActionMapping.php b/civicrm/CRM/Core/DAO/ActionMapping.php
index a337d7dc50cdbc19d6034d6b268cda3387d60dc0..232b5eeb5d789dcd50497bc7520388ad4a0246ae 100644
--- a/civicrm/CRM/Core/DAO/ActionMapping.php
+++ b/civicrm/CRM/Core/DAO/ActionMapping.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/ActionMapping.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:bbddce29b37d3352bf681595ee0d3ffd)
+ * (GenCodeChecksum:47aaf423930a3ec40089a4b21caaae2c)
  */
 
 /**
@@ -31,63 +31,81 @@ class CRM_Core_DAO_ActionMapping extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Entity for which the reminder is created
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity;
 
   /**
    * Entity value
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_value;
 
   /**
    * Entity value label
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_value_label;
 
   /**
    * Entity status
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_status;
 
   /**
    * Entity status label
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_status_label;
 
   /**
    * Entity date
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_date_start;
 
   /**
    * Entity date
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_date_end;
 
   /**
    * Entity recipient
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_recipient;
 
diff --git a/civicrm/CRM/Core/DAO/ActionSchedule.php b/civicrm/CRM/Core/DAO/ActionSchedule.php
index 5f6a148e4b417d3864add6b3b0672df66ccc410a..8a01d1a99f4554840cb6f3c0b9cc95821e93231c 100644
--- a/civicrm/CRM/Core/DAO/ActionSchedule.php
+++ b/civicrm/CRM/Core/DAO/ActionSchedule.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/ActionSchedule.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:35dfd5d26ce9445b37c831c51ccc5d7e)
+ * (GenCodeChecksum:ea596948c02894437bcc1a3f5b5c4f9d)
  */
 
 /**
@@ -31,290 +31,374 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Name of the action(reminder)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Title of the action(reminder)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Recipient
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $recipient;
 
   /**
    * Is this the recipient criteria limited to OR in addition to?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $limit_to;
 
   /**
    * Entity value
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_value;
 
   /**
    * Entity status
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_status;
 
   /**
    * Reminder Interval.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_action_offset;
 
   /**
    * Time units for reminder.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_action_unit;
 
   /**
    * Reminder Action
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_action_condition;
 
   /**
    * Entity date
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_action_date;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_repeat;
 
   /**
    * Time units for repetition of reminder.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $repetition_frequency_unit;
 
   /**
    * Time interval for repeating the reminder.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $repetition_frequency_interval;
 
   /**
    * Time units till repetition of reminder.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_frequency_unit;
 
   /**
    * Time interval till repeating the reminder.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_frequency_interval;
 
   /**
    * Reminder Action till repeating the reminder.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_action;
 
   /**
    * Entity end date
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * Is this option active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Contact IDs to which reminder should be sent.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $recipient_manual;
 
   /**
    * listing based on recipient field.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $recipient_listing;
 
   /**
    * Body of the mailing in text format.
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $body_text;
 
   /**
    * Body of the mailing in html format.
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $body_html;
 
   /**
    * Content of the SMS text.
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $sms_body_text;
 
   /**
    * Subject of mailing
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $subject;
 
   /**
    * Record Activity for this reminder?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $record_activity;
 
   /**
    * Name/ID of the mapping to use on this table
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mapping_id;
 
   /**
    * FK to Group
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_id;
 
   /**
    * FK to the message template.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $msg_template_id;
 
   /**
    * FK to the message template.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $sms_template_id;
 
   /**
    * Date on which the reminder be sent.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $absolute_date;
 
   /**
    * Name in "from" field
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $from_name;
 
   /**
    * Email address in "from" field
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $from_email;
 
   /**
    * Send the message as email or sms or both.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mode;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $sms_provider_id;
 
   /**
    * Used for repeating entity
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $used_for;
 
   /**
    * Used for multilingual installation
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $filter_contact_language;
 
   /**
    * Used for multilingual installation
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $communication_language;
 
   /**
    * When was the scheduled reminder created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When the reminder was created or modified.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
   /**
    * Earliest date to consider start events from.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $effective_start_date;
 
   /**
    * Latest date to consider end events from.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $effective_end_date;
 
diff --git a/civicrm/CRM/Core/DAO/Address.php b/civicrm/CRM/Core/DAO/Address.php
index 83f8f7891ffe1cf7cd3c461d68e0344b633cd989..d0ab74783ce975800eadf5c20697c130e07ff715 100644
--- a/civicrm/CRM/Core/DAO/Address.php
+++ b/civicrm/CRM/Core/DAO/Address.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Address.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:40a96138e8081eaba0460889f49cc1cf)
+ * (GenCodeChecksum:80a3c43c953f8fe1ddb7ac96cd926139)
  */
 
 /**
@@ -40,35 +40,45 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
   /**
    * Unique Address ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Which Location does this address belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location_type_id;
 
   /**
    * Is this the primary address.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_primary;
 
   /**
    * Is this the billing address.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_billing;
 
@@ -77,166 +87,214 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
    * number OR P.O. Box). Apps should be able to determine physical location with this data (for mapping, mail
    * delivery, etc.).
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(96))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $street_address;
 
   /**
    * Numeric portion of address number on the street, e.g. For 112A Main St, the street_number = 112.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $street_number;
 
   /**
    * Non-numeric portion of address number on the street, e.g. For 112A Main St, the street_number_suffix = A
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $street_number_suffix;
 
   /**
    * Directional prefix, e.g. SE Main St, SE is the prefix.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $street_number_predirectional;
 
   /**
    * Actual street name, excluding St, Dr, Rd, Ave, e.g. For 112 Main St, the street_name = Main.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $street_name;
 
   /**
    * St, Rd, Dr, etc.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $street_type;
 
   /**
    * Directional prefix, e.g. Main St S, S is the suffix.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $street_number_postdirectional;
 
   /**
    * Secondary unit designator, e.g. Apt 3 or Unit # 14, or Bldg 1200
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(16))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $street_unit;
 
   /**
    * Supplemental Address Information, Line 1
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(96))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $supplemental_address_1;
 
   /**
    * Supplemental Address Information, Line 2
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(96))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $supplemental_address_2;
 
   /**
    * Supplemental Address Information, Line 3
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(96))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $supplemental_address_3;
 
   /**
    * City, Town or Village Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $city;
 
   /**
    * Which County does this address belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $county_id;
 
   /**
    * Which State_Province does this address belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $state_province_id;
 
   /**
    * Store the suffix, like the +4 part in the USPS system.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $postal_code_suffix;
 
   /**
    * Store both US (zip5) AND international postal codes. App is responsible for country/region appropriate validation.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $postal_code;
 
   /**
    * USPS Bulk mailing code.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $usps_adc;
 
   /**
    * Which Country does this address belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $country_id;
 
   /**
    * Latitude
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: double)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $geo_code_1;
 
   /**
    * Longitude
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: double)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $geo_code_2;
 
   /**
    * Is this a manually entered geo code
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $manual_geo_code;
 
   /**
    * Timezone expressed as a UTC offset - e.g. United States CST would be written as "UTC-6".
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $timezone;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * FK to Address ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $master_id;
 
diff --git a/civicrm/CRM/Core/DAO/AddressFormat.php b/civicrm/CRM/Core/DAO/AddressFormat.php
index aad2567193bb1ad6b60f1d9aa8cb2eb8b68a5775..242d8c3b878433449a2d1c04dae1ea808c7849fa 100644
--- a/civicrm/CRM/Core/DAO/AddressFormat.php
+++ b/civicrm/CRM/Core/DAO/AddressFormat.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/AddressFormat.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:fc7e6c978b71e38b5357cee46708a649)
+ * (GenCodeChecksum:bdb3bcc498465d39e8bd700f5c3b64df)
  */
 
 /**
@@ -33,14 +33,18 @@ class CRM_Core_DAO_AddressFormat extends CRM_Core_DAO {
   /**
    * Address Format ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The format of an address
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $format;
 
diff --git a/civicrm/CRM/Core/DAO/AllCoreTables.data.php b/civicrm/CRM/Core/DAO/AllCoreTables.data.php
index 2b84c1d943f921aaa1486b580a70090478f65184..5dd43a0831eb2637232db96998286477b30a97ab 100644
--- a/civicrm/CRM/Core/DAO/AllCoreTables.data.php
+++ b/civicrm/CRM/Core/DAO/AllCoreTables.data.php
@@ -232,11 +232,6 @@ return [
     'class' => 'CRM_Case_DAO_CaseType',
     'table' => 'civicrm_case_type',
   ],
-  'CRM_Grant_DAO_Grant' => [
-    'name' => 'Grant',
-    'class' => 'CRM_Grant_DAO_Grant',
-    'table' => 'civicrm_grant',
-  ],
   'CRM_Friend_DAO_Friend' => [
     'name' => 'Friend',
     'class' => 'CRM_Friend_DAO_Friend',
@@ -247,6 +242,11 @@ return [
     'class' => 'CRM_Pledge_DAO_PledgeBlock',
     'table' => 'civicrm_pledge_block',
   ],
+  'CRM_Queue_DAO_Queue' => [
+    'name' => 'Queue',
+    'class' => 'CRM_Queue_DAO_Queue',
+    'table' => 'civicrm_queue',
+  ],
   'CRM_Queue_DAO_QueueItem' => [
     'name' => 'QueueItem',
     'class' => 'CRM_Queue_DAO_QueueItem',
@@ -608,7 +608,7 @@ return [
     'table' => 'civicrm_mailing_spool',
   ],
   'CRM_Mailing_Event_DAO_Queue' => [
-    'name' => 'Queue',
+    'name' => 'MailingEventQueue',
     'class' => 'CRM_Mailing_Event_DAO_Queue',
     'table' => 'civicrm_mailing_event_queue',
   ],
diff --git a/civicrm/CRM/Core/DAO/AllCoreTables.php b/civicrm/CRM/Core/DAO/AllCoreTables.php
index 670ce3e06ebbdd4d483862950f68f640bb78bfd9..51ffc8f1f375a7bb917bc6e3554263c5e13f6e7a 100644
--- a/civicrm/CRM/Core/DAO/AllCoreTables.php
+++ b/civicrm/CRM/Core/DAO/AllCoreTables.php
@@ -188,7 +188,7 @@ class CRM_Core_DAO_AllCoreTables {
    *
    * @param string $baoName
    *
-   * @return string|CRM_Core_DAO
+   * @return string
    */
   public static function getCanonicalClassName($baoName) {
     return str_replace('_BAO_', '_DAO_', $baoName);
diff --git a/civicrm/CRM/Core/DAO/Cache.php b/civicrm/CRM/Core/DAO/Cache.php
index 981ceebaadd941ff5d5d0818a878aa940ccd5bbc..7ab70b4f85b20bfb1c13d366f7b1382d8d39c6a0 100644
--- a/civicrm/CRM/Core/DAO/Cache.php
+++ b/civicrm/CRM/Core/DAO/Cache.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Cache.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:da6b1275fea0ffb19d09613211f7628e)
+ * (GenCodeChecksum:2b7084711ac3f619ce6f0cc8361dffa4)
  */
 
 /**
@@ -33,7 +33,9 @@ class CRM_Core_DAO_Cache extends CRM_Core_DAO {
   /**
    * Unique table ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -41,41 +43,53 @@ class CRM_Core_DAO_Cache extends CRM_Core_DAO {
    * group name for cache element, useful in cleaning cache elements
    *
    * @var string
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_name;
 
   /**
    * Unique path name for cache element
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $path;
 
   /**
    * data associated with this path
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data;
 
   /**
    * Component that this menu item belongs to
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $component_id;
 
   /**
    * When was the cache item created
    *
-   * @var timestamp
+   * @var string|null
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When should the cache item expire
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $expired_date;
 
diff --git a/civicrm/CRM/Core/DAO/Component.php b/civicrm/CRM/Core/DAO/Component.php
index 54b4aa5e2db2446e8711e66a203bed0f6f807938..632b8ee61086ef4d931a3ee5341d2d0a81e1d9a5 100644
--- a/civicrm/CRM/Core/DAO/Component.php
+++ b/civicrm/CRM/Core/DAO/Component.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Component.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:fd26fa740989a13ac1d91618c2059d57)
+ * (GenCodeChecksum:a5cc4308aa533a07f2528c5cd3a31896)
  */
 
 /**
@@ -33,7 +33,9 @@ class CRM_Core_DAO_Component extends CRM_Core_DAO {
   /**
    * Component ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -41,13 +43,17 @@ class CRM_Core_DAO_Component extends CRM_Core_DAO {
    * Name of the component.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Path to components main directory in a form of a class namespace.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $namespace;
 
diff --git a/civicrm/CRM/Core/DAO/Country.php b/civicrm/CRM/Core/DAO/Country.php
index 6a900cf5404136c6d20ba3beaa530094f9f0cf92..dff3a8146c761cbb45135bc33840ce10dc45472d 100644
--- a/civicrm/CRM/Core/DAO/Country.php
+++ b/civicrm/CRM/Core/DAO/Country.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Country.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:680f4faa9e939df6f6c4ba3f1efd7853)
+ * (GenCodeChecksum:7798fb6aea4643dd3f7189981c641012)
  */
 
 /**
@@ -40,70 +40,90 @@ class CRM_Core_DAO_Country extends CRM_Core_DAO {
   /**
    * Country ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Country Name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * ISO Code
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: char(2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $iso_code;
 
   /**
    * National prefix to be used when dialing TO this country.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(4))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $country_code;
 
   /**
    * Foreign key to civicrm_address_format.id.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $address_format_id;
 
   /**
    * International direct dialing prefix from within the country TO another country
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(4))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $idd_prefix;
 
   /**
    * Access prefix to call within a country to a different area
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(4))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $ndd_prefix;
 
   /**
    * Foreign key to civicrm_worldregion.id.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $region_id;
 
   /**
    * Should state/province be displayed as abbreviation for contacts from this country?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_province_abbreviated;
 
   /**
    * Is this Country active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Core/DAO/County.php b/civicrm/CRM/Core/DAO/County.php
index 0ab0d03f0f260b8291d3309e57699e7062b64c42..d1f5bb8873b1b9fab6f832d37eec6b1597cbaeef 100644
--- a/civicrm/CRM/Core/DAO/County.php
+++ b/civicrm/CRM/Core/DAO/County.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/County.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:f54f7ff28a6ecde09252698c389db154)
+ * (GenCodeChecksum:5a261e24e77bb54854f782628a13dbf6)
  */
 
 /**
@@ -40,35 +40,45 @@ class CRM_Core_DAO_County extends CRM_Core_DAO {
   /**
    * County ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Name of County
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * 2-4 Character Abbreviation of County
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(4))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $abbreviation;
 
   /**
    * ID of State/Province that County belongs
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $state_province_id;
 
   /**
    * Is this County active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Core/DAO/CustomField.php b/civicrm/CRM/Core/DAO/CustomField.php
index 0e2cb68355b8575e0a28431481362d06e72e87bb..f7f8aab92213c2dd15acd3985b82bdef51ea1ef7 100644
--- a/civicrm/CRM/Core/DAO/CustomField.php
+++ b/civicrm/CRM/Core/DAO/CustomField.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/CustomField.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:c093cac865bba7796c2c7deda6579f40)
+ * (GenCodeChecksum:6653fe86552a321a498736c14cabc41d)
  */
 
 /**
@@ -45,29 +45,35 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
   protected static $_paths = [
     'add' => 'civicrm/admin/custom/group/field/add?reset=1&action=add&gid=[custom_group_id]',
     'update' => 'civicrm/admin/custom/group/field/update?action=update&reset=1&id=[id]&gid=[custom_group_id]',
-    'preview' => 'civicrm/admin/custom/group/field?action=preview&reset=1&id=[id]&gid=[custom_group_id]',
-    'delete' => 'civicrm/admin/custom/group/field?action=delete&reset=1&id=[id]&gid=[custom_group_id]',
+    'preview' => 'civicrm/admin/custom/group/preview&reset=1&fid=[id]',
+    'delete' => 'civicrm/admin/custom/group/field/delete?reset=1&id=[id]',
     'move' => 'civicrm/admin/custom/group/field/move?reset=1&fid=[id]',
   ];
 
   /**
    * Unique Custom Field ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to civicrm_custom_group.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $custom_group_id;
 
   /**
    * Variable name/programmatic handle for this field.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
@@ -75,6 +81,8 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
    * Text for form field label (also friendly name for administering this custom property).
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
@@ -82,6 +90,8 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
    * Controls location of data storage in extended_data table.
    *
    * @var string
+   *   (SQL type: varchar(16))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data_type;
 
@@ -89,181 +99,233 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
    * HTML types plus several built-in extended types.
    *
    * @var string
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $html_type;
 
   /**
    * Use form_options.is_default for field_types which use options.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $default_value;
 
   /**
    * Is a value required for this property.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_required;
 
   /**
    * Is this property searchable.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_searchable;
 
   /**
    * Is this property range searchable.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_search_range;
 
   /**
    * Controls field display order within an extended property group.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Description and/or help text to display before this field.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_pre;
 
   /**
    * Description and/or help text to display after this field.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_post;
 
   /**
    * Optional format instructions for specific field types, like date types.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mask;
 
   /**
    * Store collection of type-appropriate attributes, e.g. textarea  needs rows/cols attributes
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $attributes;
 
   /**
    * Optional scripting attributes for field.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $javascript;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this property set by PHP Code? A code field is viewable but not editable
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_view;
 
   /**
    * number of options per line for checkbox and radio
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $options_per_line;
 
   /**
    * field length if alphanumeric
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $text_length;
 
   /**
    * Date may be up to start_date_years years prior to the current date.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date_years;
 
   /**
    * Date may be up to end_date_years years after the current date.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date_years;
 
   /**
    * date format for custom date
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $date_format;
 
   /**
    * time format for custom date
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_format;
 
   /**
    * Number of columns in Note Field
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $note_columns;
 
   /**
    * Number of rows in Note Field
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $note_rows;
 
   /**
    * Name of the column that holds the values for this field.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $column_name;
 
   /**
    * For elements with options, the option group id that is used
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $option_group_id;
 
   /**
    * Serialization method - a non-zero value indicates a multi-valued field.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $serialize;
 
   /**
    * Stores Contact Get API params contact reference custom fields. May be used for other filters in the future.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $filter;
 
   /**
    * Should the multi-record custom field values be displayed in tab table listing
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $in_selector;
 
diff --git a/civicrm/CRM/Core/DAO/CustomGroup.php b/civicrm/CRM/Core/DAO/CustomGroup.php
index a57c659aae3a4812e92362941a06f6d850c60a34..41f78998d694180f4e455acf7dc92bc74eea4916 100644
--- a/civicrm/CRM/Core/DAO/CustomGroup.php
+++ b/civicrm/CRM/Core/DAO/CustomGroup.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/CustomGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:57ebfb396e58116709f9d883a46edfa7)
+ * (GenCodeChecksum:979bca796163b9af253a7860d9d4a01d)
  */
 
 /**
@@ -43,23 +43,27 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
    * @var string[]
    */
   protected static $_paths = [
-    'add' => 'civicrm/admin/custom/group?action=add&reset=1',
-    'update' => 'civicrm/admin/custom/group?action=update&reset=1&id=[id]',
-    'preview' => 'civicrm/admin/custom/group?action=preview&reset=1&id=[id]',
-    'delete' => 'civicrm/admin/custom/group?action=delete&reset=1&id=[id]',
+    'add' => 'civicrm/admin/custom/group/edit?action=add&reset=1',
+    'update' => 'civicrm/admin/custom/group/edit?action=update&reset=1&id=[id]',
+    'preview' => 'civicrm/admin/custom/group/preview?reset=1&gid=[id]',
+    'delete' => 'civicrm/admin/custom/group/delete?reset=1&id=[id]',
   ];
 
   /**
    * Unique Custom Group ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Variable name/programmatic handle for this group.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
@@ -67,139 +71,179 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
    * Friendly Name.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Type of object this group extends (can add other options later e.g. contact_address, etc.).
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $extends;
 
   /**
    * FK to civicrm_option_value.id (for option group custom_data_type.)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $extends_entity_column_id;
 
   /**
    * linking custom group for dynamic object
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $extends_entity_column_value;
 
   /**
    * Visual relationship between this form and its parent.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(15))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $style;
 
   /**
    * Will this group be in collapsed or expanded mode on initial display ?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $collapse_display;
 
   /**
    * Description and/or help text to display before fields in form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_pre;
 
   /**
    * Description and/or help text to display after fields in form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_post;
 
   /**
    * Controls display order when multiple extended property groups are setup for the same class.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Name of the table that holds the values for this group.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $table_name;
 
   /**
    * Does this group hold multiple values?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_multiple;
 
   /**
    * minimum number of multiple records (typically 0?)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $min_multiple;
 
   /**
    * maximum number of multiple records, if 0 - no max
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_multiple;
 
   /**
    * Will this group be in collapsed or expanded mode on advanced search display ?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $collapse_adv_display;
 
   /**
    * FK to civicrm_contact, who created this custom group
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Date and time this custom group was created.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * Is this a reserved Custom Group?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Is this property public?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_public;
 
   /**
    * crm-i icon class
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $icon;
 
@@ -654,15 +698,14 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
         'unique' => TRUE,
         'sig' => 'civicrm_custom_group::1::title::extends',
       ],
-      'UI_name_extends' => [
-        'name' => 'UI_name_extends',
+      'UI_name' => [
+        'name' => 'UI_name',
         'field' => [
           0 => 'name',
-          1 => 'extends',
         ],
         'localizable' => FALSE,
         'unique' => TRUE,
-        'sig' => 'civicrm_custom_group::1::name::extends',
+        'sig' => 'civicrm_custom_group::1::name',
       ],
     ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
diff --git a/civicrm/CRM/Core/DAO/Dashboard.php b/civicrm/CRM/Core/DAO/Dashboard.php
index 4283041796acb12f0f0928c24d9a29f41a21d5e0..6121094d5ec534d5a61b96c3623e2efaced78779 100644
--- a/civicrm/CRM/Core/DAO/Dashboard.php
+++ b/civicrm/CRM/Core/DAO/Dashboard.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Dashboard.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:9603ee2a3a27196ef1ec671bf758a783)
+ * (GenCodeChecksum:c93931e695d897a5f4ad92e388748424)
  */
 
 /**
@@ -31,84 +31,108 @@ class CRM_Core_DAO_Dashboard extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Domain for dashboard
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * Internal name of dashlet.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * dashlet title
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * url in case of external dashlet
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url;
 
   /**
    * Permission for the dashlet
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $permission;
 
   /**
    * Permission Operator
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $permission_operator;
 
   /**
    * fullscreen url for dashlet
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fullscreen_url;
 
   /**
    * Is this dashlet active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this dashlet reserved?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Number of minutes to cache dashlet content in browser localStorage.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cache_minutes;
 
   /**
    * Element name of angular directive to invoke (lowercase hyphenated format)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $directive;
 
diff --git a/civicrm/CRM/Core/DAO/Discount.php b/civicrm/CRM/Core/DAO/Discount.php
index a1d65e4876a6e9d24b970876391029a5453be662..67d1321b418ebafa8f15155c17178fd121334fe3 100644
--- a/civicrm/CRM/Core/DAO/Discount.php
+++ b/civicrm/CRM/Core/DAO/Discount.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Discount.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:681876b76553a2f0db5a0c0f9d18eda0)
+ * (GenCodeChecksum:bb48d26bc26ec7473c0d22b93275828c)
  */
 
 /**
@@ -33,42 +33,54 @@ class CRM_Core_DAO_Discount extends CRM_Core_DAO {
   /**
    * primary key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * physical tablename for entity being joined to discount, e.g. civicrm_event
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * FK to entity table specified in entity_table column.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * FK to civicrm_price_set
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $price_set_id;
 
   /**
    * Date when discount starts.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * Date when discount ends.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
diff --git a/civicrm/CRM/Core/DAO/Domain.php b/civicrm/CRM/Core/DAO/Domain.php
index 743582be7d37f6c34b8eba4bb0a9eeb0c40aed6c..a25ef21408aff75d0ad4ed6f1c78104abf7fbccd 100644
--- a/civicrm/CRM/Core/DAO/Domain.php
+++ b/civicrm/CRM/Core/DAO/Domain.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Domain.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e10798e1d9921d637856a2dfcf7738dc)
+ * (GenCodeChecksum:941a0821b88a9225d9672cc25daa16f7)
  */
 
 /**
@@ -33,49 +33,63 @@ class CRM_Core_DAO_Domain extends CRM_Core_DAO {
   /**
    * Domain ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Name of Domain / Organization
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Description of Domain.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * The civicrm version this instance is running
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $version;
 
   /**
    * FK to Contact ID. This is specifically not an FK to avoid circular constraints
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * list of locales supported by the current db state (NULL for single-lang install)
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $locales;
 
   /**
    * Locale specific string overrides
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $locale_custom_strings;
 
diff --git a/civicrm/CRM/Core/DAO/Email.php b/civicrm/CRM/Core/DAO/Email.php
index 81f8f4259ac5c6877f2feca5c289870f92c63e96..739ea4b1646831b922eb481553b430db18b60856 100644
--- a/civicrm/CRM/Core/DAO/Email.php
+++ b/civicrm/CRM/Core/DAO/Email.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Email.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:7e30aa415b50a25add79b9553b5d7657)
+ * (GenCodeChecksum:2a48ebd09a4f1de290856c1e7315ce69)
  */
 
 /**
@@ -47,84 +47,108 @@ class CRM_Core_DAO_Email extends CRM_Core_DAO {
   /**
    * Unique Email ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Which Location does this email belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location_type_id;
 
   /**
    * Email address
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(254))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email;
 
   /**
    * Is this the primary email address
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_primary;
 
   /**
    * Is this the billing?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_billing;
 
   /**
    * Implicit FK to civicrm_option_value where option_group = email_on_hold.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $on_hold;
 
   /**
    * Is this address for bulk mail ?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_bulkmail;
 
   /**
    * When the address went on bounce hold
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $hold_date;
 
   /**
    * When the address bounce status was last reset
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $reset_date;
 
   /**
    * Text formatted signature for the email.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $signature_text;
 
   /**
    * HTML formatted signature for the email.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $signature_html;
 
diff --git a/civicrm/CRM/Core/DAO/EntityFile.php b/civicrm/CRM/Core/DAO/EntityFile.php
index 6b86fd5d4117c413a411c496771a043ab75e22ee..fd3d56f3633d782b0333860e42031bd5653ae101 100644
--- a/civicrm/CRM/Core/DAO/EntityFile.php
+++ b/civicrm/CRM/Core/DAO/EntityFile.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/EntityFile.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:db6759b7a93a170611ad4eb003cb9f54)
+ * (GenCodeChecksum:d55d2dfbb297a954c71f0395e31a21d3)
  */
 
 /**
@@ -33,28 +33,36 @@ class CRM_Core_DAO_EntityFile extends CRM_Core_DAO {
   /**
    * primary key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * physical tablename for entity being joined to file, e.g. civicrm_contact
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * FK to entity table specified in entity_table column.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * FK to civicrm_file
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $file_id;
 
diff --git a/civicrm/CRM/Core/DAO/EntityTag.php b/civicrm/CRM/Core/DAO/EntityTag.php
index c5ed9f3f325cba4415fa88bf71c5cb4bf4619589..a46c13f955052d0fa1df7d15115e72da589739f7 100644
--- a/civicrm/CRM/Core/DAO/EntityTag.php
+++ b/civicrm/CRM/Core/DAO/EntityTag.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/EntityTag.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:c5bfb60ebd84dbe86b8dd8b522fd11e6)
+ * (GenCodeChecksum:cabc3d8a72fecadc4d531226b1db4c1d)
  */
 
 /**
@@ -33,28 +33,36 @@ class CRM_Core_DAO_EntityTag extends CRM_Core_DAO {
   /**
    * primary key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * physical tablename for entity being joined to file, e.g. civicrm_contact
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * FK to entity table specified in entity_table column.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * FK to civicrm_tag
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $tag_id;
 
diff --git a/civicrm/CRM/Core/DAO/Extension.php b/civicrm/CRM/Core/DAO/Extension.php
index 389961ba3264fa39a6c69b889a1a274d8f227d16..76ea4c5d763501ac59d055d52f9720a231fc6910 100644
--- a/civicrm/CRM/Core/DAO/Extension.php
+++ b/civicrm/CRM/Core/DAO/Extension.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Extension.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:8d9c173c0d7da38d4c28c6b712aecee0)
+ * (GenCodeChecksum:ff39cae78a2b4804c72ed90b8f22606b)
  */
 
 /**
@@ -33,12 +33,16 @@ class CRM_Core_DAO_Extension extends CRM_Core_DAO {
   /**
    * Local Extension ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * @var string
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $type;
 
@@ -46,41 +50,53 @@ class CRM_Core_DAO_Extension extends CRM_Core_DAO {
    * Fully qualified extension name
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $full_name;
 
   /**
    * Short name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Short, printable name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * Primary PHP file
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $file;
 
   /**
    * Revision code of the database schema; the format is module-defined
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(63))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $schema_version;
 
   /**
    * Is this extension active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Core/DAO/File.php b/civicrm/CRM/Core/DAO/File.php
index 51ffc3b345001cc414a8eb8a7c9f712b02794378..4b6060d02976798eb126b166ee771c5c89adec48 100644
--- a/civicrm/CRM/Core/DAO/File.php
+++ b/civicrm/CRM/Core/DAO/File.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/File.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6bf3c3f06e1c01d91a6c6cf5ada7a889)
+ * (GenCodeChecksum:432bca89c164c512fa77945f8958e60d)
  */
 
 /**
@@ -33,56 +33,72 @@ class CRM_Core_DAO_File extends CRM_Core_DAO {
   /**
    * Unique ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Type of file (e.g. Transcript, Income Tax Return, etc). FK to civicrm_option_value.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $file_type_id;
 
   /**
    * mime type of the document
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mime_type;
 
   /**
    * uri of the file on disk
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $uri;
 
   /**
    * contents of the document
    *
-   * @var mediumblob
+   * @var string|null
+   *   (SQL type: mediumblob)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $document;
 
   /**
    * Additional descriptive text regarding this attachment (optional).
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Date and time that this attachment was uploaded or written to server.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $upload_date;
 
   /**
    * FK to civicrm_contact, who uploaded this file
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
diff --git a/civicrm/CRM/Core/DAO/IM.php b/civicrm/CRM/Core/DAO/IM.php
index 5faf041d315d94331926d4ad99e0af0f396f3ff3..1547662bf95bba4aa48adf534acac07bdf0ec54d 100644
--- a/civicrm/CRM/Core/DAO/IM.php
+++ b/civicrm/CRM/Core/DAO/IM.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/IM.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:179c338e66288123b7ca45c78ad57fcc)
+ * (GenCodeChecksum:830e0ccbcdcfe1769330d4cfb39f3285)
  */
 
 /**
@@ -47,49 +47,63 @@ class CRM_Core_DAO_IM extends CRM_Core_DAO {
   /**
    * Unique IM ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Which Location does this email belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location_type_id;
 
   /**
    * IM screen name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Which IM Provider does this screen name belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $provider_id;
 
   /**
    * Is this the primary IM for this contact and location.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_primary;
 
   /**
    * Is this the billing?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_billing;
 
diff --git a/civicrm/CRM/Core/DAO/Job.php b/civicrm/CRM/Core/DAO/Job.php
index 878a31681171ea85b91d0cd5feab3597057934f3..65d35198052f009737ca86d6474672d343e88737 100644
--- a/civicrm/CRM/Core/DAO/Job.php
+++ b/civicrm/CRM/Core/DAO/Job.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Job.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e5798e1ce73654af23730d7188a0c963)
+ * (GenCodeChecksum:75ec772bec625c1d315df0abadd2fca6)
  */
 
 /**
@@ -33,77 +33,99 @@ class CRM_Core_DAO_Job extends CRM_Core_DAO {
   /**
    * Job ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this scheduled job for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * Scheduled job run frequency.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $run_frequency;
 
   /**
    * When was this cron entry last run
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $last_run;
 
   /**
    * When is this cron entry scheduled to run
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $scheduled_run_date;
 
   /**
    * Title of the job
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Description of the job
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Entity of the job api call
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $api_entity;
 
   /**
    * Action of the job api call
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $api_action;
 
   /**
    * List of parameters to the command.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parameters;
 
   /**
    * Is this job active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Core/DAO/JobLog.php b/civicrm/CRM/Core/DAO/JobLog.php
index 9f73d5f82c658b56691b7ecb67ae2fa6c66a5532..a1a4022db2f7baf2aeb2f7e389a3cd754228b695 100644
--- a/civicrm/CRM/Core/DAO/JobLog.php
+++ b/civicrm/CRM/Core/DAO/JobLog.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/JobLog.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6677b28207cbf86835164b7b33c38608)
+ * (GenCodeChecksum:10c668f93f466aa0d49d258b6bc7badd)
  */
 
 /**
@@ -33,56 +33,72 @@ class CRM_Core_DAO_JobLog extends CRM_Core_DAO {
   /**
    * Job log entry ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this scheduled job for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * Log entry date
    *
-   * @var timestamp
+   * @var string|null
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $run_time;
 
   /**
    * Pointer to job id - not a FK though, just for logging purposes
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $job_id;
 
   /**
    * Title of the job
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Full path to file containing job script
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $command;
 
   /**
    * Title line of log entry
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Potential extended data for specific job run (e.g. tracebacks).
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data;
 
diff --git a/civicrm/CRM/Core/DAO/LocBlock.php b/civicrm/CRM/Core/DAO/LocBlock.php
index 32b74aab2c4054b3c508f00859738cea892d2643..dc0adb8b54e37653ed76922da6373f2295ec92bf 100644
--- a/civicrm/CRM/Core/DAO/LocBlock.php
+++ b/civicrm/CRM/Core/DAO/LocBlock.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/LocBlock.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0da5161ce83d29bc7626c1a3b74b2950)
+ * (GenCodeChecksum:4153042d9ec41d2841dc085180f6e16b)
  */
 
 /**
@@ -40,47 +40,65 @@ class CRM_Core_DAO_LocBlock extends CRM_Core_DAO {
   /**
    * Unique ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $address_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $im_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $address_2_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_2_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_2_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $im_2_id;
 
diff --git a/civicrm/CRM/Core/DAO/LocationType.php b/civicrm/CRM/Core/DAO/LocationType.php
index fe2b14131aa907c3287fc07497e91a294b897aeb..7251f4558340656df1dbb510a92213164b216822 100644
--- a/civicrm/CRM/Core/DAO/LocationType.php
+++ b/civicrm/CRM/Core/DAO/LocationType.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/LocationType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:f9c5e451793d7a168906f173ea492ba7)
+ * (GenCodeChecksum:7bf7552cfdc3988c4582bccaea302c5f)
  */
 
 /**
@@ -33,56 +33,72 @@ class CRM_Core_DAO_LocationType extends CRM_Core_DAO {
   /**
    * Location Type ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Location Type Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Location Type Display Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $display_name;
 
   /**
    * vCard Location Type Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $vcard_name;
 
   /**
    * Location Type Description.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Is this location type a predefined system location?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this location type the default?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
diff --git a/civicrm/CRM/Core/DAO/Log.php b/civicrm/CRM/Core/DAO/Log.php
index dcbc1e2340d5986b11caeb228de03ee2d5b1ff68..da8bbdad17e7fe23ddce0de5400828321f6aadfa 100644
--- a/civicrm/CRM/Core/DAO/Log.php
+++ b/civicrm/CRM/Core/DAO/Log.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Log.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:8fe4326f940304ec2c8ea86754d6142e)
+ * (GenCodeChecksum:b2552b667e074cb7bb4132eac8153df2)
  */
 
 /**
@@ -33,7 +33,9 @@ class CRM_Core_DAO_Log extends CRM_Core_DAO {
   /**
    * Log ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -41,34 +43,44 @@ class CRM_Core_DAO_Log extends CRM_Core_DAO {
    * Name of table where item being referenced is stored.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * Foreign key to the referenced item.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * Updates does to this object if any.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data;
 
   /**
    * FK to Contact ID of person under whose credentials this data modification was made.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_id;
 
   /**
    * When was the referenced entity created or modified or deleted.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
diff --git a/civicrm/CRM/Core/DAO/MailSettings.php b/civicrm/CRM/Core/DAO/MailSettings.php
index db6854affcf7ac7bf5af839b11923268f5b4fd73..206ce6c08644730f268a9724a940d88518553a12 100644
--- a/civicrm/CRM/Core/DAO/MailSettings.php
+++ b/civicrm/CRM/Core/DAO/MailSettings.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/MailSettings.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:116c87968f4c16758eff8825047a6ceb)
+ * (GenCodeChecksum:d0b9b61f890ea3ff893f8d4e03d0afcd)
  */
 
 /**
@@ -33,117 +33,151 @@ class CRM_Core_DAO_MailSettings extends CRM_Core_DAO {
   /**
    * primary key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this match entry for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * name of this group of settings
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * whether this is the default set of settings for this domain
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
    * email address domain (the part after @)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain;
 
   /**
    * optional local part (like civimail+ for addresses like civimail+s.1.2@example.com)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $localpart;
 
   /**
    * contents of the Return-Path header
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $return_path;
 
   /**
    * name of the protocol to use for polling (like IMAP, POP3 or Maildir)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $protocol;
 
   /**
    * server to use when polling
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $server;
 
   /**
    * port to use when polling
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $port;
 
   /**
    * username to use when polling
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $username;
 
   /**
    * password to use when polling
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $password;
 
   /**
    * whether to use SSL or not
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_ssl;
 
   /**
    * folder to poll from when using IMAP, path to poll from when using Maildir, etc.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $source;
 
   /**
    * Name of status to use when creating email to activity.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $activity_status;
 
   /**
    * Enabling this option will have CiviCRM skip any emails that do not have the Case ID or Case Hash so that the system will only process emails that can be placed on case records. Any emails that are not processed will be moved to the ignored folder.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_non_case_email_skipped;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_contact_creation_disabled_if_no_match;
 
diff --git a/civicrm/CRM/Core/DAO/Managed.php b/civicrm/CRM/Core/DAO/Managed.php
index 3e0789e97dfd27c870062036903d4eb64dc99bd4..c073117f92c43089783242910969f1db73099668 100644
--- a/civicrm/CRM/Core/DAO/Managed.php
+++ b/civicrm/CRM/Core/DAO/Managed.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Managed.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:ca11b419bcdf2bce26609d9488527023)
+ * (GenCodeChecksum:54b79cae396d1c5044406fc97ae60352)
  */
 
 /**
@@ -33,7 +33,9 @@ class CRM_Core_DAO_Managed extends CRM_Core_DAO {
   /**
    * Surrogate Key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -41,13 +43,17 @@ class CRM_Core_DAO_Managed extends CRM_Core_DAO {
    * Name of the module which declared this object
    *
    * @var string
+   *   (SQL type: varchar(127))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $module;
 
   /**
    * Symbolic name used by the module to identify the object
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(127))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
@@ -55,27 +61,35 @@ class CRM_Core_DAO_Managed extends CRM_Core_DAO {
    * API entity type
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_type;
 
   /**
    * Foreign key to the referenced item.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * Policy on when to cleanup entity (always, never, unused)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cleanup;
 
   /**
    * When the managed entity was changed from its original settings.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_modified_date;
 
diff --git a/civicrm/CRM/Core/DAO/Mapping.php b/civicrm/CRM/Core/DAO/Mapping.php
index 3ace2b661c87b426e0349203d52134d6919c8fea..491e451e0ae867138624332291a880c3aa499160 100644
--- a/civicrm/CRM/Core/DAO/Mapping.php
+++ b/civicrm/CRM/Core/DAO/Mapping.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Mapping.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:4a0976e14e588b9a81c79e72849494e0)
+ * (GenCodeChecksum:c69c9d834bfaaf44088ae0cd11e36b5f)
  */
 
 /**
@@ -33,28 +33,36 @@ class CRM_Core_DAO_Mapping extends CRM_Core_DAO {
   /**
    * Mapping ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Name of Mapping
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Description of Mapping.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Mapping Type
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mapping_type_id;
 
diff --git a/civicrm/CRM/Core/DAO/MappingField.php b/civicrm/CRM/Core/DAO/MappingField.php
index 833fdff45f2dc4a443252d82fa86cbec28c010ed..5afe384472323ecd4b00fe1661a0dc9b1f507cac 100644
--- a/civicrm/CRM/Core/DAO/MappingField.php
+++ b/civicrm/CRM/Core/DAO/MappingField.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/MappingField.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:4333a20d925fb437b4764219e31ee017)
+ * (GenCodeChecksum:43e4b1c405dfce18840eca9d73aa70e7)
  */
 
 /**
@@ -33,75 +33,97 @@ class CRM_Core_DAO_MappingField extends CRM_Core_DAO {
   /**
    * Mapping Field ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Mapping to which this field belongs
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mapping_id;
 
   /**
    * Mapping field key
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Contact Type in mapping
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_type;
 
   /**
    * Column number for mapping set
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $column_number;
 
   /**
    * Location type of this mapping, if required
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location_type_id;
 
   /**
    * Which type of phone does this number belongs.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_type_id;
 
   /**
    * Which type of IM Provider does this name belong.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $im_provider_id;
 
   /**
    * Which type of website does this site belong
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $website_type_id;
 
   /**
    * Relationship type, if required
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $relationship_type_id;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(6))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $relationship_direction;
 
@@ -109,21 +131,27 @@ class CRM_Core_DAO_MappingField extends CRM_Core_DAO {
    * Used to group mapping_field records into related sets (e.g. for criteria sets in search builder
    * mappings).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $grouping;
 
   /**
    * SQL WHERE operator for search-builder mapping fields (search criteria).
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(16))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $operator;
 
   /**
    * SQL WHERE value for search-builder mapping fields.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $value;
 
diff --git a/civicrm/CRM/Core/DAO/Menu.php b/civicrm/CRM/Core/DAO/Menu.php
index f70e8b2f91fa473ba72b63e2caa80f4bbbca1ddb..d2fc425efcb7a9013c9e8a769043c62e0f007911 100644
--- a/civicrm/CRM/Core/DAO/Menu.php
+++ b/civicrm/CRM/Core/DAO/Menu.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Menu.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:43fa7e0ff85619af0065d2802de6f8f4)
+ * (GenCodeChecksum:a6c1c555579640a8bb83b496ee126e1a)
  */
 
 /**
@@ -31,152 +31,196 @@ class CRM_Core_DAO_Menu extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this menu item for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * Path Name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $path;
 
   /**
    * Arguments to pass to the url
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $path_arguments;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Function to call to check access permissions
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $access_callback;
 
   /**
    * Arguments to pass to access callback
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $access_arguments;
 
   /**
    * function to call for this url
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $page_callback;
 
   /**
    * Arguments to pass to page callback
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $page_arguments;
 
   /**
    * Breadcrumb for the path.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $breadcrumb;
 
   /**
    * Url where a page should redirected to, if next url not known.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $return_url;
 
   /**
    * Arguments to pass to return_url
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $return_url_args;
 
   /**
    * Component that this menu item belongs to
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $component_id;
 
   /**
    * Is this menu item active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this menu accessible to the public?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_public;
 
   /**
    * Is this menu exposed to the navigation system?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_exposed;
 
   /**
    * Should this menu be exposed via SSL if enabled?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_ssl;
 
   /**
    * Ordering of the menu items in various blocks.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Drupal menu type.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $type;
 
   /**
    * CiviCRM menu type.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $page_type;
 
   /**
    * skip this url being exposed to breadcrumb
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $skipBreadcrumb;
 
   /**
    * All other menu metadata not stored in other fields
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $module_data;
 
diff --git a/civicrm/CRM/Core/DAO/MessageTemplate.php b/civicrm/CRM/Core/DAO/MessageTemplate.php
index e44de41b2f54d9f4f7b31b137c29c0f42f6bbb1f..72c90015672b761eebd50d70fa5e74523fb20f3a 100644
--- a/civicrm/CRM/Core/DAO/MessageTemplate.php
+++ b/civicrm/CRM/Core/DAO/MessageTemplate.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/MessageTemplate.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:8e8480f41073e41a72f3d600e5776d0d)
+ * (GenCodeChecksum:1fba7635baeb10d95b90c02ca4ea99c6)
  */
 
 /**
@@ -33,80 +33,104 @@ class CRM_Core_DAO_MessageTemplate extends CRM_Core_DAO {
   /**
    * Message Template ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Descriptive title of message
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $msg_title;
 
   /**
    * Subject for email message.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $msg_subject;
 
   /**
    * Text formatted message
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $msg_text;
 
   /**
    * HTML formatted message
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $msg_html;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * a pseudo-FK to civicrm_option_value
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $workflow_id;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $workflow_name;
 
   /**
    * is this the default message template for the workflow referenced by workflow_id?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
    * is this the reserved message template which we ship for the workflow referenced by workflow_id?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Is this message template used for sms?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_sms;
 
   /**
    * a pseudo-FK to civicrm_option_value containing PDF Page Format.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pdf_format_id;
 
diff --git a/civicrm/CRM/Core/DAO/Navigation.php b/civicrm/CRM/Core/DAO/Navigation.php
index f57b5fe09823e372b39b21298310271ac81a8df5..b53aad0db91e2ca7d0387bf8bc4bf0883402aa8a 100644
--- a/civicrm/CRM/Core/DAO/Navigation.php
+++ b/civicrm/CRM/Core/DAO/Navigation.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Navigation.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6400fef9c925231f0d6245030ec46e68)
+ * (GenCodeChecksum:58328e2bbd1fd9c5f9255596ef0de177)
  */
 
 /**
@@ -38,35 +38,45 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this navigation item for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * Navigation Title
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * Internal Name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * url in case of custom navigation link
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url;
 
@@ -74,48 +84,62 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
    * CSS class name for an icon
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $icon;
 
   /**
    * Permission(s) needed to access menu item
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $permission;
 
   /**
    * Operator to use if item has more than one permission
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $permission_operator;
 
   /**
    * Parent navigation item, used for grouping
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_id;
 
   /**
    * Is this navigation item active?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Place a separator either before or after this menu item.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $has_separator;
 
   /**
    * Ordering of the navigation items in various blocks.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
@@ -316,7 +340,9 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('Is Active'),
           'description' => ts('Is this navigation item active?'),
+          'required' => TRUE,
           'where' => 'civicrm_navigation.is_active',
+          'default' => '1',
           'table_name' => 'civicrm_navigation',
           'entity' => 'Navigation',
           'bao' => 'CRM_Core_BAO_Navigation',
@@ -344,7 +370,9 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_INT,
           'title' => ts('Order'),
           'description' => ts('Ordering of the navigation items in various blocks.'),
+          'required' => TRUE,
           'where' => 'civicrm_navigation.weight',
+          'default' => '0',
           'table_name' => 'civicrm_navigation',
           'entity' => 'Navigation',
           'bao' => 'CRM_Core_BAO_Navigation',
diff --git a/civicrm/CRM/Core/DAO/Note.php b/civicrm/CRM/Core/DAO/Note.php
index 4370b6d075e4ed416888b9ab22dadbb5e4281985..e70f2b811a185dfd160fdfcc9c49fda45689d3d5 100644
--- a/civicrm/CRM/Core/DAO/Note.php
+++ b/civicrm/CRM/Core/DAO/Note.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Note.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:49a15912788803e8ccf5298fe93932aa)
+ * (GenCodeChecksum:5f542bdf0c411eeefbf3ec22514d7407)
  */
 
 /**
@@ -40,7 +40,9 @@ class CRM_Core_DAO_Note extends CRM_Core_DAO {
   /**
    * Note ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -48,62 +50,80 @@ class CRM_Core_DAO_Note extends CRM_Core_DAO {
    * Name of table where item being referenced is stored.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * Foreign key to the referenced item.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * Note and/or Comment.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $note;
 
   /**
    * FK to Contact ID creator
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Date attached to the note
    *
-   * @var timestamp
+   * @var string|null
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $note_date;
 
   /**
    * When the note was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When was this note last modified/edited
    *
-   * @var timestamp
+   * @var string|null
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
   /**
    * subject of note description
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $subject;
 
   /**
    * Foreign Key to Note Privacy Level (which is an option value pair and hence an implicit FK)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $privacy;
 
diff --git a/civicrm/CRM/Core/DAO/OpenID.php b/civicrm/CRM/Core/DAO/OpenID.php
index 166758db6f1f7efb8803d62777e9de61b2134525..c5413e170d7dd420b6eff273c8bfa36cbc0cdbdf 100644
--- a/civicrm/CRM/Core/DAO/OpenID.php
+++ b/civicrm/CRM/Core/DAO/OpenID.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/OpenID.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6547ff2f60e61de44f3ca5a866c1df6a)
+ * (GenCodeChecksum:0e8f41d1f528dfadc08d7f53610948ca)
  */
 
 /**
@@ -33,42 +33,54 @@ class CRM_Core_DAO_OpenID extends CRM_Core_DAO {
   /**
    * Unique OpenID ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Which Location does this email belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location_type_id;
 
   /**
    * the OpenID (or OpenID-style http://username.domain/) unique identifier for this contact mainly used for logging in to CiviCRM
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $openid;
 
   /**
    * Whether or not this user is allowed to login
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $allowed_to_login;
 
   /**
    * Is this the primary email for this contact and location.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_primary;
 
diff --git a/civicrm/CRM/Core/DAO/OptionGroup.php b/civicrm/CRM/Core/DAO/OptionGroup.php
index 59dfd5c4e0eb9109f467808b606ec5af26b14dba..77f9c5eed8cab32558909223b6acd1c40b2992ef 100644
--- a/civicrm/CRM/Core/DAO/OptionGroup.php
+++ b/civicrm/CRM/Core/DAO/OptionGroup.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/OptionGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6be4b908c7861e9026d1f2d78c42a0ac)
+ * (GenCodeChecksum:904ff47234843ffba9dd98b11c1d0df1)
  */
 
 /**
@@ -33,7 +33,9 @@ class CRM_Core_DAO_OptionGroup extends CRM_Core_DAO {
   /**
    * Option Group ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -41,48 +43,62 @@ class CRM_Core_DAO_OptionGroup extends CRM_Core_DAO {
    * Option group name. Used as selection key by class properties which lookup options in civicrm_option_value.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Option Group title.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Option group description.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Option group description.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data_type;
 
   /**
    * Is this a predefined system option group (i.e. it can not be deleted)?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Is this option group active?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * A lock to remove the ability to add new options via the UI.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_locked;
 
diff --git a/civicrm/CRM/Core/DAO/OptionValue.php b/civicrm/CRM/Core/DAO/OptionValue.php
index f1a2b411644fe0c63611a60ea9b39bcab40121e8..03429a8a300b54e32859c622946a8fb389d0a796 100644
--- a/civicrm/CRM/Core/DAO/OptionValue.php
+++ b/civicrm/CRM/Core/DAO/OptionValue.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/OptionValue.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:598cce8df447dc19cd4c846549be1141)
+ * (GenCodeChecksum:36f4f8d1b40d94da47ebebaf3cf77f09)
  */
 
 /**
@@ -43,14 +43,18 @@ class CRM_Core_DAO_OptionValue extends CRM_Core_DAO {
   /**
    * Option ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Group which this option belongs to.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $option_group_id;
 
@@ -58,6 +62,8 @@ class CRM_Core_DAO_OptionValue extends CRM_Core_DAO {
    * Option string as displayed to users - e.g. the label in an HTML OPTION tag.
    *
    * @var string
+   *   (SQL type: varchar(512))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
@@ -65,102 +71,132 @@ class CRM_Core_DAO_OptionValue extends CRM_Core_DAO {
    * The actual value stored (as a foreign key) in the data record. Functions which need lookup option_value.title should use civicrm_option_value.option_group_id plus civicrm_option_value.value as the key.
    *
    * @var string
+   *   (SQL type: varchar(512))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $value;
 
   /**
    * Stores a fixed (non-translated) name for this option value. Lookup functions should use the name as the key for the option value row.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Use to sort and/or set display properties for sub-set(s) of options within an option group. EXAMPLE: Use for college_interest field, to differentiate partners from non-partners.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $grouping;
 
   /**
    * Bitwise logic can be used to create subsets of options within an option_group for different uses.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $filter;
 
   /**
    * Is this the default option for the group?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
    * Controls display sort order.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Optional description.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Is this row simply a display header? Expected usage is to render these as OPTGROUP tags within a SELECT field list of options?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_optgroup;
 
   /**
    * Is this a predefined system object?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Is this option active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Component that this option value belongs/caters to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $component_id;
 
   /**
    * Which Domain is this option value for
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $visibility_id;
 
   /**
    * crm-i icon class
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $icon;
 
   /**
    * Hex color value e.g. #ffffff
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color;
 
diff --git a/civicrm/CRM/Core/DAO/Phone.php b/civicrm/CRM/Core/DAO/Phone.php
index c4918cc592f2ac0190988592d2d3d6f176194c7f..3241bf3f1d39e6afca339367be03721aca78a554 100644
--- a/civicrm/CRM/Core/DAO/Phone.php
+++ b/civicrm/CRM/Core/DAO/Phone.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Phone.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:632e24c7c46ff01ecb1acab879bcf625)
+ * (GenCodeChecksum:76f82c31308292a82535fb6bcf6acc4d)
  */
 
 /**
@@ -47,70 +47,90 @@ class CRM_Core_DAO_Phone extends CRM_Core_DAO {
   /**
    * Unique Phone ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Which Location does this phone belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location_type_id;
 
   /**
    * Is this the primary phone for this contact and location.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_primary;
 
   /**
    * Is this the billing?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_billing;
 
   /**
    * Which Mobile Provider does this phone belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mobile_provider_id;
 
   /**
    * Complete phone number.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone;
 
   /**
    * Optional extension for a phone number.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(16))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_ext;
 
   /**
    * Phone number stripped of all whitespace, letters, and punctuation.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_numeric;
 
   /**
    * Which type of phone does this number belongs.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_type_id;
 
diff --git a/civicrm/CRM/Core/DAO/PreferencesDate.php b/civicrm/CRM/Core/DAO/PreferencesDate.php
index f0c15bc898d4b26ddb8861fb0a91ae5c5c6059d5..00db3be8fb56e59538f60a302337b7624896ad5a 100644
--- a/civicrm/CRM/Core/DAO/PreferencesDate.php
+++ b/civicrm/CRM/Core/DAO/PreferencesDate.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/PreferencesDate.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:767dc30f83e4087a07c185f857fc8fb3)
+ * (GenCodeChecksum:2d2dbd5815ee810c6ca0941dcdea2b2f)
  */
 
 /**
@@ -31,7 +31,9 @@ class CRM_Core_DAO_PreferencesDate extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -39,41 +41,53 @@ class CRM_Core_DAO_PreferencesDate extends CRM_Core_DAO {
    * The meta name for this date (fixed in code)
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Description of this date type.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * The start offset relative to current year
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start;
 
   /**
    * The end offset relative to current year, can be negative
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end;
 
   /**
    * The date type
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $date_format;
 
   /**
    * time format
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_format;
 
diff --git a/civicrm/CRM/Core/DAO/PrevNextCache.php b/civicrm/CRM/Core/DAO/PrevNextCache.php
index 8bcc48e6140734e6f65682d1f86d80bbe1c974dd..9ab4943daa5e211ac599bf269e19c4a0f50b69eb 100644
--- a/civicrm/CRM/Core/DAO/PrevNextCache.php
+++ b/civicrm/CRM/Core/DAO/PrevNextCache.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/PrevNextCache.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:af3cb54c291525d39547cefa9bddf11a)
+ * (GenCodeChecksum:34c9a3b8f37f15fa5f0d9174e5e1c981)
  */
 
 /**
@@ -31,47 +31,61 @@ class CRM_Core_DAO_PrevNextCache extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * physical tablename for entity being joined to discount, e.g. civicrm_event
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * FK to entity table specified in entity_table column.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id1;
 
   /**
    * FK to entity table specified in entity_table column.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id2;
 
   /**
    * Unique path name for cache element of the searched item
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cachekey;
 
   /**
    * cached snapshot of the serialized data
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_selected;
 
diff --git a/civicrm/CRM/Core/DAO/PrintLabel.php b/civicrm/CRM/Core/DAO/PrintLabel.php
index 9fa29c8fcab24ccc07109ef45499b3dc0338f9e8..73cd71cb68a7d918be9ca85f38bbcd76564da6b8 100644
--- a/civicrm/CRM/Core/DAO/PrintLabel.php
+++ b/civicrm/CRM/Core/DAO/PrintLabel.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/PrintLabel.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:cae6bd3ef03de9c99cd64c3c232fca54)
+ * (GenCodeChecksum:2ff186e7860c945a080bd0d8672dee5f)
  */
 
 /**
@@ -31,77 +31,99 @@ class CRM_Core_DAO_PrintLabel extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * User title for this label layout
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * variable name/programmatic handle for this field.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Description of this label layout
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * This refers to name column of civicrm_option_value row in name_badge option group
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label_format_name;
 
   /**
    * Implicit FK to civicrm_option_value row in NEW label_type option group
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label_type_id;
 
   /**
    * contains json encode configurations options
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data;
 
   /**
    * Is this default?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
    * Is this option active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this reserved label?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * FK to civicrm_contact, who created this label layout
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
diff --git a/civicrm/CRM/Core/DAO/RecurringEntity.php b/civicrm/CRM/Core/DAO/RecurringEntity.php
index 276dad5b04baaab96c51bca8dbaee28d307d1ee8..82eaa5e9d81a1a7f1e2e8763bd03ddee1211640a 100644
--- a/civicrm/CRM/Core/DAO/RecurringEntity.php
+++ b/civicrm/CRM/Core/DAO/RecurringEntity.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/RecurringEntity.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:9176ce7b1312c05e06b2d744da945f83)
+ * (GenCodeChecksum:d8ff65b4009b67e8619f6f904c1b501d)
  */
 
 /**
@@ -31,21 +31,27 @@ class CRM_Core_DAO_RecurringEntity extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Recurring Entity Parent ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_id;
 
   /**
    * Recurring Entity Child ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
@@ -53,13 +59,17 @@ class CRM_Core_DAO_RecurringEntity extends CRM_Core_DAO {
    * Physical tablename for entity, e.g. civicrm_event
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * 1-this entity, 2-this and the following entities, 3-all the entities
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mode;
 
diff --git a/civicrm/CRM/Core/DAO/Setting.php b/civicrm/CRM/Core/DAO/Setting.php
index cb03d030a918261cc278e62cb2c325f1e7e7731d..32c4c45741d298c317f462a22b4ae89fc6acf577 100644
--- a/civicrm/CRM/Core/DAO/Setting.php
+++ b/civicrm/CRM/Core/DAO/Setting.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Setting.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:1cc77a956cd4dfc7dd2a7f22579ad742)
+ * (GenCodeChecksum:1540ee58b9ec485590f4ce8cfe94f5a4)
  */
 
 /**
@@ -31,63 +31,81 @@ class CRM_Core_DAO_Setting extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Unique name for setting
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * data associated with this group / name combo
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $value;
 
   /**
    * Which Domain is this menu item for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * FK to Contact ID if the setting is localized to a contact
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Is this setting a contact specific or site wide setting?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_domain;
 
   /**
    * Component that this menu item belongs to
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $component_id;
 
   /**
    * When was the setting created
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * FK to civicrm_contact, who created this setting
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
diff --git a/civicrm/CRM/Core/DAO/StateProvince.php b/civicrm/CRM/Core/DAO/StateProvince.php
index 66f8bfe33ac9e188205805452778635f1ccd5fba..a07f290a77813571db2bd6ff30842b079d3ea9c1 100644
--- a/civicrm/CRM/Core/DAO/StateProvince.php
+++ b/civicrm/CRM/Core/DAO/StateProvince.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/StateProvince.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:d99e943649a1c2db96c2111d7feeeec2)
+ * (GenCodeChecksum:fe8e2b8bd40cc99eb28b66260a48da80)
  */
 
 /**
@@ -40,35 +40,45 @@ class CRM_Core_DAO_StateProvince extends CRM_Core_DAO {
   /**
    * State/Province ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Name of State/Province
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * 2-4 Character Abbreviation of State/Province
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(4))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $abbreviation;
 
   /**
    * ID of Country that State/Province belong
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $country_id;
 
   /**
    * Is this StateProvince active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Core/DAO/StatusPreference.php b/civicrm/CRM/Core/DAO/StatusPreference.php
index 4b3b3e0fc5a559ad2fd22f8e7aae16756187d025..9331244143ac908563c7e502d7c5c35fe470e305 100644
--- a/civicrm/CRM/Core/DAO/StatusPreference.php
+++ b/civicrm/CRM/Core/DAO/StatusPreference.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/StatusPreference.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:97f98c6f510e57260d2a5e3647a00d4f)
+ * (GenCodeChecksum:73ca47fbe3712351ea43f57b993c7a92)
  */
 
 /**
@@ -33,14 +33,18 @@ class CRM_Core_DAO_StatusPreference extends CRM_Core_DAO {
   /**
    * Unique Status Preference ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this Status Preference for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
@@ -48,41 +52,53 @@ class CRM_Core_DAO_StatusPreference extends CRM_Core_DAO {
    * Name of the status check this preference references.
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * expires ignore_severity.  NULL never hushes.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $hush_until;
 
   /**
    * Hush messages up to and including this severity.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $ignore_severity;
 
   /**
    * These settings are per-check, and can't be compared across checks.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $prefs;
 
   /**
    * These values are per-check, and can't be compared across checks.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $check_info;
 
   /**
    * Is this status check active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Core/DAO/SystemLog.php b/civicrm/CRM/Core/DAO/SystemLog.php
index ea1920cf12b55b10740896cdde0a2083b2e78758..d11b4e0c1d9cf11119c70839bf55f1537f4f9a7d 100644
--- a/civicrm/CRM/Core/DAO/SystemLog.php
+++ b/civicrm/CRM/Core/DAO/SystemLog.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/SystemLog.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:1dd363d9554947bfdd8c75bba4ee5da9)
+ * (GenCodeChecksum:0859d091be6dca4edd108b6a1803ef35)
  */
 
 /**
@@ -33,7 +33,9 @@ class CRM_Core_DAO_SystemLog extends CRM_Core_DAO {
   /**
    * Primary key ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -41,41 +43,53 @@ class CRM_Core_DAO_SystemLog extends CRM_Core_DAO {
    * Standardized message
    *
    * @var string
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $message;
 
   /**
    * JSON encoded data
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $context;
 
   /**
    * error level per PSR3
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(9))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $level;
 
   /**
    * Timestamp of when event occurred.
    *
-   * @var timestamp
+   * @var string|null
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $timestamp;
 
   /**
    * Optional Contact ID that created the log. Not an FK as we keep this regardless
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Optional Name of logging host
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $hostname;
 
diff --git a/civicrm/CRM/Core/DAO/Tag.php b/civicrm/CRM/Core/DAO/Tag.php
index fb94ad6d9d19b30eff85335fb2d5afd39c51b25d..3dcf7dbf5d0e8cc2ccd661b36eccea155b7af0cb 100644
--- a/civicrm/CRM/Core/DAO/Tag.php
+++ b/civicrm/CRM/Core/DAO/Tag.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Tag.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6bf223ca710a35bc6fb4c5e3f373b214)
+ * (GenCodeChecksum:4e8a87bf73d5f2f09dacdd4891ee7305)
  */
 
 /**
@@ -47,7 +47,9 @@ class CRM_Core_DAO_Tag extends CRM_Core_DAO {
   /**
    * Tag ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -55,63 +57,83 @@ class CRM_Core_DAO_Tag extends CRM_Core_DAO {
    * Name of Tag.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Optional verbose description of the tag.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Optional parent id for this tag.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_id;
 
   /**
    * Is this tag selectable / displayed
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_selectable;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_tagset;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $used_for;
 
   /**
    * FK to civicrm_contact, who created this tag
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Hex color value e.g. #ffffff
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color;
 
   /**
    * Date and time that tag was created.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
diff --git a/civicrm/CRM/Core/DAO/Timezone.php b/civicrm/CRM/Core/DAO/Timezone.php
index 20d5781b970cd4458ed68b2ee17e73a2eca22854..52d88dd7b63aa4bf10f712a4f268037681d587f0 100644
--- a/civicrm/CRM/Core/DAO/Timezone.php
+++ b/civicrm/CRM/Core/DAO/Timezone.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Timezone.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:a1960975c14d40dedac3cbf6121044db)
+ * (GenCodeChecksum:bb3ae6e3a2a974f5a7e121a7ba763af6)
  */
 
 /**
@@ -33,40 +33,52 @@ class CRM_Core_DAO_Timezone extends CRM_Core_DAO {
   /**
    * Timezone ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Timezone full name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * ISO Code for timezone abbreviation
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: char(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $abbreviation;
 
   /**
    * GMT name of the timezone
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $gmt;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $offset;
 
   /**
    * Country ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $country_id;
 
diff --git a/civicrm/CRM/Core/DAO/Translation.php b/civicrm/CRM/Core/DAO/Translation.php
index aba20f3afa392974f224d270d3281a0eea458aa4..57543feb3d784b6d0fb458d597baeb4b31ab9d6b 100644
--- a/civicrm/CRM/Core/DAO/Translation.php
+++ b/civicrm/CRM/Core/DAO/Translation.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Translation.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:26a0aec7a4d0e31684a513f1a3f6fa18)
+ * (GenCodeChecksum:f0f986e6ba50631d51e09da061eb494a)
  */
 
 /**
@@ -33,7 +33,9 @@ class CRM_Core_DAO_Translation extends CRM_Core_DAO {
   /**
    * Unique String ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -41,6 +43,8 @@ class CRM_Core_DAO_Translation extends CRM_Core_DAO {
    * Table where referenced item is stored
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
@@ -48,13 +52,17 @@ class CRM_Core_DAO_Translation extends CRM_Core_DAO {
    * Field where referenced item is stored
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_field;
 
   /**
    * ID of the relevant entity.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
@@ -62,20 +70,26 @@ class CRM_Core_DAO_Translation extends CRM_Core_DAO {
    * Relevant language
    *
    * @var string
+   *   (SQL type: varchar(5))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $language;
 
   /**
    * Specify whether the string is active, draft, etc
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * Translated string
    *
-   * @var longtext
+   * @var string
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $string;
 
diff --git a/civicrm/CRM/Core/DAO/UFField.php b/civicrm/CRM/Core/DAO/UFField.php
index ba2cdcba545b7c406d6c31e823684c00db50b1ea..a35a7cc36844291f4849fff2f8f8b0fff883e4f6 100644
--- a/civicrm/CRM/Core/DAO/UFField.php
+++ b/civicrm/CRM/Core/DAO/UFField.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/UFField.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:47f3fbbbd8d816a9cfb9f7fb4e7d5dc4)
+ * (GenCodeChecksum:dbab868218968878ca554480f974c2b4)
  */
 
 /**
@@ -33,14 +33,18 @@ class CRM_Core_DAO_UFField extends CRM_Core_DAO {
   /**
    * Unique table ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which form does this field belong to.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $uf_group_id;
 
@@ -48,90 +52,116 @@ class CRM_Core_DAO_UFField extends CRM_Core_DAO {
    * Name for CiviCRM field which is being exposed for sharing.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $field_name;
 
   /**
    * Is this field currently shareable? If false, hide the field for all sharing contexts.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * the field is view only and not editable in user forms.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_view;
 
   /**
    * Is this field required when included in a user or registration form?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_required;
 
   /**
    * Controls field display order when user framework fields are displayed in registration and account editing forms.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Description and/or help text to display after this field.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_post;
 
   /**
    * Description and/or help text to display before this field.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_pre;
 
   /**
    * In what context(s) is this field visible.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $visibility;
 
   /**
    * Is this field included as a column in the selector table?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $in_selector;
 
   /**
    * Is this field included search form of profile?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_searchable;
 
   /**
    * Location type of this mapping, if required
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location_type_id;
 
   /**
    * Phone Type ID, if required
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_type_id;
 
   /**
    * Website Type ID, if required
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $website_type_id;
 
@@ -139,27 +169,35 @@ class CRM_Core_DAO_UFField extends CRM_Core_DAO {
    * To save label for fields.
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * This field saves field type (ie individual,household.. field etc).
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $field_type;
 
   /**
    * Is this field reserved for use by some other CiviCRM functionality?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Include in multi-record listing?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_multi_summary;
 
diff --git a/civicrm/CRM/Core/DAO/UFGroup.php b/civicrm/CRM/Core/DAO/UFGroup.php
index 919b38ac9c8f8d038f845438fec1e6db17651465..37f9346e36260dde5550a19dd735e5eebe09daab 100644
--- a/civicrm/CRM/Core/DAO/UFGroup.php
+++ b/civicrm/CRM/Core/DAO/UFGroup.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/UFGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0cb6463f64d494ca888d10708269b63c)
+ * (GenCodeChecksum:6d64e2deaff9b8408d4110c44d0e8152)
  */
 
 /**
@@ -33,21 +33,27 @@ class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
   /**
    * Unique table ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Is this form currently active? If false, hide all related fields for all sharing contexts.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Comma separated list of the type(s) of profile fields.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_type;
 
@@ -55,165 +61,213 @@ class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
    * Form title.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Profile Form Public title
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frontend_title;
 
   /**
    * Optional verbose description of the profile.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Description and/or help text to display before fields in form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_pre;
 
   /**
    * Description and/or help text to display after fields in form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_post;
 
   /**
    * Group id, foreign key from civicrm_group
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $limit_listings_group_id;
 
   /**
    * Redirect to URL.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $post_URL;
 
   /**
    * foreign key to civicrm_group_id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $add_to_group_id;
 
   /**
    * Should a CAPTCHA widget be included this Profile form.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $add_captcha;
 
   /**
    * Do we want to map results from this profile.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_map;
 
   /**
    * Should edit link display in profile selector
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_edit_link;
 
   /**
    * Should we display a link to the website profile in profile selector
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_uf_link;
 
   /**
    * Should we update the contact record if we find a duplicate
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_update_dupe;
 
   /**
    * Redirect to URL when Cancle button clik .
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cancel_URL;
 
   /**
    * Should we create a cms user for this profile
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_cms_user;
 
   /**
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $notify;
 
   /**
    * Is this group reserved for use by some other CiviCRM functionality?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Name of the UF group for directly addressing it in the codebase
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * FK to civicrm_contact, who created this UF group
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Date and time this UF group was created.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * Should we include proximity search feature in this profile search form?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_proximity_search;
 
   /**
    * Custom Text to display on the Cancel button when used in create or edit mode
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cancel_button_text;
 
   /**
    * Custom Text to display on the submit button on profile edit/create screens
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $submit_button_text;
 
   /**
    * Should a Cancel button be included in this Profile form.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $add_cancel_button;
 
diff --git a/civicrm/CRM/Core/DAO/UFJoin.php b/civicrm/CRM/Core/DAO/UFJoin.php
index e60816d109c9a99023984866d720e77c305ece8f..a3460bd94f4c460625cc676b4709cea919ee29de 100644
--- a/civicrm/CRM/Core/DAO/UFJoin.php
+++ b/civicrm/CRM/Core/DAO/UFJoin.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/UFJoin.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:ad3e1eb59e96ed7553d2a3f48430c934)
+ * (GenCodeChecksum:1e4fa645d4bface77a08688d714ba651)
  */
 
 /**
@@ -33,14 +33,18 @@ class CRM_Core_DAO_UFJoin extends CRM_Core_DAO {
   /**
    * Unique table ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Is this join currently active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
@@ -48,41 +52,53 @@ class CRM_Core_DAO_UFJoin extends CRM_Core_DAO {
    * Module which owns this uf_join instance, e.g. User Registration, CiviDonate, etc.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $module;
 
   /**
    * Name of table where item being referenced is stored. Modules which only need a single collection of uf_join instances may choose not to populate entity_table and entity_id.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * Foreign key to the referenced item.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * Controls display order when multiple user framework groups are setup for concurrent display.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Which form does this field belong to.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $uf_group_id;
 
   /**
    * Json serialized array of data used by the ufjoin.module
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $module_data;
 
diff --git a/civicrm/CRM/Core/DAO/UFMatch.php b/civicrm/CRM/Core/DAO/UFMatch.php
index f374311007caca32590da8396c0536c863255447..9ef7bd540a44f2a78cb78bd6219498946d486787 100644
--- a/civicrm/CRM/Core/DAO/UFMatch.php
+++ b/civicrm/CRM/Core/DAO/UFMatch.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/UFMatch.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:c192c2dfffc598c44141e666fb164342)
+ * (GenCodeChecksum:bb9d91c913ff3b1088ca8fa03cd23740)
  */
 
 /**
@@ -33,42 +33,54 @@ class CRM_Core_DAO_UFMatch extends CRM_Core_DAO {
   /**
    * System generated ID.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this match entry for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * UF ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $uf_id;
 
   /**
    * UF Name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $uf_name;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * UI language preferred by the given user/contact
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(5))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $language;
 
diff --git a/civicrm/CRM/Core/DAO/Website.php b/civicrm/CRM/Core/DAO/Website.php
index 80d55ebb667dc5a2a2a4a7e670f600b71f0c7c25..205fc49f0618a4da9341b577205278c196ad19e4 100644
--- a/civicrm/CRM/Core/DAO/Website.php
+++ b/civicrm/CRM/Core/DAO/Website.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Website.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:042da2fb78309555f5d4ecbe41d33cd0)
+ * (GenCodeChecksum:7ef66a990830d03a02dd59b7b6f0d2cb)
  */
 
 /**
@@ -47,28 +47,36 @@ class CRM_Core_DAO_Website extends CRM_Core_DAO {
   /**
    * Unique Website ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Website
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url;
 
   /**
    * Which Website type does this website belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $website_type_id;
 
diff --git a/civicrm/CRM/Core/DAO/WordReplacement.php b/civicrm/CRM/Core/DAO/WordReplacement.php
index 47141b827ff9f102993c4ba1edb79d4e7dae9650..efb8b81e05d0108e6f639baef6458d3d2e7c5921 100644
--- a/civicrm/CRM/Core/DAO/WordReplacement.php
+++ b/civicrm/CRM/Core/DAO/WordReplacement.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/WordReplacement.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:4465ed4733f5b424c231d208ef1f61d7)
+ * (GenCodeChecksum:705cadb5a39522334249027149873712)
  */
 
 /**
@@ -33,40 +33,52 @@ class CRM_Core_DAO_WordReplacement extends CRM_Core_DAO {
   /**
    * Word replacement ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Word which need to be replaced
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $find_word;
 
   /**
    * Word which will replace the word in find
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $replace_word;
 
   /**
    * Is this entry active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(16))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $match_type;
 
   /**
    * FK to Domain ID. This is for Domain specific word replacement
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
diff --git a/civicrm/CRM/Core/DAO/Worldregion.php b/civicrm/CRM/Core/DAO/Worldregion.php
index cea1ffea6c53032abf3fdd253e2d9000b9980ca7..31a86e1a299d4c9cddfe342c652becf30085a36d 100644
--- a/civicrm/CRM/Core/DAO/Worldregion.php
+++ b/civicrm/CRM/Core/DAO/Worldregion.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Worldregion.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:897ca1a3833baf2e0c5bc09b350d26cd)
+ * (GenCodeChecksum:e8b2ad34381b7a644a5ea7e70cebf27e)
  */
 
 /**
@@ -33,14 +33,18 @@ class CRM_Core_DAO_Worldregion extends CRM_Core_DAO {
   /**
    * Country ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Region name to be associated with countries
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
diff --git a/civicrm/CRM/Core/DAO/permissions.php b/civicrm/CRM/Core/DAO/permissions.php
index 45fe4f8c0924d76c2e62b43ce2fa570b36a34642..f07270495ca990cf9d4599fa4d4880941e4d357a 100644
--- a/civicrm/CRM/Core/DAO/permissions.php
+++ b/civicrm/CRM/Core/DAO/permissions.php
@@ -12,9 +12,9 @@
 /**
  * Decide what permissions to check for an api call
  *
- * @param $entity : (str) api entity
- * @param $action : (str) api action
- * @param $params : (array) api params
+ * @param string $entity api entity
+ * @param string $action api action
+ * @param array $params api params
  *
  * @return array
  *   Array of permissions to check for this entity-action combo
diff --git a/civicrm/CRM/Core/Error.php b/civicrm/CRM/Core/Error.php
index a131be146a9e909b5974bd01b3e783c8bf7126b7..763a2605d391bc7a979eb4c831467b8a4c37a29d 100644
--- a/civicrm/CRM/Core/Error.php
+++ b/civicrm/CRM/Core/Error.php
@@ -242,9 +242,9 @@ class CRM_Core_Error extends PEAR_ErrorStack {
   }
 
   /**
-   * this function is used to return error details
+   * This function is used to return error details
    *
-   * @param $pearError
+   * @param PEAR_Error $pearError
    *
    * @return array $error
    */
@@ -452,7 +452,7 @@ class CRM_Core_Error extends PEAR_ErrorStack {
    * so we can interrupt a potential POST/redirect
    *
    * @param string $name name of debug section
-   * @param $variable mixed reference to variables that we need a trace of
+   * @param mixed $variable reference to variables that we need a trace of
    * @param bool $log should we log or return the output
    * @param bool $html whether to generate a HTML-escaped output
    * @param bool $checkPermission should we check permissions before displaying output
@@ -902,9 +902,8 @@ class CRM_Core_Error extends PEAR_ErrorStack {
    *
    * @param string $status
    *   The status message to set.
-   *
-   * @param null $redirect
-   * @param string $title
+   * @param string|null $redirect
+   * @param string|null $title
    */
   public static function statusBounce($status, $redirect = NULL, $title = NULL) {
     $session = CRM_Core_Session::singleton();
@@ -934,7 +933,7 @@ class CRM_Core_Error extends PEAR_ErrorStack {
   /**
    * PEAR error-handler which converts errors to exceptions
    *
-   * @param $pearError
+   * @param PEAR_Error $pearError
    * @throws PEAR_Exception
    */
   public static function exceptionHandler($pearError) {
diff --git a/civicrm/CRM/Core/Form.php b/civicrm/CRM/Core/Form.php
index 3cf3e8304f53bb107b14d4090b0df9230aa0894b..d3e8a94306b98b9d2d4678de16219a6bf3df01a6 100644
--- a/civicrm/CRM/Core/Form.php
+++ b/civicrm/CRM/Core/Form.php
@@ -222,7 +222,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
    * attempt to standardize on the number of variations that we
    * use of the below form elements
    *
-   * @var const string
+   * @var string
    */
   const ATTR_SPACING = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
 
@@ -281,6 +281,15 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
     'context',
     // FormButtons.tpl (adds buttons to forms).
     'linkButtons',
+    // Required for contactFooter.tpl.
+    // See CRM_Activity_Form_ActivityTest:testInboundEmailDisplaysWithLineBreaks.
+    'external_identifier',
+    'lastModified',
+    'created_date',
+    'changeLog',
+    // Required for footer.tpl,
+    // See CRM_Activity_Form_ActivityTest:testInboundEmailDisplaysWithLineBreaks.
+    'footer_status_severity',
   ];
 
   /**
@@ -291,7 +300,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
    *
    * @param object $state
    *   State associated with this form.
-   * @param \const|\enum|int $action The mode the form is operating in (None/Create/View/Update/Delete)
+   * @param int $action The mode the form is operating in (None/Create/View/Update/Delete)
    * @param string $method
    *   The type of http method used (GET/POST).
    * @param string $name
@@ -374,7 +383,6 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
       'date',
       'currentDate',
       'asciiFile',
-      'htmlFile',
       'utf8File',
       'objectExists',
       'optionExists',
@@ -1297,10 +1305,10 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
 
   /**
    * @param string $name
-   * @param $title
-   * @param $values
+   * @param string $title
+   * @param array $values
    * @param array $attributes
-   * @param null $separator
+   * @param string $separator
    * @param bool $required
    * @param array $optionAttributes - Option specific attributes
    *
@@ -1344,10 +1352,10 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
   }
 
   /**
-   * @param int $id
-   * @param $title
+   * @param string $id
+   * @param string $title
    * @param bool $allowClear
-   * @param null $required
+   * @param bool $required
    * @param array $attributes
    */
   public function addYesNo($id, $title, $allowClear = FALSE, $required = NULL, $attributes = []) {
@@ -1367,8 +1375,8 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
 
   /**
    * @param int $id
-   * @param $title
-   * @param $values
+   * @param string $title
+   * @param array $values
    * @param null $other
    * @param null $attributes
    * @param null $required
@@ -1566,7 +1574,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
    * Adds a select based on field metadata.
    * TODO: This could be even more generic and widget type (select in this case) could also be read from metadata
    * Perhaps a method like $form->bind($name) which would look up all metadata for named field
-   * @param $name
+   * @param string $name
    *   Field name to go on the form.
    * @param array $props
    *   Mix of html attributes and special properties, namely.
@@ -1939,7 +1947,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
   }
 
   /**
-   * @param $elementName
+   * @param string[]|string $elementName
    */
   public function addUploadElement($elementName) {
     $uploadNames = $this->get('uploadNames');
@@ -1967,17 +1975,17 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
   }
 
   /**
-   * @param $name
+   * @param string $name
    *
-   * @return null
+   * @return mixed
    */
   public function getVar($name) {
     return $this->$name ?? NULL;
   }
 
   /**
-   * @param $name
-   * @param $value
+   * @param string $name
+   * @param mixed $value
    */
   public function setVar($name, $value) {
     $this->$name = $value;
@@ -2085,7 +2093,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
    * @param string $name
    * @param string $label
    * @param bool $required
-   * @param null $attributes
+   * @param array $attributes
    */
   public function addDateTime($name, $label, $required = FALSE, $attributes = NULL) {
     $addTime = ['addTime' => TRUE];
@@ -2105,10 +2113,10 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
    * @param string $name
    * @param string $label
    * @param bool $required
-   * @param null $attributes
+   * @param array $attributes
    * @param bool $addCurrency
    * @param string $currencyName
-   * @param null $defaultCurrency
+   * @param string $defaultCurrency
    * @param bool $freezeCurrency
    *
    * @return \HTML_QuickForm_Element
@@ -2137,7 +2145,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
    * Add currency element to the form.
    *
    * @param string $name
-   * @param null $label
+   * @param string $label
    * @param bool $required
    * @param string $defaultCurrency
    * @param bool $freezeCurrency
@@ -2406,6 +2414,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
   }
 
   /**
+   * @return bool
    */
   public function canUseAjaxContactLookups() {
     if (0 < (civicrm_api3('contact', 'getcount', ['check_permissions' => 1])) &&
@@ -2413,6 +2422,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
     ) {
       return TRUE;
     }
+    return FALSE;
   }
 
   /**
diff --git a/civicrm/CRM/Core/Form/ShortCode.php b/civicrm/CRM/Core/Form/ShortCode.php
index 58ce68a55b2eaffb893d44371242d57ba53cf400..ca526ee06eba67c4db0f1ac1ef5735776421a625 100644
--- a/civicrm/CRM/Core/Form/ShortCode.php
+++ b/civicrm/CRM/Core/Form/ShortCode.php
@@ -53,8 +53,6 @@ class CRM_Core_Form_ShortCode extends CRM_Core_Form {
    * Build form data. Can be modified via hook_civicrm_preProcess.
    */
   public function preProcess() {
-    $config = CRM_Core_Config::singleton();
-
     $this->components['user-dashboard'] = [
       'label' => ts("User Dashboard"),
       'select' => NULL,
@@ -73,7 +71,7 @@ class CRM_Core_Form_ShortCode extends CRM_Core_Form {
       ],
     ];
 
-    if (in_array('CiviContribute', $config->enableComponents)) {
+    if (CRM_Core_Component::isEnabled('CiviContribute')) {
       $this->components['contribution'] = [
         'label' => ts("Contribution Page"),
         'select' => [
@@ -92,7 +90,7 @@ class CRM_Core_Form_ShortCode extends CRM_Core_Form {
       ];
     }
 
-    if (in_array('CiviEvent', $config->enableComponents)) {
+    if (CRM_Core_Component::isEnabled('CiviEvent')) {
       $this->components['event'] = [
         'label' => ts("Event Page"),
         'select' => [
@@ -103,7 +101,7 @@ class CRM_Core_Form_ShortCode extends CRM_Core_Form {
       ];
     }
 
-    if (in_array('CiviCampaign', $config->enableComponents)) {
+    if (CRM_Core_Component::isEnabled('CiviCampaign')) {
       $this->components['petition'] = [
         'label' => ts("Petition"),
         'select' => [
diff --git a/civicrm/CRM/Core/Form/Task.php b/civicrm/CRM/Core/Form/Task.php
index 3c134e608cc1fc27eb1c3b59870dca686c1abe9f..1526eda1fa5b317edd68b607affb1237ef9b9b9a 100644
--- a/civicrm/CRM/Core/Form/Task.php
+++ b/civicrm/CRM/Core/Form/Task.php
@@ -156,9 +156,10 @@ abstract class CRM_Core_Form_Task extends CRM_Core_Form {
     $searchFormValues = $form->getSearchFormValues();
 
     $form->_task = $searchFormValues['task'];
-
+    $isSelectedContacts = ($searchFormValues['radio_ts'] ?? NULL) === 'ts_sel';
+    $form->assign('isSelectedContacts', $isSelectedContacts);
     $entityIds = [];
-    if ($searchFormValues['radio_ts'] == 'ts_sel') {
+    if ($isSelectedContacts) {
       foreach ($searchFormValues as $name => $value) {
         if (substr($name, 0, CRM_Core_Form::CB_PREFIX_LEN) == CRM_Core_Form::CB_PREFIX) {
           $entityIds[] = substr($name, CRM_Core_Form::CB_PREFIX_LEN);
diff --git a/civicrm/CRM/Core/Form/Task/PDFLetterCommon.php b/civicrm/CRM/Core/Form/Task/PDFLetterCommon.php
index 781d6352420097df369abb802ad1064b39f843dd..0f6e6673ed8e6cdcde624c60250d82e5711375e3 100644
--- a/civicrm/CRM/Core/Form/Task/PDFLetterCommon.php
+++ b/civicrm/CRM/Core/Form/Task/PDFLetterCommon.php
@@ -196,7 +196,7 @@ class CRM_Core_Form_Task_PDFLetterCommon {
    * @param array $fields
    *   The input form values.
    * @param array $files
-   * @param array $self
+   * @param self $self
    *   Additional values form 'this'.
    *
    * @return bool
@@ -325,7 +325,7 @@ class CRM_Core_Form_Task_PDFLetterCommon {
   /**
    * @deprecated
    *
-   * @param $message
+   * @param string $message
    */
   public static function formatMessage(&$message) {
     $newLineOperators = [
diff --git a/civicrm/CRM/Core/I18n.php b/civicrm/CRM/Core/I18n.php
index e4653d3be758c29a2155fd532ada40e183024ac9..30cb0cb8eadc43d66561e55a89b118ded14acf7f 100644
--- a/civicrm/CRM/Core/I18n.php
+++ b/civicrm/CRM/Core/I18n.php
@@ -19,7 +19,7 @@ class CRM_Core_I18n {
   /**
    * Constants for communication preferences.
    *
-   * @var int
+   * @var string
    */
   const NONE = 'none', AUTO = 'auto';
 
@@ -239,6 +239,28 @@ class CRM_Core_I18n {
     return $justEnabled ? $enabled : $all;
   }
 
+  /**
+   * Get the options available for format locale.
+   *
+   * Note the pseudoconstant can't be used as the key is the name not the value.
+   *
+   * @return array
+   */
+  public static function getFormatLocales(): array {
+    $values = CRM_Core_OptionValue::getValues(['name' => 'languages'], $optionValues, 'label', TRUE);
+    $return = [];
+    $return[NULL] = ts('Inherit from language');
+    foreach ($values as $value) {
+      $return[$value['name']] = $value['label'];
+    }
+    // Sorry not sorry.
+    // Hacking in for now since the is probably the most important use-case for
+    // money formatting in an English speaking non-US locale based on any reasonable
+    // metric.
+    $return['en_NZ'] = ts('English (New Zealand)');
+    return $return;
+  }
+
   /**
    * Return the available UI languages
    * @return array|string
@@ -532,7 +554,7 @@ class CRM_Core_I18n {
   /**
    * Binds a gettext domain, wrapper over bindtextdomain().
    *
-   * @param $key
+   * @param string $key
    *   Key of the extension (can be 'civicrm', or 'org.example.foo').
    *
    * @return Bool
@@ -610,7 +632,7 @@ class CRM_Core_I18n {
   /**
    * Is the language written "right-to-left"?
    *
-   * @param $language
+   * @param string $language
    *   Language (for example 'en_US', or 'fr_CA').
    *
    * @return bool
@@ -637,7 +659,7 @@ class CRM_Core_I18n {
   /**
    * Change the processing language without changing the current user language
    *
-   * @param $locale
+   * @param string $locale
    *   Locale (for example 'en_US', or 'fr_CA').
    *   True if the domain was changed for an extension.
    */
diff --git a/civicrm/CRM/Core/I18n/NativeGettext.php b/civicrm/CRM/Core/I18n/NativeGettext.php
index cefd92f0f5406583a05b4359acb521ad86718646..d346692d8f851d3ec5579efaa5741e175a966b35 100644
--- a/civicrm/CRM/Core/I18n/NativeGettext.php
+++ b/civicrm/CRM/Core/I18n/NativeGettext.php
@@ -18,7 +18,7 @@
 class CRM_Core_I18n_NativeGettext {
 
   /**
-   * @param $string
+   * @param string $string
    *
    * @return string
    */
@@ -29,8 +29,8 @@ class CRM_Core_I18n_NativeGettext {
   /**
    * Based on php-gettext, since native gettext does not support this as is.
    *
-   * @param $context
-   * @param $text
+   * @param string $context
+   * @param string $text
    *
    * @return string
    */
@@ -47,9 +47,9 @@ class CRM_Core_I18n_NativeGettext {
   }
 
   /**
-   * @param $text
-   * @param $plural
-   * @param $count
+   * @param string $text
+   * @param string $plural
+   * @param int $count
    *
    * @return string
    */
diff --git a/civicrm/CRM/Core/I18n/PseudoConstant.php b/civicrm/CRM/Core/I18n/PseudoConstant.php
index 6c4576b3ba3ea294964b7b08a568262ebfeb3451..d9b9341b77f4ba33dac0df983cd82f274a3e4db8 100644
--- a/civicrm/CRM/Core/I18n/PseudoConstant.php
+++ b/civicrm/CRM/Core/I18n/PseudoConstant.php
@@ -53,7 +53,7 @@ class CRM_Core_I18n_PseudoConstant {
   }
 
   /**
-   * @param $long
+   * @param string $long
    *
    * @return string
    */
diff --git a/civicrm/CRM/Core/I18n/Schema.php b/civicrm/CRM/Core/I18n/Schema.php
index 0fc3bb6df768e6b84cf526271c0891b0fcca73ef..e000811f5210ae7d60cb5b5907fb0c9638030743 100644
--- a/civicrm/CRM/Core/I18n/Schema.php
+++ b/civicrm/CRM/Core/I18n/Schema.php
@@ -451,8 +451,8 @@ class CRM_Core_I18n_Schema {
    *   schema structure class to use.
    * @param bool $isUpgradeMode
    *   Are we in upgrade mode therefore only build based off table not class
-   * @return array
-   *   array of CREATE INDEX queries
+   * @return string
+   *   The generated CREATE VIEW query
    */
   private static function createViewQuery($locale, $table, &$dao, $class = 'CRM_Core_I18n_SchemaStructure', $isUpgradeMode = FALSE) {
     $columns =& $class::columns();
@@ -522,19 +522,19 @@ class CRM_Core_I18n_Schema {
       $trigger = [];
 
       foreach ($hash as $column => $_) {
-        $trigger[] = "IF NEW.{$column}_{$locale} IS NOT NULL THEN";
+        $trigger[] = "IF NEW.{$column}_{$locale} IS NOT NULL AND NEW.{$column}_{$locale} != '' THEN";
         foreach ($locales as $old) {
-          $trigger[] = "IF NEW.{$column}_{$old} IS NULL THEN SET NEW.{$column}_{$old} = NEW.{$column}_{$locale}; END IF;";
+          $trigger[] = "IF NEW.{$column}_{$old} IS NULL OR NEW.{$column}_{$old} = '' THEN SET NEW.{$column}_{$old} = NEW.{$column}_{$locale}; END IF;";
         }
         foreach ($locales as $old) {
-          $trigger[] = "ELSEIF NEW.{$column}_{$old} IS NOT NULL THEN";
+          $trigger[] = "ELSEIF NEW.{$column}_{$old} IS NOT NULL AND NEW.{$column}_{$old} != '' THEN";
           foreach (array_merge($locales, [
             $locale,
           ]) as $loc) {
             if ($loc == $old) {
               continue;
             }
-            $trigger[] = "IF NEW.{$column}_{$loc} IS NULL THEN SET NEW.{$column}_{$loc} = NEW.{$column}_{$old}; END IF;";
+            $trigger[] = "IF NEW.{$column}_{$loc} IS NULL OR NEW.{$column}_{$loc} = '' THEN SET NEW.{$column}_{$loc} = NEW.{$column}_{$old}; END IF;";
           }
         }
         $trigger[] = 'END IF;';
diff --git a/civicrm/CRM/Core/IDS.php b/civicrm/CRM/Core/IDS.php
index 3efdac401b2ddb7f43a7b0468166a3d35073dd12..fb8a01974a9e2ecf9a617d70d05b69f0c447cd3e 100644
--- a/civicrm/CRM/Core/IDS.php
+++ b/civicrm/CRM/Core/IDS.php
@@ -226,7 +226,7 @@ class CRM_Core_IDS {
   /**
    * This function writes an entry about the intrusion to the database.
    *
-   * @param array $result
+   * @param IDS_Report $result
    * @param int $reaction
    *
    * @return bool
diff --git a/civicrm/CRM/Core/Invoke.php b/civicrm/CRM/Core/Invoke.php
index 48bf206c623fb367977bd655388a3e8b0fbae8a9..1255fd328595e7cd0b54d2f4f8ef30942212c8d5 100644
--- a/civicrm/CRM/Core/Invoke.php
+++ b/civicrm/CRM/Core/Invoke.php
@@ -331,13 +331,17 @@ class CRM_Core_Invoke {
   /**
    * This function contains the default action.
    *
+   * Unused function.
+   *
    * @param $action
    *
    * @param $contact_type
    * @param $contact_sub_type
    *
+   * @Deprecated
    */
   public static function form($action, $contact_type, $contact_sub_type) {
+    CRM_Core_Error::deprecatedWarning('unused');
     CRM_Utils_System::setUserContext(['civicrm/contact/search/basic', 'civicrm/contact/view']);
     $wrapper = new CRM_Utils_Wrapper();
 
diff --git a/civicrm/CRM/Core/ManagedEntities.php b/civicrm/CRM/Core/ManagedEntities.php
index bcf5ea770dce1d1b4d3b946e9dd68d33b260398c..d94d89e22f7fa9d0b27b7c73d8e56d372bf3623a 100644
--- a/civicrm/CRM/Core/ManagedEntities.php
+++ b/civicrm/CRM/Core/ManagedEntities.php
@@ -116,14 +116,10 @@ class CRM_Core_ManagedEntities {
    * existing entities, and remove orphaned (stale) entities.
    *
    * @param bool $ignoreUpgradeMode
-   *
+   *   Unused.
    * @throws \CRM_Core_Exception
    */
   public function reconcile($ignoreUpgradeMode = FALSE) {
-    // Do not reconcile whilst we are in upgrade mode
-    if (CRM_Core_Config::singleton()->isUpgradeMode() && !$ignoreUpgradeMode) {
-      return;
-    }
     $this->loadDeclarations();
     if ($error = $this->validate($this->getDeclarations())) {
       throw new CRM_Core_Exception($error);
@@ -539,7 +535,7 @@ class CRM_Core_ManagedEntities {
   }
 
   /**
-   * @param $declarations
+   * @param array $declarations
    *
    * @return string|bool
    *   string on error, or FALSE
diff --git a/civicrm/CRM/Core/Menu.php b/civicrm/CRM/Core/Menu.php
index ad45953413b129a8d6a908bdb3bca58da834a2e9..c7376b2d345382f76542b2372ad0238ea02c1198 100644
--- a/civicrm/CRM/Core/Menu.php
+++ b/civicrm/CRM/Core/Menu.php
@@ -453,8 +453,8 @@ class CRM_Core_Menu {
   }
 
   /**
-   * @param $menu
-   * @param $path
+   * @param array $menu
+   * @param string|int $path
    */
   public static function buildReturnUrl(&$menu, $path) {
     if (!isset($menu[$path]['return_url'])) {
@@ -528,7 +528,7 @@ class CRM_Core_Menu {
   }
 
   /**
-   * @param $path string
+   * @param string $path
    *   Path of menu item to retrieve.
    *
    * @return array
diff --git a/civicrm/CRM/Core/Page.php b/civicrm/CRM/Core/Page.php
index 99742ac99ca04821a3c156a9cebe8512aa744363..e0d43bb9414558ca4e6d920b0c12fc42f5ed8b27 100644
--- a/civicrm/CRM/Core/Page.php
+++ b/civicrm/CRM/Core/Page.php
@@ -59,7 +59,9 @@ class CRM_Core_Page {
    * Are we in print mode? if so we need to modify the display
    * functionality to do a minimal display :)
    *
-   * @var bool
+   * @var int|string
+   *   Should match a CRM_Core_Smarty::PRINT_* constant,
+   *   or equal 0 if not in print mode
    */
   protected $_print = FALSE;
 
@@ -124,6 +126,9 @@ class CRM_Core_Page {
     'breadcrumb',
     'pageTitle',
     'isDeleted',
+    // Required for footer.tpl,
+    // See ExampleHookTest:testPageOutput.
+    'footer_status_severity',
   ];
 
   /**
@@ -215,10 +220,10 @@ class CRM_Core_Page {
       //its time to call the hook.
       CRM_Utils_Hook::alterContent($content, 'page', $pageTemplateFile, $this);
 
-      if ($this->_print == CRM_Core_Smarty::PRINT_PDF) {
+      if ($this->_print === CRM_Core_Smarty::PRINT_PDF) {
         CRM_Utils_PDF_Utils::html2pdf($content, "{$this->_name}.pdf", FALSE);
       }
-      elseif ($this->_print == CRM_Core_Smarty::PRINT_JSON) {
+      elseif ($this->_print === CRM_Core_Smarty::PRINT_JSON) {
         $this->ajaxResponse['content'] = $content;
         CRM_Core_Page_AJAX::returnJsonResponse($this->ajaxResponse);
       }
@@ -386,7 +391,11 @@ class CRM_Core_Page {
   /**
    * Setter for print.
    *
-   * @param bool $print
+   * @param int|string $print
+   *   Should match a CRM_Core_Smarty::PRINT_* constant,
+   *   or equal 0 if not in print mode
+   *
+   * @return void
    */
   public function setPrint($print) {
     $this->_print = $print;
@@ -395,8 +404,9 @@ class CRM_Core_Page {
   /**
    * Getter for print.
    *
-   * @return bool
-   *   return the print value
+   * @return int|string
+   *   Value matching a CRM_Core_Smarty::PRINT_* constant,
+   *   or 0 if not in print mode
    */
   public function getPrint() {
     return $this->_print;
diff --git a/civicrm/CRM/Core/Page/AJAX.php b/civicrm/CRM/Core/Page/AJAX.php
index 17a0fe8f6ef9e6c86aad5c266646c0cfac6bff29..4f1fd1b6407b1584e0b02bc7baae4977ca3e9dc1 100644
--- a/civicrm/CRM/Core/Page/AJAX.php
+++ b/civicrm/CRM/Core/Page/AJAX.php
@@ -167,7 +167,9 @@ class CRM_Core_Page_AJAX {
     $output = json_encode($response);
 
     // CRM-11831 @see http://www.malsup.com/jquery/form/#file-upload
-    if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
+    // COMMENT: Wouldn't the `Accept:` header be more appropriate? Only use `X-Requested-With:` as a
+    // fallback where `Accept:` is missing?
+    if (CRM_Utils_REST::isWebServiceRequest()) {
       CRM_Utils_System::setHttpHeader('Content-Type', 'application/json');
     }
     else {
diff --git a/civicrm/CRM/Core/Payment.php b/civicrm/CRM/Core/Payment.php
index 16f4691d06e630a79115ec12df758c96b221ccc1..26a62af3a98ed9b43341a7cbc21fa4b41798ba55 100644
--- a/civicrm/CRM/Core/Payment.php
+++ b/civicrm/CRM/Core/Payment.php
@@ -1674,8 +1674,7 @@ abstract class CRM_Core_Payment {
    * it is better to standardise to being here.
    *
    * @param int $invoiceId The ID to check.
-   *
-   * @param null $contributionID
+   * @param int|null $contributionID
    *   If a contribution exists pass in the contribution ID.
    *
    * @return bool
@@ -1693,8 +1692,8 @@ abstract class CRM_Core_Payment {
   /**
    * Get url for users to manage this recurring contribution for this processor.
    *
-   * @param int $entityID
-   * @param null $entity
+   * @param int|null $entityID
+   * @param string|null $entity
    * @param string $action
    *
    * @return string|null
@@ -1724,6 +1723,10 @@ abstract class CRM_Core_Payment {
         }
         $url = 'civicrm/contribute/updaterecur';
         break;
+
+      default:
+        $url = '';
+        break;
     }
 
     $userId = CRM_Core_Session::singleton()->get('userID');
@@ -1745,17 +1748,7 @@ abstract class CRM_Core_Payment {
           break;
 
         case 'recur':
-          $sql = "
-    SELECT DISTINCT con.contact_id
-      FROM civicrm_contribution_recur rec
-INNER JOIN civicrm_contribution con ON ( con.contribution_recur_id = rec.id )
-     WHERE rec.id = %1";
-          $contactID = CRM_Core_DAO::singleValueQuery($sql, [
-            1 => [
-              $entityID,
-              'Integer',
-            ],
-          ]);
+          $contactID = CRM_Core_DAO::getFieldValue("CRM_Contribute_DAO_ContributionRecur", $entityID, "contact_id");
           $entityArg = 'crid';
           break;
       }
diff --git a/civicrm/CRM/Core/Payment/BaseIPN.php b/civicrm/CRM/Core/Payment/BaseIPN.php
index a09264b93b7fc8c8aebe0e7ed66233f53c19c5cc..7226d2f2324de20bf4dff56992976facf582b6d6 100644
--- a/civicrm/CRM/Core/Payment/BaseIPN.php
+++ b/civicrm/CRM/Core/Payment/BaseIPN.php
@@ -333,7 +333,7 @@ class CRM_Core_Payment_BaseIPN {
    * @todo This is part of a bigger refactor for dev/core/issues/927 - "duplicate" functionality exists in CRM_Contribute_BAO_Contribution::cancel()
    * @param \CRM_Member_BAO_Membership $membership
    * @param int $membershipStatusID
-   * @param boolean $onlyCancelPendingMembership
+   * @param bool $onlyCancelPendingMembership
    *   Do we only cancel pending memberships? OR memberships in any status? (see CRM-18688)
    * @fixme Historically failed() cancelled membership in any status, cancelled() cancelled only pending memberships so we retain that behaviour for now.
    * @deprecated
diff --git a/civicrm/CRM/Core/Payment/Form.php b/civicrm/CRM/Core/Payment/Form.php
index 2c30dec08df5f6ecae86b82c1853c109cfcfae01..b6e32e52cac2ff446630304a10615d02ff137762 100644
--- a/civicrm/CRM/Core/Payment/Form.php
+++ b/civicrm/CRM/Core/Payment/Form.php
@@ -188,7 +188,7 @@ class CRM_Core_Payment_Form {
   }
 
   /**
-   * @param array $paymentProcessor
+   * @param CRM_Core_Payment $paymentProcessor
    *
    * @return string
    */
diff --git a/civicrm/CRM/Core/Payment/PayPalImpl.php b/civicrm/CRM/Core/Payment/PayPalImpl.php
index fbec70ca29961ed77d8c730ff4e49f9fcdd5bdc1..6d854859c0e2079c1039266db64cd5fc12b7ffce 100644
--- a/civicrm/CRM/Core/Payment/PayPalImpl.php
+++ b/civicrm/CRM/Core/Payment/PayPalImpl.php
@@ -695,7 +695,7 @@ class CRM_Core_Payment_PayPalImpl extends CRM_Core_Payment {
    * Get url for users to manage this recurring contribution for this processor.
    *
    * @param int $entityID
-   * @param null $entity
+   * @param string|null $entity
    * @param string $action
    *
    * @return string|null
diff --git a/civicrm/CRM/Core/Permission.php b/civicrm/CRM/Core/Permission.php
index 256efae2084c1bd281520f1836d43cdaed5aab6a..8645a836847d38f456b430eee0396cc7bba6bfff 100644
--- a/civicrm/CRM/Core/Permission.php
+++ b/civicrm/CRM/Core/Permission.php
@@ -255,7 +255,7 @@ class CRM_Core_Permission {
 
   /**
    * @param int $type
-   * @param null $prefix
+   * @param string|null $prefix
    * @param bool $reset
    *
    * @return string
@@ -335,7 +335,7 @@ class CRM_Core_Permission {
 
   /**
    * @param int $type
-   * @param null $prefix
+   * @param string $prefix
    * @param bool $returnUFGroupIds
    *
    * @return array|string
@@ -423,9 +423,7 @@ class CRM_Core_Permission {
    *   Access to specified $module is granted.
    */
   public static function access($module, $checkPermission = TRUE, $requireAllCasesPermOnCiviCase = FALSE) {
-    $config = CRM_Core_Config::singleton();
-
-    if (!in_array($module, $config->enableComponents)) {
+    if (!CRM_Core_Component::isEnabled($module)) {
       return FALSE;
     }
 
@@ -752,6 +750,14 @@ class CRM_Core_Permission {
       'administer reserved tags' => [
         $prefix . ts('administer reserved tags'),
       ],
+      'administer queues' => [
+        $prefix . ts('administer queues'),
+        ts('Initialize, browse, and cancel background processing queues'),
+        // At time of writing, we have specifically omitted the ability to edit fine-grained
+        // data about specific queue-tasks. Tasks are usually defined as PHP callables...
+        // and one should hesitate before allowing open-ended edits of PHP callables.
+        // However, it seems fine for web-admins to browse and cancel these things.
+      ],
       'administer dedupe rules' => [
         $prefix . ts('administer dedupe rules'),
         ts('Create and edit rules, change the supervised and unsupervised rules'),
diff --git a/civicrm/CRM/Core/Reference/Basic.php b/civicrm/CRM/Core/Reference/Basic.php
index 4e54a1b77df39c9cc5db022b5264e1c15cec438b..ab2c3098483dd273cfc6a3afba2ae1169987f4ec 100644
--- a/civicrm/CRM/Core/Reference/Basic.php
+++ b/civicrm/CRM/Core/Reference/Basic.php
@@ -13,11 +13,11 @@ class CRM_Core_Reference_Basic implements CRM_Core_Reference_Interface {
   protected $targetKey;
 
   /**
-   * @param $refTable
-   * @param $refKey
+   * @param string $refTable
+   * @param string $refKey
    * @param string $targetTable
    * @param string $targetKey
-   * @param null $refTypeColumn
+   * @param string|null $refTypeColumn
    */
   public function __construct($refTable, $refKey, $targetTable = NULL, $targetKey = 'id', $refTypeColumn = NULL) {
     $this->refTable = $refTable;
@@ -28,28 +28,28 @@ class CRM_Core_Reference_Basic implements CRM_Core_Reference_Interface {
   }
 
   /**
-   * @return mixed
+   * @return string
    */
   public function getReferenceTable() {
     return $this->refTable;
   }
 
   /**
-   * @return mixed
+   * @return string
    */
   public function getReferenceKey() {
     return $this->refKey;
   }
 
   /**
-   * @return null
+   * @return string|null
    */
   public function getTypeColumn() {
     return $this->refTypeColumn;
   }
 
   /**
-   * @return null
+   * @return string
    */
   public function getTargetTable() {
     return $this->targetTable;
diff --git a/civicrm/CRM/Core/Report/Excel.php b/civicrm/CRM/Core/Report/Excel.php
index ef1c396e0c25471ecd181eed686835f27f234bfe..fece14e2d82b0f6e39423b115b81927c69380d1e 100644
--- a/civicrm/CRM/Core/Report/Excel.php
+++ b/civicrm/CRM/Core/Report/Excel.php
@@ -109,8 +109,8 @@ class CRM_Core_Report_Excel {
 
   /**
    * @param string $fileName
-   * @param $header
-   * @param $rows
+   * @param string[] $header
+   * @param array[] $rows
    * @param null $titleHeader
    * @param bool $outputHeader
    */
diff --git a/civicrm/CRM/Core/Resources.php b/civicrm/CRM/Core/Resources.php
index 0e4485c6adfd69929689a821860bab88b93918e3..6945376e6120e76d07d63190ef7cbc3ca1b86ee1 100644
--- a/civicrm/CRM/Core/Resources.php
+++ b/civicrm/CRM/Core/Resources.php
@@ -496,27 +496,16 @@ class CRM_Core_Resources implements CRM_Core_Resources_CollectionAdderInterface
    *
    * @return array
    */
-  public static function getEntityRefMetadata() {
+  protected static function getEntityRefMetadata() {
     $data = [
       'filters' => [],
       'links' => [],
     ];
-    $config = CRM_Core_Config::singleton();
-
-    $disabledComponents = [];
-    $dao = CRM_Core_DAO::executeQuery("SELECT name, namespace FROM civicrm_component");
-    while ($dao->fetch()) {
-      if (!in_array($dao->name, $config->enableComponents)) {
-        $disabledComponents[$dao->name] = $dao->namespace;
-      }
-    }
 
     foreach (CRM_Core_DAO_AllCoreTables::daoToClass() as $entity => $daoName) {
       // Skip DAOs of disabled components
-      foreach ($disabledComponents as $nameSpace) {
-        if (strpos($daoName, $nameSpace) === 0) {
-          continue 2;
-        }
+      if (defined("$daoName::COMPONENT") && !CRM_Core_Component::isEnabled($daoName::COMPONENT)) {
+        continue;
       }
       $baoName = str_replace('_DAO_', '_BAO_', $daoName);
       if (class_exists($baoName)) {
@@ -580,7 +569,7 @@ class CRM_Core_Resources implements CRM_Core_Resources_CollectionAdderInterface
   }
 
   /**
-   * @param string|NULL $region
+   * @param string|null $region
    *   Optional request for a specific region. If NULL/omitted, use global default.
    * @return \CRM_Core_Region
    */
diff --git a/civicrm/CRM/Core/Resources/Bundle.php b/civicrm/CRM/Core/Resources/Bundle.php
index 3c1124f54cfc56fad6c77a9009d69d4aff16fdd0..5bc3252076ef8485bd80e1c4ff547e461ec0e237 100644
--- a/civicrm/CRM/Core/Resources/Bundle.php
+++ b/civicrm/CRM/Core/Resources/Bundle.php
@@ -29,8 +29,8 @@ class CRM_Core_Resources_Bundle implements CRM_Core_Resources_CollectionInterfac
   public $name;
 
   /**
-   * @param string|NULL $name
-   * @param string[]|NULL $types
+   * @param string|null $name
+   * @param string[]|null $types
    *   List of resource-types to permit in this bundle. NULL for a default list.
    *   Ex: ['styleFile', 'styleUrl']
    *   The following aliases are allowed: '*all*', '*default*', '*script*', '*style*'
diff --git a/civicrm/CRM/Core/Resources/Common.php b/civicrm/CRM/Core/Resources/Common.php
index 68b2704632df110308624e698787b2e5142fd60d..d62b096a911ebeef10a536c8bb258f679685651e 100644
--- a/civicrm/CRM/Core/Resources/Common.php
+++ b/civicrm/CRM/Core/Resources/Common.php
@@ -26,7 +26,7 @@ class CRM_Core_Resources_Common {
    *
    * @param string $name
    *   Symbolic name of the bundle.
-   * @param callable|NULL $init
+   * @param callable|null $init
    *   Optional initialization function. Populate default resources.
    *   Signature: `function($bundle): void`
    *   Example: `function myinit($b) { $b->addScriptFile(...)->addStyleFile(...); }`
diff --git a/civicrm/CRM/Core/SelectValues.php b/civicrm/CRM/Core/SelectValues.php
index 4dbdc153c974e181b5fc868635819fe11c65f3dc..c15c14f66283e3bbb3046c7f74efe8c246eab26b 100644
--- a/civicrm/CRM/Core/SelectValues.php
+++ b/civicrm/CRM/Core/SelectValues.php
@@ -1037,7 +1037,7 @@ class CRM_Core_SelectValues {
     ];
     $custom = civicrm_api3('CustomField', 'get', [
       'return' => ['name', 'label', 'custom_group_id.title'],
-      'custom_group_id.extends' => ['IN' => ['Contact', 'Individual', 'Organization', 'Household']],
+      'custom_group_id.extends' => ['IN' => array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes())],
       'data_type' => ['NOT IN' => ['ContactReference', 'Date', 'File']],
       'custom_group_id.is_active' => 1,
       'is_active' => 1,
@@ -1111,4 +1111,22 @@ class CRM_Core_SelectValues {
     ];
   }
 
+  public static function timezone() {
+    $tzlist = &Civi::$statics[__CLASS__]['tzlist'];
+
+    if (is_null($tzlist)) {
+      $tzlist = [];
+      foreach (timezone_identifiers_list() as $tz) {
+        // Actual timezone keys for PHP are mapped to human parts.
+        $tzlist[$tz] = str_replace('_', ' ', $tz);
+      }
+
+      // Add 'Etc/UTC' specially, as timezone_identifiers_list() does
+      // not include it, but it is the IANA long name for 'UTC'
+      $tzlist['Etc/UTC'] = ts('Etc/UTC');
+    }
+
+    return $tzlist;
+  }
+
 }
diff --git a/civicrm/CRM/Core/Selector/Controller.php b/civicrm/CRM/Core/Selector/Controller.php
index 66dd528f0bb9cd76784f544fe32c78b048170b99..05e1e09a906d2273450bd6d4430b2947cd05fe23 100644
--- a/civicrm/CRM/Core/Selector/Controller.php
+++ b/civicrm/CRM/Core/Selector/Controller.php
@@ -110,7 +110,9 @@ class CRM_Core_Selector_Controller {
    * Are we in print mode? if so we need to modify the display
    * functionality to do a minimal display :)
    *
-   * @var bool
+   * @var int|string
+   *   Should match a CRM_Core_Smarty::PRINT_* constant,
+   *   or equal 0 if not in print mode
    */
   protected $_print = FALSE;
 
@@ -516,7 +518,9 @@ class CRM_Core_Selector_Controller {
   /**
    * Setter for print.
    *
-   * @param bool $print
+   * @param int|string $print
+   *   Should match a CRM_Core_Smarty::PRINT_* constant,
+   *   or equal 0 if not in print mode
    *
    * @return void
    */
@@ -527,8 +531,9 @@ class CRM_Core_Selector_Controller {
   /**
    * Getter for print.
    *
-   * @return bool
-   *   return the print value
+   * @return int|string
+   *   Value matching a CRM_Core_Smarty::PRINT_* constant,
+   *   or 0 if not in print mode
    */
   public function getPrint() {
     return $this->_print;
diff --git a/civicrm/CRM/Core/ShowHideBlocks.php b/civicrm/CRM/Core/ShowHideBlocks.php
index 9166682c09b72dcd933b4a65917e86b285f97288..8c490ac43a68f18d701b2da0860a686fd2a61c48 100644
--- a/civicrm/CRM/Core/ShowHideBlocks.php
+++ b/civicrm/CRM/Core/ShowHideBlocks.php
@@ -33,9 +33,9 @@ class CRM_Core_ShowHideBlocks {
   /**
    * Class constructor.
    *
-   * @param array $show
+   * @param array|null $show
    *   Initial value of show array.
-   * @param array $hide
+   * @param array|null $hide
    *   Initial value of hide array.
    *
    * @return \CRM_Core_ShowHideBlocks the newly created object
diff --git a/civicrm/CRM/Core/Smarty.php b/civicrm/CRM/Core/Smarty.php
index 49a40a4fe3ff0a7941dc53ac06918adadbe7c604..bcd9c69d91bddd7e9aa8cce5f5d4d1e6f94c0805 100644
--- a/civicrm/CRM/Core/Smarty.php
+++ b/civicrm/CRM/Core/Smarty.php
@@ -63,15 +63,6 @@ class CRM_Core_Smarty extends Smarty {
    */
   private $backupFrames = [];
 
-  /**
-   * Class constructor.
-   *
-   * @return CRM_Core_Smarty
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   private function initialize() {
     $config = CRM_Core_Config::singleton();
 
diff --git a/civicrm/CRM/Core/Smarty/Permissions.php b/civicrm/CRM/Core/Smarty/Permissions.php
index 47229be3949a6c938714f95630649cc061c9ca43..a058ad4fc3d84b155371036652a509a759d98f52 100644
--- a/civicrm/CRM/Core/Smarty/Permissions.php
+++ b/civicrm/CRM/Core/Smarty/Permissions.php
@@ -7,7 +7,7 @@ class CRM_Core_Smarty_Permissions {
 
   /**
    * non-static adapter for CRM_Core_Permission::check
-   * @param $offset
+   * @param string|array $offset
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Core/Smarty/plugins/modifier.print_array.php b/civicrm/CRM/Core/Smarty/plugins/modifier.print_array.php
index 8ec0cc4035c4ad5d0c689a74252ecb58f7621193..1d1b63a6c72165a65d82104f7e73bc38759d2073 100644
--- a/civicrm/CRM/Core/Smarty/plugins/modifier.print_array.php
+++ b/civicrm/CRM/Core/Smarty/plugins/modifier.print_array.php
@@ -23,8 +23,8 @@
  * Purpose:  formats array for output in DAO files and in APIv3 Examples
  * To find where this is used do a grep in Smarty templates for |@print_array
  * @param array|object $var
- * @param integer $depth
- * @param integer $length
+ * @param int $depth
+ * @param int $length
  * @return string
  */
 function smarty_modifier_print_array($var, $depth = 0, $length = 40) {
diff --git a/civicrm/CRM/Core/Transaction.php b/civicrm/CRM/Core/Transaction.php
index f12c57964a0182daa7438f8a366e04dd886b9908..23c6500bdc898665b3d5aa2d6bc3ca2d44cbfe65 100644
--- a/civicrm/CRM/Core/Transaction.php
+++ b/civicrm/CRM/Core/Transaction.php
@@ -223,12 +223,12 @@ class CRM_Core_Transaction {
    *
    * @param int $phase
    *   A constant; one of: self::PHASE_{PRE,POST}_{COMMIT,ROLLBACK}.
-   * @param string $callback
+   * @param callable $callback
    *   A PHP callback.
    * @param mixed $params
    *   Optional values to pass to callback.
    *          See php manual call_user_func_array for details.
-   * @param int $id
+   * @param string|int|null $id
    */
   public static function addCallback($phase, $callback, $params = NULL, $id = NULL) {
     $frame = \Civi\Core\Transaction\Manager::singleton()->getBaseFrame();
diff --git a/civicrm/CRM/Core/xml/Menu/Admin.xml b/civicrm/CRM/Core/xml/Menu/Admin.xml
index be6af284ad0b382e71ea55ff732d9efc22db84ca..596018228addb6c86791eee51003e92414f3ba84 100644
--- a/civicrm/CRM/Core/xml/Menu/Admin.xml
+++ b/civicrm/CRM/Core/xml/Menu/Admin.xml
@@ -10,6 +10,21 @@
      <access_arguments>administer CiviCRM data</access_arguments>
      <weight>10</weight>
   </item>
+  <item>
+     <path>civicrm/admin/custom/group/edit</path>
+     <title>Configure Custom Set</title>
+     <page_callback>CRM_Custom_Form_Group</page_callback>
+  </item>
+  <item>
+     <path>civicrm/admin/custom/group/preview</path>
+     <title>Custom Field Preview</title>
+     <page_callback>CRM_Custom_Form_Preview</page_callback>
+  </item>
+  <item>
+     <path>civicrm/admin/custom/group/delete</path>
+     <title>Delete Custom Set</title>
+     <page_callback>CRM_Custom_Form_DeleteGroup</page_callback>
+  </item>
   <item>
      <path>civicrm/admin/custom/group/field</path>
      <title>Custom Data Fields</title>
@@ -17,6 +32,11 @@
      <skipBreadcrumb>true</skipBreadcrumb>
      <weight>11</weight>
   </item>
+  <item>
+    <path>civicrm/admin/custom/group/field/delete</path>
+    <title>Delete Custom Field</title>
+    <page_callback>CRM_Custom_Form_DeleteField</page_callback>
+  </item>
   <item>
      <path>civicrm/admin/custom/group/field/option</path>
      <title>Custom Field - Options</title>
diff --git a/civicrm/CRM/Custom/Form/DeleteField.php b/civicrm/CRM/Custom/Form/DeleteField.php
index 993ed6138e86a128a27dafcca1a729339ad8421f..7793b9ac3953054377b6c67bee21ae4fc0379174 100644
--- a/civicrm/CRM/Custom/Form/DeleteField.php
+++ b/civicrm/CRM/Custom/Form/DeleteField.php
@@ -41,7 +41,7 @@ class CRM_Custom_Form_DeleteField extends CRM_Core_Form {
    * @access protected
    */
   public function preProcess() {
-    $this->_id = $this->get('id');
+    $this->_id = CRM_Utils_Request::retrieve('id', 'Positive', $this, TRUE);
 
     $defaults = [];
     $params = ['id' => $this->_id];
diff --git a/civicrm/CRM/Custom/Form/DeleteGroup.php b/civicrm/CRM/Custom/Form/DeleteGroup.php
index d3b9169fb02b28f23c3345f622e38e0ce3412d2c..1fed29e919ce7be5faa53b40d85ddcd8edd0a244 100644
--- a/civicrm/CRM/Custom/Form/DeleteGroup.php
+++ b/civicrm/CRM/Custom/Form/DeleteGroup.php
@@ -41,7 +41,7 @@ class CRM_Custom_Form_DeleteGroup extends CRM_Core_Form {
    * @access protected
    */
   public function preProcess() {
-    $this->_id = $this->get('id');
+    $this->_id = CRM_Utils_Request::retrieve('id', 'Positive', $this, TRUE);
 
     $defaults = [];
     $params = ['id' => $this->_id];
diff --git a/civicrm/CRM/Custom/Form/Field.php b/civicrm/CRM/Custom/Form/Field.php
index d766c9248d1edc6dcbf10e6c239340bc1ab4dfcc..3a4db3b7e55442941c985c26d498c09f65bc011f 100644
--- a/civicrm/CRM/Custom/Form/Field.php
+++ b/civicrm/CRM/Custom/Form/Field.php
@@ -78,8 +78,8 @@ class CRM_Custom_Form_Field extends CRM_Core_Form {
    * @return void
    */
   public function preProcess() {
-    //custom field id
     $this->_id = CRM_Utils_Request::retrieve('id', 'Positive', $this);
+    $this->setAction($this->_id ? CRM_Core_Action::UPDATE : CRM_Core_Action::ADD);
 
     $this->assign('dataToHTML', self::$_dataToHTML);
 
@@ -97,13 +97,13 @@ class CRM_Custom_Form_Field extends CRM_Core_Form {
       $this->_gid = CRM_Utils_Request::retrieve('gid', 'Positive', $this);
     }
 
-    if ($isReserved = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_gid, 'is_reserved', 'id')) {
+    if (CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_gid, 'is_reserved')) {
       CRM_Core_Error::statusBounce("You cannot add or edit fields in a reserved custom field-set.");
     }
 
     if ($this->_gid) {
       $url = CRM_Utils_System::url('civicrm/admin/custom/group/field',
-        "reset=1&action=browse&gid={$this->_gid}"
+        "reset=1&gid={$this->_gid}"
       );
 
       $session = CRM_Core_Session::singleton();
@@ -192,8 +192,8 @@ class CRM_Custom_Form_Field extends CRM_Core_Form {
     if ($this->_gid) {
       $this->_title = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_gid, 'title');
       $this->setTitle($this->_title . ' - ' . ($this->_id ? ts('Edit Field') : ts('New Field')));
-      $this->assign('gid', $this->_gid);
     }
+    $this->assign('gid', $this->_gid);
 
     // lets trim all the whitespace
     $this->applyFilter('__ALL__', 'trim');
@@ -300,7 +300,7 @@ class CRM_Custom_Form_Field extends CRM_Core_Form {
 
     // form fields of Custom Option rows
     $defaultOption = [];
-    $_showHide = new CRM_Core_ShowHideBlocks('', '');
+    $_showHide = new CRM_Core_ShowHideBlocks();
     for ($i = 1; $i <= self::NUM_OPTION; $i++) {
 
       //the show hide blocks
@@ -476,7 +476,7 @@ class CRM_Custom_Form_Field extends CRM_Core_Form {
     // if view mode pls freeze it with the done button.
     if ($this->_action & CRM_Core_Action::VIEW) {
       $this->freeze();
-      $url = CRM_Utils_System::url('civicrm/admin/custom/group/field', 'reset=1&action=browse&gid=' . $this->_gid);
+      $url = CRM_Utils_System::url('civicrm/admin/custom/group/field', 'reset=1&gid=' . $this->_gid);
       $this->addElement('xbutton',
         'done',
         ts('Done'),
@@ -495,7 +495,7 @@ class CRM_Custom_Form_Field extends CRM_Core_Form {
    *   Posted values of the form.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   if errors then list of errors to be posted back to the form,
@@ -626,7 +626,7 @@ SELECT count(*)
      *  Incomplete row checking is also required.
      */
     $_flagOption = $_rowError = 0;
-    $_showHide = new CRM_Core_ShowHideBlocks('', '');
+    $_showHide = new CRM_Core_ShowHideBlocks();
     $htmlType = $fields['html_type'];
 
     if (isset($fields['option_type']) && $fields['option_type'] == 1) {
@@ -892,12 +892,12 @@ AND    option_group_id = %2";
     if ($buttonName == $this->getButtonName('next', 'new')) {
       $msg .= '<p>' . ts("Ready to add another.") . '</p>';
       $session->replaceUserContext(CRM_Utils_System::url('civicrm/admin/custom/group/field/add',
-        'reset=1&action=add&gid=' . $this->_gid
+        'reset=1&gid=' . $this->_gid
       ));
     }
     else {
       $session->replaceUserContext(CRM_Utils_System::url('civicrm/admin/custom/group/field',
-        'reset=1&action=browse&gid=' . $this->_gid
+        'reset=1&gid=' . $this->_gid
       ));
     }
     $session->setStatus($msg, ts('Saved'), 'success');
diff --git a/civicrm/CRM/Custom/Form/Group.php b/civicrm/CRM/Custom/Form/Group.php
index 1d9db272edb643bcce1e94e2aaa9f433b4e6e228..46dde5f9b2182aa065f8f82bf8be4ec08851f807 100644
--- a/civicrm/CRM/Custom/Form/Group.php
+++ b/civicrm/CRM/Custom/Form/Group.php
@@ -51,25 +51,16 @@ class CRM_Custom_Form_Group extends CRM_Core_Form {
     Civi::resources()->addScriptFile('civicrm', 'js/jquery/jquery.crmIconPicker.js');
 
     // current set id
-    $this->_id = $this->get('id');
+    $this->_id = CRM_Utils_Request::retrieve('id', 'Positive', $this);
+    $this->setAction($this->_id ? CRM_Core_Action::UPDATE : CRM_Core_Action::ADD);
 
-    if ($this->_id && $isReserved = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_id, 'is_reserved', 'id')) {
+    if ($this->_id && CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_id, 'is_reserved', 'id')) {
       CRM_Core_Error::statusBounce("You cannot edit the settings of a reserved custom field-set.");
     }
-    // setting title for html page
-    if ($this->_action == CRM_Core_Action::UPDATE) {
+
+    if ($this->_id) {
       $title = CRM_Core_BAO_CustomGroup::getTitle($this->_id);
       $this->setTitle(ts('Edit %1', [1 => $title]));
-    }
-    elseif ($this->_action == CRM_Core_Action::VIEW) {
-      $title = CRM_Core_BAO_CustomGroup::getTitle($this->_id);
-      $this->setTitle(ts('Preview %1', [1 => $title]));
-    }
-    else {
-      $this->setTitle(ts('New Custom Field Set'));
-    }
-
-    if (isset($this->_id)) {
       $params = ['id' => $this->_id];
       CRM_Core_BAO_CustomGroup::retrieve($params, $this->_defaults);
 
@@ -78,6 +69,9 @@ class CRM_Custom_Form_Group extends CRM_Core_Form {
         $this->_subtypes = explode(CRM_Core_DAO::VALUE_SEPARATOR, substr($subExtends, 1, -1));
       }
     }
+    else {
+      $this->setTitle(ts('New Custom Field Set'));
+    }
   }
 
   /**
@@ -87,7 +81,7 @@ class CRM_Custom_Form_Group extends CRM_Core_Form {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    *
    * @return bool|array
@@ -172,7 +166,7 @@ class CRM_Custom_Form_Group extends CRM_Core_Form {
     $this->add('text', 'title', ts('Set Name'), $attributes['title'], TRUE);
 
     //Fix for code alignment, CRM-3058
-    $contactTypes = ['Contact', 'Individual', 'Household', 'Organization'];
+    $contactTypes = array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes());
     $this->assign('contactTypes', json_encode($contactTypes));
 
     $sel1 = ["" => ts("- select -")] + CRM_Core_SelectValues::customGroupExtends();
@@ -187,26 +181,13 @@ class CRM_Custom_Form_Group extends CRM_Core_Form {
       }
     }
 
-    $cSubTypes = CRM_Core_Component::contactSubTypes();
+    if (!isset($this->_id)) {
+      $formName = 'document.forms.' . $this->_name;
 
-    if (!empty($cSubTypes)) {
-      $contactSubTypes = [];
-      foreach ($cSubTypes as $key => $value) {
-        $contactSubTypes[$key] = $key;
-      }
-      $sel2['Contact'] = [
-        "" => ("- Any -"),
-      ] + $contactSubTypes;
-    }
-    else {
-      if (!isset($this->_id)) {
-        $formName = 'document.forms.' . $this->_name;
-
-        $js = "<script type='text/javascript'>\n";
-        $js .= "{$formName}['extends_1'].style.display = 'none';\n";
-        $js .= "</script>";
-        $this->assign('initHideBlocks', $js);
-      }
+      $js = "<script type='text/javascript'>\n";
+      $js .= "{$formName}['extends_1'].style.display = 'none';\n";
+      $js .= "</script>";
+      $this->assign('initHideBlocks', $js);
     }
 
     $sel = &$this->add('hierselect',
@@ -317,15 +298,6 @@ class CRM_Custom_Form_Group extends CRM_Core_Form {
       $buttons[0]['class'] = 'crm-warnDataLoss';
     }
     $this->addButtons($buttons);
-
-    // TODO: Is this condition ever true? Can this code be removed?
-    if ($this->_action & CRM_Core_Action::VIEW) {
-      $this->freeze();
-      $this->addElement('xbutton', 'done', ts('Done'), [
-        'type' => 'button',
-        'onclick' => "location.href='civicrm/admin/custom/group?reset=1&action=browse'",
-      ]);
-    }
   }
 
   /**
@@ -427,7 +399,7 @@ class CRM_Custom_Form_Group extends CRM_Core_Form {
     else {
       // Jump directly to adding a field if popups are disabled
       $action = CRM_Core_Resources::singleton()->ajaxPopupsEnabled ? '' : '/add';
-      $url = CRM_Utils_System::url("civicrm/admin/custom/group/field$action", 'reset=1&new=1&gid=' . $group['id'] . '&action=' . ($action ? 'add' : 'browse'));
+      $url = CRM_Utils_System::url("civicrm/admin/custom/group/field$action", 'reset=1&new=1&gid=' . $group['id']);
       CRM_Core_Session::setStatus(ts("Your custom field set '%1' has been added. You can add custom fields now.",
         [1 => $group['title']]
       ), ts('Saved'), 'success');
diff --git a/civicrm/CRM/Custom/Form/MoveField.php b/civicrm/CRM/Custom/Form/MoveField.php
index 0dcd317734c7f55e45bc40189a30c0c153f96764..59d2af4eb97f1512fe4f78c30fb413b315dc1f65 100644
--- a/civicrm/CRM/Custom/Form/MoveField.php
+++ b/civicrm/CRM/Custom/Form/MoveField.php
@@ -125,7 +125,7 @@ class CRM_Custom_Form_MoveField extends CRM_Core_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array|bool
    */
diff --git a/civicrm/CRM/Custom/Form/Preview.php b/civicrm/CRM/Custom/Form/Preview.php
index 102712d94d0d87a49d8f44c4885e6a67c5a7ab5a..7d59ba18282ffc8c360b8506310dd1fb2d62436c 100644
--- a/civicrm/CRM/Custom/Form/Preview.php
+++ b/civicrm/CRM/Custom/Form/Preview.php
@@ -25,6 +25,16 @@
  */
 class CRM_Custom_Form_Preview extends CRM_Core_Form {
 
+  /**
+   * @var int
+   */
+  protected $_groupId;
+
+  /**
+   * @var int
+   */
+  protected $_fieldId;
+
   /**
    * The group tree data.
    *
@@ -40,15 +50,15 @@ class CRM_Custom_Form_Preview extends CRM_Core_Form {
    * @return void
    */
   public function preProcess() {
-    // get the controller vars
-    $this->_groupId = $this->get('groupId');
-    $this->_fieldId = $this->get('fieldId');
+    // Get field id if previewing a single field
+    $this->_fieldId = CRM_Utils_Request::retrieve('fid', 'Positive', $this);
+
+    // Single field preview
     if ($this->_fieldId) {
-      // field preview
       $defaults = [];
       $params = ['id' => $this->_fieldId];
-      $fieldDAO = new CRM_Core_DAO_CustomField();
       CRM_Core_DAO::commonRetrieve('CRM_Core_DAO_CustomField', $params, $defaults);
+      $this->_groupId = $defaults['custom_group_id'];
 
       if (!empty($defaults['is_view'])) {
         CRM_Core_Error::statusBounce(ts('This field is view only so it will not display on edit form.'));
@@ -64,7 +74,9 @@ class CRM_Custom_Form_Preview extends CRM_Core_Form {
       $this->_groupTree = CRM_Core_BAO_CustomGroup::formatGroupTree($groupTree, 1, $this);
       $this->assign('preview_type', 'field');
     }
+    // Group preview
     else {
+      $this->_groupId = CRM_Utils_Request::retrieve('gid', 'Positive', $this, TRUE);
       $groupTree = CRM_Core_BAO_CustomGroup::getGroupDetail($this->_groupId);
       $this->_groupTree = CRM_Core_BAO_CustomGroup::formatGroupTree($groupTree, TRUE, $this);
       $this->assign('preview_type', 'group');
diff --git a/civicrm/CRM/Custom/Import/Parser/Api.php b/civicrm/CRM/Custom/Import/Parser/Api.php
index bff037f88fd9d8d637e60718e61ff500e5a5eddf..28320ca624cd7008bbc0769e17c0c859c8ddcbfc 100644
--- a/civicrm/CRM/Custom/Import/Parser/Api.php
+++ b/civicrm/CRM/Custom/Import/Parser/Api.php
@@ -195,7 +195,7 @@ class CRM_Custom_Import_Parser_Api extends CRM_Custom_Import_Parser {
    * @param array $formatted
    *   Array of formatted data.
    */
-  public function formatCommonData($params, &$formatted) {
+  private function formatCommonData($params, &$formatted) {
 
     $customFields = CRM_Core_BAO_CustomField::getFields(NULL);
 
diff --git a/civicrm/CRM/Custom/Page/Field.php b/civicrm/CRM/Custom/Page/Field.php
index 58c44f752546f667042048b895c473cd09e01fad..b11cd85b188aea9bfd94db4c8a1daab3157cafd6 100644
--- a/civicrm/CRM/Custom/Page/Field.php
+++ b/civicrm/CRM/Custom/Page/Field.php
@@ -64,8 +64,8 @@ class CRM_Custom_Page_Field extends CRM_Core_Page {
         ],
         CRM_Core_Action::PREVIEW => [
           'name' => ts('Preview Field Display'),
-          'url' => 'civicrm/admin/custom/group/field',
-          'qs' => 'action=preview&reset=1&gid=%%gid%%&id=%%id%%',
+          'url' => 'civicrm/admin/custom/group/preview',
+          'qs' => 'action=preview&reset=1&fid=%%id%%',
           'title' => ts('Preview Custom Field'),
         ],
         CRM_Core_Action::DISABLE => [
@@ -87,8 +87,8 @@ class CRM_Custom_Page_Field extends CRM_Core_Page {
         ],
         CRM_Core_Action::DELETE => [
           'name' => ts('Delete'),
-          'url' => 'civicrm/admin/custom/group/field',
-          'qs' => 'action=delete&reset=1&gid=%%gid%%&id=%%id%%',
+          'url' => 'civicrm/admin/custom/group/field/delete',
+          'qs' => 'reset=1&id=%%id%%',
           'title' => ts('Delete Custom Field'),
         ],
       ];
@@ -174,30 +174,6 @@ class CRM_Custom_Page_Field extends CRM_Core_Page {
     $this->assign('customField', $customField);
   }
 
-  /**
-   * Edit custom data.
-   *
-   * editing would involved modifying existing fields + adding data to new fields.
-   *
-   * @param string $action
-   *   The action to be invoked.
-   *
-   * @return void
-   */
-  public function edit($action) {
-    // create a simple controller for editing custom dataCRM/Custom/Page/Field.php
-    $controller = new CRM_Core_Controller_Simple('CRM_Custom_Form_Field', ts('Custom Field'), $action);
-
-    // set the userContext stack
-    $session = CRM_Core_Session::singleton();
-    $session->pushUserContext(CRM_Utils_System::url('civicrm/admin/custom/group/field', 'reset=1&action=browse&gid=' . $this->_gid));
-
-    $controller->set('gid', $this->_gid);
-    $controller->setEmbedded(TRUE);
-    $controller->process();
-    $controller->run();
-  }
-
   /**
    * Run the page.
    *
@@ -207,92 +183,22 @@ class CRM_Custom_Page_Field extends CRM_Core_Page {
    * @return void
    */
   public function run() {
+    $this->_gid = CRM_Utils_Request::retrieve('gid', 'Positive', $this, TRUE);
 
-    $id = CRM_Utils_Request::retrieve('id', 'Positive',
-      $this, FALSE, 0
-    );
-
-    if ($id) {
-      $values = civicrm_api3('custom_field', 'getsingle', ['id' => $id]);
-      $this->_gid = $values['custom_group_id'];
-    }
-    // get the group id
-    else {
-      $this->_gid = CRM_Utils_Request::retrieve('gid', 'Positive',
-        $this
-      );
-    }
-
-    if ($isReserved = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_gid, 'is_reserved', 'id')) {
+    if (CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_gid, 'is_reserved')) {
       CRM_Core_Error::statusBounce("You cannot add or edit fields in a reserved custom field-set.");
     }
 
-    $action = CRM_Utils_Request::retrieve('action', 'String',
-      // default to 'browse'
-      $this, FALSE, 'browse'
-    );
-
-    if ($action & CRM_Core_Action::DELETE) {
-
-      $session = CRM_Core_Session::singleton();
-      $session->pushUserContext(CRM_Utils_System::url('civicrm/admin/custom/group/field', 'reset=1&action=browse&gid=' . $this->_gid));
-      $controller = new CRM_Core_Controller_Simple('CRM_Custom_Form_DeleteField', "Delete Custom Field", '');
-      $id = CRM_Utils_Request::retrieve('id', 'Positive',
-        $this, FALSE, 0
-      );
-      $controller->set('id', $id);
-      $controller->setEmbedded(TRUE);
-      $controller->process();
-      $controller->run();
-      $fieldValues = ['custom_group_id' => $this->_gid];
-      $wt = CRM_Utils_Weight::delWeight('CRM_Core_DAO_CustomField', $id, $fieldValues);
-    }
-
-    if ($this->_gid) {
-      $groupTitle = CRM_Core_BAO_CustomGroup::getTitle($this->_gid);
-      $this->assign('gid', $this->_gid);
-      $this->assign('groupTitle', $groupTitle);
-      if ($action & CRM_Core_Action::BROWSE) {
-        CRM_Utils_System::setTitle(ts('%1 - Custom Fields', [1 => $groupTitle]));
-      }
-    }
+    $groupTitle = CRM_Core_BAO_CustomGroup::getTitle($this->_gid);
+    $this->assign('gid', $this->_gid);
+    $this->assign('groupTitle', $groupTitle);
 
     // assign vars to templates
-    $this->assign('action', $action);
+    $this->assign('action', 'browse');
 
-    // what action to take ?
-    if ($action & (CRM_Core_Action::UPDATE | CRM_Core_Action::ADD)) {
-      // no browse for edit/update/view
-      $this->edit($action);
-    }
-    elseif ($action & CRM_Core_Action::PREVIEW) {
-      $this->preview($id);
-    }
-    else {
-      $this->browse();
-    }
+    $this->browse();
 
-    // Call the parents run method
     return parent::run();
   }
 
-  /**
-   * Preview custom field.
-   *
-   * @param int $id
-   *   Custom field id.
-   *
-   * @return void
-   */
-  public function preview($id) {
-    $controller = new CRM_Core_Controller_Simple('CRM_Custom_Form_Preview', ts('Preview Custom Data'), CRM_Core_Action::PREVIEW);
-    $session = CRM_Core_Session::singleton();
-    $session->pushUserContext(CRM_Utils_System::url('civicrm/admin/custom/group/field', 'reset=1&action=browse&gid=' . $this->_gid));
-    $controller->set('fieldId', $id);
-    $controller->set('groupId', $this->_gid);
-    $controller->setEmbedded(TRUE);
-    $controller->process();
-    $controller->run();
-  }
-
 }
diff --git a/civicrm/CRM/Custom/Page/Group.php b/civicrm/CRM/Custom/Page/Group.php
index e462099b676481fe7c0655ac568fd066a94dad5e..919e5260e2a35d5b45a82405a1f012a5bcddd3b2 100644
--- a/civicrm/CRM/Custom/Page/Group.php
+++ b/civicrm/CRM/Custom/Page/Group.php
@@ -51,13 +51,13 @@ class CRM_Custom_Page_Group extends CRM_Core_Page {
         ],
         CRM_Core_Action::PREVIEW => [
           'name' => ts('Preview'),
-          'url' => 'civicrm/admin/custom/group',
-          'qs' => 'action=preview&reset=1&id=%%id%%',
+          'url' => 'civicrm/admin/custom/group/preview',
+          'qs' => 'reset=1&gid=%%id%%',
           'title' => ts('Preview Custom Data Set'),
         ],
         CRM_Core_Action::UPDATE => [
           'name' => ts('Settings'),
-          'url' => 'civicrm/admin/custom/group',
+          'url' => 'civicrm/admin/custom/group/edit',
           'qs' => 'action=update&reset=1&id=%%id%%',
           'title' => ts('Edit Custom Set'),
         ],
@@ -73,8 +73,8 @@ class CRM_Custom_Page_Group extends CRM_Core_Page {
         ],
         CRM_Core_Action::DELETE => [
           'name' => ts('Delete'),
-          'url' => 'civicrm/admin/custom/group',
-          'qs' => 'action=delete&reset=1&id=%%id%%',
+          'url' => 'civicrm/admin/custom/group/delete',
+          'qs' => 'reset=1&id=%%id%%',
           'title' => ts('Delete Custom Set'),
         ],
       ];
@@ -83,104 +83,17 @@ class CRM_Custom_Page_Group extends CRM_Core_Page {
   }
 
   /**
-   * Run the page.
-   *
-   * This method is called after the page is created. It checks for the
-   * type of action and executes that action.
-   * Finally it calls the parent's run method.
-   *
    * @return void
    */
   public function run() {
-    // get the requested action
-    $action = CRM_Utils_Request::retrieve('action', 'String',
-      // default to 'browse'
-      $this, FALSE, 'browse'
-    );
-
-    if ($action & CRM_Core_Action::DELETE) {
-      $session = CRM_Core_Session::singleton();
-      $session->pushUserContext(CRM_Utils_System::url('civicrm/admin/custom/group/', 'action=browse'));
-      $controller = new CRM_Core_Controller_Simple('CRM_Custom_Form_DeleteGroup', "Delete Cutom Set", NULL);
-      $id = CRM_Utils_Request::retrieve('id', 'Positive',
-        $this, FALSE, 0
-      );
-      $controller->set('id', $id);
-      $controller->setEmbedded(TRUE);
-      $controller->process();
-      $controller->run();
-    }
-    // assign vars to templates
-    $this->assign('action', $action);
-    $id = CRM_Utils_Request::retrieve('id', 'Positive',
-      $this, FALSE, 0
-    );
-
-    // what action to take ?
-    if ($action & (CRM_Core_Action::UPDATE | CRM_Core_Action::ADD)) {
-      $this->edit($id, $action);
-    }
-    elseif ($action & CRM_Core_Action::PREVIEW) {
-      $this->preview($id);
-    }
-    else {
-      // finally browse the custom groups
-      $this->browse();
-    }
-    // parent run
+    $this->browse();
     return parent::run();
   }
 
-  /**
-   * Edit custom group.
-   *
-   * @param int $id
-   *   Custom group id.
-   * @param string $action
-   *   The action to be invoked.
-   *
-   * @return void
-   */
-  public function edit($id, $action) {
-    // create a simple controller for editing custom data
-    $controller = new CRM_Core_Controller_Simple('CRM_Custom_Form_Group', ts('Custom Set'), $action);
-
-    // set the userContext stack
-    $session = CRM_Core_Session::singleton();
-    $session->pushUserContext(CRM_Utils_System::url('civicrm/admin/custom/group/', 'action=browse'));
-    $controller->set('id', $id);
-    $controller->setEmbedded(TRUE);
-    $controller->process();
-    $controller->run();
-  }
-
-  /**
-   * Preview custom group.
-   *
-   * @param int $id
-   *   Custom group id.
-   *
-   * @return void
-   */
-  public function preview($id) {
-    $controller = new CRM_Core_Controller_Simple('CRM_Custom_Form_Preview', ts('Preview Custom Data'), NULL);
-    $session = CRM_Core_Session::singleton();
-    $session->pushUserContext(CRM_Utils_System::url('civicrm/admin/custom/group', 'action=browse'));
-    $controller->set('groupId', $id);
-    $controller->setEmbedded(TRUE);
-    $controller->process();
-    $controller->run();
-  }
-
   /**
    * Browse all custom data groups.
-   *
-   * @param string $action
-   *   The action to be invoked.
-   *
-   * @return void
    */
-  public function browse($action = NULL) {
+  public function browse() {
     // get all custom groups sorted by weight
     $customGroup = [];
     $dao = new CRM_Core_DAO_CustomGroup();
@@ -254,14 +167,7 @@ class CRM_Custom_Page_Group extends CRM_Core_Page {
     }
 
     $subTypes['Relationship'] = $allRelationshipType;
-
-    $cSubTypes = CRM_Core_Component::contactSubTypes();
-    $contactSubTypes = [];
-    foreach ($cSubTypes as $key => $value) {
-      $contactSubTypes[$key] = $key;
-    }
-
-    $subTypes['Contact'] = $contactSubTypes;
+    $subTypes['Contact'] = [];
 
     CRM_Core_BAO_CustomGroup::getExtendedObjectTypes($subTypes);
 
@@ -307,7 +213,7 @@ class CRM_Custom_Page_Group extends CRM_Core_Page {
       }
     }
 
-    $returnURL = CRM_Utils_System::url('civicrm/admin/custom/group', "reset=1&action=browse");
+    $returnURL = CRM_Utils_System::url('civicrm/admin/custom/group');
     CRM_Utils_Weight::addOrder($customGroup, 'CRM_Core_DAO_CustomGroup',
       'id', $returnURL
     );
diff --git a/civicrm/CRM/Cxn/DAO/Cxn.php b/civicrm/CRM/Cxn/DAO/Cxn.php
index e5c70d9f7eaeea58be672aac5a244b3200e2595b..c347beef13238a9c9b7e9cb354ca5714c80f142a 100644
--- a/civicrm/CRM/Cxn/DAO/Cxn.php
+++ b/civicrm/CRM/Cxn/DAO/Cxn.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Cxn/Cxn.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:337dd2bb4d7df6fcf7d74813e2c45bd5)
+ * (GenCodeChecksum:ef4c2d6fa99ceb5d3b6cc29e78d80e42)
  */
 
 /**
@@ -33,77 +33,99 @@ class CRM_Cxn_DAO_Cxn extends CRM_Core_DAO {
   /**
    * Connection ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Application GUID
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $app_guid;
 
   /**
    * Application Metadata (JSON)
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $app_meta;
 
   /**
    * Connection GUID
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cxn_guid;
 
   /**
    * Shared secret
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $secret;
 
   /**
    * Permissions approved for the service (JSON)
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $perm;
 
   /**
    * Options for the service (JSON)
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $options;
 
   /**
    * Is connection currently enabled?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * When was the connection was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When the connection was created or modified.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
   /**
    * The last time the application metadata was fetched.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fetched_date;
 
diff --git a/civicrm/CRM/Dashlet/Page/Blog.php b/civicrm/CRM/Dashlet/Page/Blog.php
index 6c8cd4e7ac95d37f17e1dc705a9344c053badcf7..011e140a0500f0771e456a5caea2ddcc7da3e549 100644
--- a/civicrm/CRM/Dashlet/Page/Blog.php
+++ b/civicrm/CRM/Dashlet/Page/Blog.php
@@ -86,7 +86,7 @@ class CRM_Dashlet_Page_Blog extends CRM_Core_Page {
   /**
    * Parse a single rss feed.
    *
-   * @param $url
+   * @param string $url
    *
    * @return array|NULL
    *   array of blog items; or NULL if not available
diff --git a/civicrm/CRM/Dashlet/Page/GettingStarted.php b/civicrm/CRM/Dashlet/Page/GettingStarted.php
index c032301c7aafeb3ec3e947c1c9b0627860a02a0b..69503748cc2ec5eb73a1f95b9f60ef4d18cbe528 100644
--- a/civicrm/CRM/Dashlet/Page/GettingStarted.php
+++ b/civicrm/CRM/Dashlet/Page/GettingStarted.php
@@ -88,7 +88,7 @@ class CRM_Dashlet_Page_GettingStarted extends CRM_Core_Page {
   /**
    * Get html.
    *
-   * @param $url
+   * @param string $url
    *
    * @return array|NULL
    *   array of gettingStarted items; or NULL if not available
diff --git a/civicrm/CRM/Dedupe/DAO/DedupeException.php b/civicrm/CRM/Dedupe/DAO/DedupeException.php
index b1a96bab878dcf968d31fb9c2b2e2b4890ca5a18..2679f8349fabc8fc5be36ee84de0d2ab91711cad 100644
--- a/civicrm/CRM/Dedupe/DAO/DedupeException.php
+++ b/civicrm/CRM/Dedupe/DAO/DedupeException.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Dedupe/DedupeException.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:52d33f10e1ffb90a32f65a9fa73ac9b3)
+ * (GenCodeChecksum:b949a5127501b9db455542caf6b3ffa2)
  */
 
 /**
@@ -33,21 +33,27 @@ class CRM_Dedupe_DAO_DedupeException extends CRM_Core_DAO {
   /**
    * Unique dedupe exception id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id1;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id2;
 
diff --git a/civicrm/CRM/Dedupe/DAO/DedupeRule.php b/civicrm/CRM/Dedupe/DAO/DedupeRule.php
index b876fe3629b0c2b8341be3a9196bfeb99e80bb8b..172f3ca1ee00a616f97266d09488fc278d8cd130 100644
--- a/civicrm/CRM/Dedupe/DAO/DedupeRule.php
+++ b/civicrm/CRM/Dedupe/DAO/DedupeRule.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Dedupe/DedupeRule.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:be34a32d6749dbd8caecac45f2086b61)
+ * (GenCodeChecksum:9b71195adc36b4f65fd3ec21cbe3100d)
  */
 
 /**
@@ -33,14 +33,18 @@ class CRM_Dedupe_DAO_DedupeRule extends CRM_Core_DAO {
   /**
    * Unique dedupe rule id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The id of the rule group this rule belongs to
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $dedupe_rule_group_id;
 
@@ -48,6 +52,8 @@ class CRM_Dedupe_DAO_DedupeRule extends CRM_Core_DAO {
    * The name of the table this rule is about
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $rule_table;
 
@@ -55,20 +61,26 @@ class CRM_Dedupe_DAO_DedupeRule extends CRM_Core_DAO {
    * The name of the field of the table referenced in rule_table
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $rule_field;
 
   /**
    * The length of the matching substring
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $rule_length;
 
   /**
    * The weight of the rule
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $rule_weight;
 
diff --git a/civicrm/CRM/Dedupe/DAO/DedupeRuleGroup.php b/civicrm/CRM/Dedupe/DAO/DedupeRuleGroup.php
index 14c9cc4d5d3d018a4c0135c92ae0121fda1ef1c1..434f259678da1669e4c707207e2b8603bbc93d93 100644
--- a/civicrm/CRM/Dedupe/DAO/DedupeRuleGroup.php
+++ b/civicrm/CRM/Dedupe/DAO/DedupeRuleGroup.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Dedupe/DedupeRuleGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:2168d89d281dc113ef6403af4dc39658)
+ * (GenCodeChecksum:66687eeebbe44a6fca675162a59edaa0)
  */
 
 /**
@@ -33,21 +33,27 @@ class CRM_Dedupe_DAO_DedupeRuleGroup extends CRM_Core_DAO {
   /**
    * Unique dedupe rule group id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The type of contacts this group applies to
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_type;
 
   /**
    * The weight threshold the sum of the rule weights has to cross to consider two contacts the same
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $threshold;
 
@@ -55,27 +61,35 @@ class CRM_Dedupe_DAO_DedupeRuleGroup extends CRM_Core_DAO {
    * Whether the rule should be used for cases where usage is Unsupervised, Supervised OR General(programatically)
    *
    * @var string
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $used;
 
   /**
    * Name of the rule group
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Label of the rule group
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Is this a reserved rule - a rule group that has been optimized and cannot be changed by the admin
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
diff --git a/civicrm/CRM/Dedupe/Merger.php b/civicrm/CRM/Dedupe/Merger.php
index 8e321713391491b1b4440cb8ef754a97b73aca02..152273f9926ea43e7b5ac6f79ed844558d5748eb 100644
--- a/civicrm/CRM/Dedupe/Merger.php
+++ b/civicrm/CRM/Dedupe/Merger.php
@@ -102,7 +102,7 @@ class CRM_Dedupe_Merger {
         'rel_table_custom_groups' => [
           'title' => ts('Custom Groups'),
           'tables' => ['civicrm_custom_group'],
-          'url' => CRM_Utils_System::url('civicrm/admin/custom/group', 'reset=1'),
+          'url' => CRM_Utils_System::url('civicrm/admin/custom/group'),
         ],
         'rel_table_uf_groups' => [
           'title' => ts('Profiles'),
@@ -607,7 +607,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
     foreach ($sqls as $sql) {
       CRM_Core_DAO::executeQuery($sql, [], TRUE, NULL, TRUE);
     }
-    CRM_Dedupe_Merger::addMembershipToRealtedContacts($mainId);
+    CRM_Dedupe_Merger::addMembershipToRelatedContacts($mainId);
   }
 
   /**
@@ -1093,7 +1093,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
    *
    * @param bool $checkPermissions
    *   Respect logged in user permissions.
-   * @param bool|NULL $reloadCacheIfEmpty
+   * @param bool|null $reloadCacheIfEmpty
    *  If not set explicitly this is calculated but it is preferred that it be set
    *  per comments on isSelected above.
    *
@@ -1917,7 +1917,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
    * @throws \CRM_Core_Exception
    * @throws \CiviCRM_API3_Exception
    */
-  public static function addMembershipToRealtedContacts($contactID) {
+  public static function addMembershipToRelatedContacts($contactID) {
     $dao = new CRM_Member_DAO_Membership();
     $dao->contact_id = $contactID;
     $dao->is_test = 0;
@@ -2625,7 +2625,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
   /**
    * Build up the location block for the contact in dedupe-screen display format.
    *
-   * @param integer $cid
+   * @param int $cid
    * @param array $blockInfo
    * @param string $blockName
    *
diff --git a/civicrm/CRM/Event/BAO/Event.php b/civicrm/CRM/Event/BAO/Event.php
index 1e7f4f75a4ff269315d05969e7cd7f44b075ed42..05353468aad4cfd3ec61e7d2e0b53057a4f72d16 100644
--- a/civicrm/CRM/Event/BAO/Event.php
+++ b/civicrm/CRM/Event/BAO/Event.php
@@ -15,13 +15,7 @@
  * @copyright CiviCRM LLC https://civicrm.org/licensing
  */
 class CRM_Event_BAO_Event extends CRM_Event_DAO_Event {
-
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
+  const tz_fields = ['event_start_date', 'event_end_date', 'start_date', 'end_date', 'registration_start_date', 'registration_end_date'];
 
   /**
    * Fetch object based on array of properties.
@@ -31,7 +25,7 @@ class CRM_Event_BAO_Event extends CRM_Event_DAO_Event {
    * @param array $defaults
    *   (reference ) an assoc array to hold the flattened values.
    *
-   * @return CRM_Event_DAO_Event
+   * @return CRM_Event_DAO_Event|null
    */
   public static function retrieve(&$params, &$defaults) {
     $event = new CRM_Event_DAO_Event();
@@ -786,6 +780,7 @@ SELECT
   civicrm_email.email as email,
   civicrm_event.title as title,
   civicrm_event.summary as summary,
+  civicrm_event.event_tz as event_tz,
   civicrm_event.start_date as start,
   civicrm_event.end_date as end,
   civicrm_event.description as description,
@@ -857,6 +852,7 @@ WHERE civicrm_event.is_active = 1
         $info['event_id'] = $dao->event_id;
         $info['summary'] = $dao->summary;
         $info['description'] = $dao->description;
+        $info['tz'] = $dao->event_tz ?? CRM_Core_Config::singleton()->userSystem->getTimeZoneString();
         $info['start_date'] = $dao->start;
         $info['end_date'] = $dao->end;
         $info['contact_email'] = $dao->email;
@@ -2364,7 +2360,7 @@ LEFT  JOIN  civicrm_price_field_value value ON ( value.id = lineItem.price_field
         // @todo - the component is enabled check should be done within getIncomeFinancialType
         // It looks to me like test cover was NOT added to cover the change
         // that added this so we need to assume there is no test cover
-        if (array_key_exists('CiviContribute', CRM_Core_Component::getEnabledComponents())) {
+        if (CRM_Core_Component::isEnabled('CiviContribute')) {
           return CRM_Financial_BAO_FinancialType::getIncomeFinancialType($props['check_permissions'] ?? TRUE);
         }
         return [];
@@ -2441,4 +2437,52 @@ LEFT  JOIN  civicrm_price_field_value value ON ( value.id = lineItem.price_field
     return $return;
   }
 
+  /**
+   * Changes timezone-enabled fields to the correct zone for output and add local
+   * & UTC variants
+   *
+   * @param array $params
+   * @param $to_tz
+   *
+   * @return void
+   */
+  public static function setOutputTimeZone(array &$params, $to_tz = NULL) {
+    $to_tz = $to_tz ?? ($params['event_tz'] ?? NULL);
+
+    if (is_null($to_tz)) {
+      return;
+    }
+
+    foreach (CRM_Event_BAO_Event::tz_fields as $field) {
+      if (!empty($params[$field]) && empty($params[$field . '_local'])) {
+        $params[$field . '_utc'] = CRM_Utils_Date::convertTimeZone($params[$field], 'UTC');
+        $params[$field . '_local'] = $params[$field];
+        $params[$field] = CRM_Utils_Date::convertTimeZone($params[$field], $to_tz);
+      }
+    }
+
+  }
+
+  public static function setTimezones(CRM_Event_DAO_Event $event) {
+    // Pre-process time zoned fields into the PHP time zone, which should be the same as the database, to save as timestamp.
+    $timezone_event = ($event->event_tz ?: (!empty($event->id) ? CRM_Core_DAO::getFieldValue('CRM_Event_DAO_Event', $event->id, 'event_tz') : NULL));
+
+    foreach (self::tz_fields as $field) {
+      if (!empty($event->{$field})) {
+        $event->{$field} = CRM_Utils_Date::convertTimeZone($event->{$field}, NULL, $timezone_event);
+      }
+    }
+  }
+
+  public static function resetTimezones(CRM_Event_DAO_Event $event) {
+    // Process time zoned fields into their own time zone
+    $timezone_event = ($event->event_tz ?: (!empty($event->id) ? CRM_Core_DAO::getFieldValue('CRM_Event_DAO_Event', $event->id, 'event_tz') : NULL));
+
+    foreach (self::tz_fields as $field) {
+      if (!empty($event->{$field})) {
+        $event->{$field} = CRM_Utils_Date::convertTimeZone($event->{$field}, $timezone_event);
+      }
+    }
+  }
+
 }
diff --git a/civicrm/CRM/Event/BAO/Participant.php b/civicrm/CRM/Event/BAO/Participant.php
index 537142a2805ab2b892b59f9c038d71008e48aa2f..8743339af5f47fa6286a0a198df10d4ac6f0be4c 100644
--- a/civicrm/CRM/Event/BAO/Participant.php
+++ b/civicrm/CRM/Event/BAO/Participant.php
@@ -44,12 +44,6 @@ class CRM_Event_BAO_Participant extends CRM_Event_DAO_Participant {
     'Pending from approval' => ['Registered', 'Cancelled'],
   ];
 
-  /**
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Takes an associative array and creates a participant object.
    *
@@ -1397,6 +1391,9 @@ UPDATE  civicrm_participant
     ) {
       return $mailSent;
     }
+
+    CRM_Event_BAO_Event::setOutputTimeZone($eventDetails);
+
     $toEmail = $contactDetails['email'] ?? NULL;
     if ($toEmail) {
 
diff --git a/civicrm/CRM/Event/BAO/ParticipantStatusType.php b/civicrm/CRM/Event/BAO/ParticipantStatusType.php
index 388e12637d83e86351eda8a7442ee47ee4676c6c..47eae53235e010a6de600d5a38003502fcd052d7 100644
--- a/civicrm/CRM/Event/BAO/ParticipantStatusType.php
+++ b/civicrm/CRM/Event/BAO/ParticipantStatusType.php
@@ -19,7 +19,7 @@ class CRM_Event_BAO_ParticipantStatusType extends CRM_Event_DAO_ParticipantStatu
   /**
    * @param array $params
    *
-   * @return this|null
+   * @return self|null
    */
   public static function add(&$params) {
     if (empty($params)) {
@@ -33,7 +33,7 @@ class CRM_Event_BAO_ParticipantStatusType extends CRM_Event_DAO_ParticipantStatu
   /**
    * @param array $params
    *
-   * @return this|null
+   * @return self|null
    */
   public static function &create(&$params) {
     $transaction = new CRM_Core_Transaction();
@@ -72,7 +72,7 @@ class CRM_Event_BAO_ParticipantStatusType extends CRM_Event_DAO_ParticipantStatu
 
   /**
    * @param array $params
-   * @param $defaults
+   * @param array $defaults
    *
    * @return CRM_Event_DAO_ParticipantStatusType|null
    */
diff --git a/civicrm/CRM/Event/Badge/Logo.php b/civicrm/CRM/Event/Badge/Logo.php
index 4ac357ec25216bcc9c7b5f6a4a90c50dd721ff9b..81770157efbe2ecf488121f94c3c24aedfc2d7e7 100644
--- a/civicrm/CRM/Event/Badge/Logo.php
+++ b/civicrm/CRM/Event/Badge/Logo.php
@@ -34,7 +34,7 @@ class CRM_Event_Badge_Logo extends CRM_Event_Badge {
   }
 
   /**
-   * @param $participant
+   * @param array $participant
    */
   public function generateLabel($participant) {
     $x = $this->pdf->GetAbsX();
diff --git a/civicrm/CRM/Event/Badge/Logo5395.php b/civicrm/CRM/Event/Badge/Logo5395.php
index 2343909174f5327c4943670b9287183231cae274..886b302bb7e62b8802e6857eb628be0cc466eff0 100644
--- a/civicrm/CRM/Event/Badge/Logo5395.php
+++ b/civicrm/CRM/Event/Badge/Logo5395.php
@@ -34,7 +34,7 @@ class CRM_Event_Badge_Logo5395 extends CRM_Event_Badge {
   }
 
   /**
-   * @param $participant
+   * @param array $participant
    */
   public function generateLabel($participant) {
     $x = $this->pdf->GetAbsX();
diff --git a/civicrm/CRM/Event/Badge/NameTent.php b/civicrm/CRM/Event/Badge/NameTent.php
index 4c1809a03fbce804a65a78c4e3d092128c4ff6ac..6acb99d2e2905994dd755aaa16e7409b8dbe4c5d 100644
--- a/civicrm/CRM/Event/Badge/NameTent.php
+++ b/civicrm/CRM/Event/Badge/NameTent.php
@@ -56,7 +56,7 @@ class CRM_Event_Badge_NameTent extends CRM_Event_Badge {
   }
 
   /**
-   * @param $participant
+   * @param array $participant
    */
   protected function writeOneSide(&$participant) {
     $this->pdf->SetXY(0, $this->pdf->height / 2);
@@ -71,7 +71,7 @@ class CRM_Event_Badge_NameTent extends CRM_Event_Badge {
   }
 
   /**
-   * @param $participant
+   * @param array $participant
    */
   public function generateLabel($participant) {
     $this->writeOneSide($participant);
diff --git a/civicrm/CRM/Event/Badge/Simple.php b/civicrm/CRM/Event/Badge/Simple.php
index fa6da40e6b273cdb2545e7dcfa083bd7c321b471..5c080e5f910c57055294d7d3fc75a693e6fd9ffa 100644
--- a/civicrm/CRM/Event/Badge/Simple.php
+++ b/civicrm/CRM/Event/Badge/Simple.php
@@ -24,7 +24,7 @@
 class CRM_Event_Badge_Simple extends CRM_Event_Badge {
 
   /**
-   * @param $participant
+   * @param array $participant
    */
   public function generateLabel($participant) {
     $date = CRM_Utils_Date::customFormat($participant['event_start_date'], "%e %b");
diff --git a/civicrm/CRM/Event/Cart/DAO/Cart.php b/civicrm/CRM/Event/Cart/DAO/Cart.php
index 52d427809716566df17ca1ae91506d0f53b35a51..e5998e753208a4295a4a7d01b51c5149e58ea37d 100644
--- a/civicrm/CRM/Event/Cart/DAO/Cart.php
+++ b/civicrm/CRM/Event/Cart/DAO/Cart.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/Cart/Cart.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:889446482ab589edebb02d7abee76bc5)
+ * (GenCodeChecksum:58e30874811fa80b8a405f368004e697)
  */
 
 /**
@@ -34,19 +34,25 @@ class CRM_Event_Cart_DAO_Cart extends CRM_Core_DAO {
   /**
    * Cart ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to civicrm_contact who created this cart
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $user_id;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $completed;
 
diff --git a/civicrm/CRM/Event/Cart/DAO/EventInCart.php b/civicrm/CRM/Event/Cart/DAO/EventInCart.php
index 461ae202be1d010d5197c3eed748fa8c616805a2..3451c8dcf638db112ee2ac16674ff3fdcb4bcb9f 100644
--- a/civicrm/CRM/Event/Cart/DAO/EventInCart.php
+++ b/civicrm/CRM/Event/Cart/DAO/EventInCart.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/Cart/EventInCart.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:872f4e67be93efbed14721bb030227db)
+ * (GenCodeChecksum:24a288b857e58e2193699737ac771fdc)
  */
 
 /**
@@ -34,21 +34,27 @@ class CRM_Event_Cart_DAO_EventInCart extends CRM_Core_DAO {
   /**
    * Event In Cart ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Event ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_id;
 
   /**
    * FK to Event Cart ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_cart_id;
 
diff --git a/civicrm/CRM/Event/Controller/Registration.php b/civicrm/CRM/Event/Controller/Registration.php
index 561d2ed8b8ef5e221a9a8a0647090f1b697cce34..efba1ee29383d18954dbd3e4e3d9a25e54849d88 100644
--- a/civicrm/CRM/Event/Controller/Registration.php
+++ b/civicrm/CRM/Event/Controller/Registration.php
@@ -17,7 +17,7 @@ class CRM_Event_Controller_Registration extends CRM_Core_Controller {
   /**
    * Class constructor.
    *
-   * @param null $title
+   * @param string $title
    * @param bool|int $action
    * @param bool $modal
    */
diff --git a/civicrm/CRM/Event/DAO/Event.php b/civicrm/CRM/Event/DAO/Event.php
index fe3a66fa99f32e7aeded3bfe8d8136a7ccb445b0..afc84033dca870b478324366064eeadb6082240c 100644
--- a/civicrm/CRM/Event/DAO/Event.php
+++ b/civicrm/CRM/Event/DAO/Event.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/Event.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:51b2702ee6856d74a9f38e9cf86da5bf)
+ * (GenCodeChecksum:d9ea1f641de04dabb54616ef4edfe88c)
  */
 
 /**
@@ -58,484 +58,631 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
   /**
    * Event
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Event Title (e.g. Fall Fundraiser Dinner)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Brief summary of event. Text and html allowed. Displayed on Event Registration form and can be used on other CMS pages which need an event summary.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $summary;
 
   /**
    * Full description of event. Text and html allowed. Displayed on built-in Event Information screens.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Event Type ID.Implicit FK to civicrm_option_value where option_group = event_type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_type_id;
 
   /**
    * Should we expose the participant list? Implicit FK to civicrm_option_value where option_group = participant_listing.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $participant_listing_id;
 
   /**
    * Public events will be included in the iCal feeds. Access to private event information may be limited using ACLs.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_public;
 
   /**
    * Date and time that event starts.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * Date and time that event ends. May be NULL if no defined end date/time
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * If true, include registration link on Event Info page.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_online_registration;
 
   /**
    * Text for link to Event Registration form which is displayed on Event Information screen when is_online_registration is true.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $registration_link_text;
 
   /**
    * Date and time that online registration starts.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $registration_start_date;
 
   /**
    * Date and time that online registration ends.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $registration_end_date;
 
   /**
    * Maximum number of registered participants to allow. After max is reached, a custom Event Full message is displayed. If NULL, allow unlimited number of participants.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_participants;
 
   /**
    * Message to display on Event Information page and INSTEAD OF Event Registration form if maximum participants are signed up. Can include email address/info about getting on a waiting list, etc. Text and html allowed.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_full_text;
 
   /**
    * If true, one or more fee amounts must be set and a Payment Processor must be configured for Online Event Registration.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_monetary;
 
   /**
    * Financial type assigned to paid event registrations for this event. Required if is_monetary is true.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * Payment Processors configured for this Event (if is_monetary is true)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_processor;
 
   /**
    * Include a map block on the Event Information page when geocode info is available and a mapping provider has been specified?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_map;
 
   /**
    * Is this Event enabled or disabled/cancelled?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fee_label;
 
   /**
    * If true, show event location.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_show_location;
 
   /**
    * FK to Location Block ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $loc_block_id;
 
   /**
    * Participant role ID. Implicit FK to civicrm_option_value where option_group = participant_role.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $default_role_id;
 
   /**
    * Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $intro_text;
 
   /**
    * Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $footer_text;
 
   /**
    * Title for Confirmation page.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $confirm_title;
 
   /**
    * Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $confirm_text;
 
   /**
    * Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $confirm_footer_text;
 
   /**
    * If true, confirmation is automatically emailed to contact on successful registration.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_email_confirm;
 
   /**
    * text to include above standard event info on confirmation email. emails are text-only, so do not allow html for now
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $confirm_email_text;
 
   /**
    * FROM email name used for confirmation emails.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $confirm_from_name;
 
   /**
    * FROM email address used for confirmation emails.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $confirm_from_email;
 
   /**
    * comma-separated list of email addresses to cc each time a confirmation is sent
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cc_confirm;
 
   /**
    * comma-separated list of email addresses to bcc each time a confirmation is sent
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $bcc_confirm;
 
   /**
    * FK to civicrm_option_value.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $default_fee_id;
 
   /**
    * FK to civicrm_option_value.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $default_discount_fee_id;
 
   /**
    * Title for ThankYou page.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_title;
 
   /**
    * ThankYou Text.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_text;
 
   /**
    * Footer message.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_footer_text;
 
   /**
    * if true - allows the user to send payment directly to the org later
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_pay_later;
 
   /**
    * The text displayed to the user in the main form
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pay_later_text;
 
   /**
    * The receipt sent to the user instead of the normal receipt text
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pay_later_receipt;
 
   /**
    * is partial payment enabled for this event
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_partial_payment;
 
   /**
    * Initial amount label for partial payment
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $initial_amount_label;
 
   /**
    * Initial amount help text for partial payment
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $initial_amount_help_text;
 
   /**
    * Minimum initial amount for partial payment
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $min_initial_amount;
 
   /**
    * if true - allows the user to register multiple participants for event
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_multiple_registrations;
 
   /**
    * Maximum number of additional participants that can be registered on a single booking
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_additional_participants;
 
   /**
    * if true - allows the user to register multiple registrations from same email address.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $allow_same_participant_emails;
 
   /**
    * Whether the event has waitlist support.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $has_waitlist;
 
   /**
    * Whether participants require approval before they can finish registering.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $requires_approval;
 
   /**
    * Expire pending but unconfirmed registrations after this many hours.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $expiration_time;
 
   /**
    * Allow self service cancellation or transfer for event?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $allow_selfcancelxfer;
 
   /**
    * Number of hours prior to event start date to allow self-service cancellation or transfer.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $selfcancelxfer_time;
 
   /**
    * Text to display when the event is full, but participants can signup for a waitlist.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $waitlist_text;
 
   /**
    * Text to display when the approval is required to complete registration for an event.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $approval_req_text;
 
   /**
    * whether the event has template
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_template;
 
   /**
    * Event Template Title
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $template_title;
 
   /**
    * FK to civicrm_contact, who created this event
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Date and time that event was created.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * The campaign for which this event has been created.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * Can people share the event through social media?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_share;
 
   /**
    * If false, the event booking confirmation screen gets skipped
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_confirm_enabled;
 
   /**
    * Implicit FK to civicrm_event: parent event
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_event_id;
 
   /**
    * Subevent slot label. Implicit FK to civicrm_option_value where option_group = conference_slot.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $slot_label_id;
 
   /**
    * Rule to use when matching registrations for this event
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $dedupe_rule_group_id;
 
   /**
    * if true than billing block is required this event
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_billing_required;
 
+  /**
+   * Event's native time zone
+   *
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
+   */
+  public $event_tz;
+
   /**
    * Class constructor.
    */
@@ -718,13 +865,15 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
         ],
         'event_start_date' => [
           'name' => 'start_date',
-          'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
+          'type' => CRM_Utils_Type::T_TIMESTAMP,
           'title' => ts('Event Start Date'),
           'description' => ts('Date and time that event starts.'),
+          'required' => FALSE,
           'import' => TRUE,
           'where' => 'civicrm_event.start_date',
           'headerPattern' => '/^start|(s(tart\s)?date)$/i',
           'export' => TRUE,
+          'default' => NULL,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
@@ -737,13 +886,15 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
         ],
         'event_end_date' => [
           'name' => 'end_date',
-          'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
+          'type' => CRM_Utils_Type::T_TIMESTAMP,
           'title' => ts('Event End Date'),
           'description' => ts('Date and time that event ends. May be NULL if no defined end date/time'),
+          'required' => FALSE,
           'import' => TRUE,
           'where' => 'civicrm_event.end_date',
           'headerPattern' => '/^end|(e(nd\s)?date)$/i',
           'export' => TRUE,
+          'default' => NULL,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
@@ -789,10 +940,12 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
         ],
         'registration_start_date' => [
           'name' => 'registration_start_date',
-          'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
+          'type' => CRM_Utils_Type::T_TIMESTAMP,
           'title' => ts('Registration Start Date'),
           'description' => ts('Date and time that online registration starts.'),
+          'required' => FALSE,
           'where' => 'civicrm_event.registration_start_date',
+          'default' => NULL,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
@@ -806,10 +959,12 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
         ],
         'registration_end_date' => [
           'name' => 'registration_end_date',
-          'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
+          'type' => CRM_Utils_Type::T_TIMESTAMP,
           'title' => ts('Registration End Date'),
           'description' => ts('Date and time that online registration ends.'),
+          'required' => FALSE,
           'where' => 'civicrm_event.registration_end_date',
+          'default' => NULL,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
@@ -1780,6 +1935,27 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           ],
           'add' => '4.6',
         ],
+        'event_tz' => [
+          'name' => 'event_tz',
+          'type' => CRM_Utils_Type::T_TEXT,
+          'title' => ts('Event Time Zone'),
+          'description' => ts('Event\'s native time zone'),
+          'import' => TRUE,
+          'where' => 'civicrm_event.event_tz',
+          'export' => TRUE,
+          'default' => NULL,
+          'table_name' => 'civicrm_event',
+          'entity' => 'Event',
+          'bao' => 'CRM_Event_BAO_Event',
+          'localizable' => 0,
+          'html' => [
+            'type' => 'Select',
+          ],
+          'pseudoconstant' => [
+            'callback' => 'CRM_Core_SelectValues::timezone',
+          ],
+          'add' => '5.47',
+        ],
       ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
diff --git a/civicrm/CRM/Event/DAO/Participant.php b/civicrm/CRM/Event/DAO/Participant.php
index 67278329c847610c3c48281d0c646d25b6856f36..6a4624cf812000b96df858bba0f9d806e4f58345 100644
--- a/civicrm/CRM/Event/DAO/Participant.php
+++ b/civicrm/CRM/Event/DAO/Participant.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/Participant.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:4ca199ee96c9079ad7ce673c7a06d5f6)
+ * (GenCodeChecksum:62382336b5251b2ee93828d70138cd7e)
  */
 
 /**
@@ -41,49 +41,63 @@ class CRM_Event_DAO_Participant extends CRM_Core_DAO {
   /**
    * Participant ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * FK to Event ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_id;
 
   /**
    * Participant status ID. FK to civicrm_participant_status_type. Default of 1 should map to status = Registered.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * Participant role ID. Implicit FK to civicrm_option_value where option_group = participant_role.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $role_id;
 
   /**
    * When did contact register for event?
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $register_date;
 
   /**
    * Source of this event registration.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $source;
 
@@ -91,80 +105,104 @@ class CRM_Event_DAO_Participant extends CRM_Core_DAO {
    * Populate with the label (text) associated with a fee level for paid events with multiple levels. Note that
    * we store the label value and not the key
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fee_level;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_test;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_pay_later;
 
   /**
    * actual processor fee if known - may be 0.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fee_amount;
 
   /**
    * FK to Participant ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $registered_by_id;
 
   /**
    * FK to Discount ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $discount_id;
 
   /**
    * 3 character string, value derived from config setting.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fee_currency;
 
   /**
    * The campaign for which this participant has been registered.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * Discount Amount
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $discount_amount;
 
   /**
    * FK to civicrm_event_carts
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cart_id;
 
   /**
    * On Waiting List
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $must_wait;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $transferred_to_contact_id;
 
diff --git a/civicrm/CRM/Event/DAO/ParticipantPayment.php b/civicrm/CRM/Event/DAO/ParticipantPayment.php
index 9fe49f0c864c90fb016323719c558ea864ecda7c..a13745ca8f37c082da2ff47bc7dac675181d3f93 100644
--- a/civicrm/CRM/Event/DAO/ParticipantPayment.php
+++ b/civicrm/CRM/Event/DAO/ParticipantPayment.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/ParticipantPayment.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:faf8b6394f4e57dd2bd6702f712f7157)
+ * (GenCodeChecksum:e968c8fec853683ccda7863407aef635)
  */
 
 /**
@@ -34,21 +34,27 @@ class CRM_Event_DAO_ParticipantPayment extends CRM_Core_DAO {
   /**
    * Participant Payment ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Participant ID (FK)
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $participant_id;
 
   /**
    * FK to contribution table.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_id;
 
diff --git a/civicrm/CRM/Event/DAO/ParticipantStatusType.php b/civicrm/CRM/Event/DAO/ParticipantStatusType.php
index f4da6903bba55169ca15036974bdfb62c2d3d69a..bdb75e0e43cabb7f7939c0e0d136b9e033ff13ec 100644
--- a/civicrm/CRM/Event/DAO/ParticipantStatusType.php
+++ b/civicrm/CRM/Event/DAO/ParticipantStatusType.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/ParticipantStatusType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0f5f8f9d2171b25bb250914d746996bc)
+ * (GenCodeChecksum:bb9ea5411d4ab4f767d891f2e0f20858)
  */
 
 /**
@@ -34,63 +34,81 @@ class CRM_Event_DAO_ParticipantStatusType extends CRM_Core_DAO {
   /**
    * unique participant status type id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * non-localized name of the status type
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * localized label for display of this status type
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * the general group of status type this one belongs to
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $class;
 
   /**
    * whether this is a status type required by the system
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * whether this status type is active
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * whether this status type is counted against event size limit
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_counted;
 
   /**
    * controls sort order
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * whether the status type is visible to the public, an implicit foreign key to option_value.value related to the `visibility` option_group
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $visibility_id;
 
diff --git a/civicrm/CRM/Event/Form/ManageEvent.php b/civicrm/CRM/Event/Form/ManageEvent.php
index 292e8b2b4c85eae76f0a0f12d5e23d09c4deec50..4f2030fd849865a2bc8e52fd083a42ef8874a0a0 100644
--- a/civicrm/CRM/Event/Form/ManageEvent.php
+++ b/civicrm/CRM/Event/Form/ManageEvent.php
@@ -88,10 +88,7 @@ class CRM_Event_Form_ManageEvent extends CRM_Core_Form {
    * Set variables up before form is built.
    */
   public function preProcess() {
-    $config = CRM_Core_Config::singleton();
-    if (in_array('CiviEvent', $config->enableComponents)) {
-      $this->assign('CiviEvent', TRUE);
-    }
+    $this->assign('CiviEvent', CRM_Core_Component::isEnabled('CiviEvent'));
     CRM_Core_Form_RecurringEntity::preProcess('civicrm_event');
 
     $this->_action = CRM_Utils_Request::retrieve('action', 'String', $this, FALSE, 'add', 'REQUEST');
@@ -354,8 +351,7 @@ class CRM_Event_Form_ManageEvent extends CRM_Core_Form {
         [1 => CRM_Utils_Array::value('title', CRM_Utils_Array::value($subPage, $this->get('tabHeader')), $className)]
       ), $this->getTitle(), 'success');
 
-      $config = CRM_Core_Config::singleton();
-      if (in_array('CiviCampaign', $config->enableComponents)) {
+      if (CRM_Core_Component::isEnabled('CiviCampaign')) {
         $values = $this->controller->exportValues($this->_name);
         $newCampaignID = $values['campaign_id'] ?? NULL;
         $eventID = $values['id'] ?? NULL;
diff --git a/civicrm/CRM/Event/Form/ManageEvent/EventInfo.php b/civicrm/CRM/Event/Form/ManageEvent/EventInfo.php
index 9e1c5dfbf3068ce19c7e0d179761cb1ec0ce8972..cfaad1fa5685c5f0b14a3baaa8717c93502f0586 100644
--- a/civicrm/CRM/Event/Form/ManageEvent/EventInfo.php
+++ b/civicrm/CRM/Event/Form/ManageEvent/EventInfo.php
@@ -100,6 +100,17 @@ class CRM_Event_Form_ManageEvent_EventInfo extends CRM_Event_Form_ManageEvent {
 
     $defaults['waitlist_text'] = CRM_Utils_Array::value('waitlist_text', $defaults, ts('This event is currently full. However you can register now and get added to a waiting list. You will be notified if spaces become available.'));
     $defaults['template_id'] = $this->_templateId;
+
+    $defaults['event_tz'] = CRM_Utils_Array::value('event_tz', $defaults, CRM_Core_Config::singleton()->userSystem->getTimeZoneString());
+
+    // Convert start and end date defaults to event time zone.
+    if (!empty($defaults['start_date'])) {
+      $defaults['start_date'] = CRM_Utils_Date::convertTimeZone($defaults['start_date'], $defaults['event_tz']);
+    }
+    if (!empty($defaults['end_date'])) {
+      $defaults['end_date'] = CRM_Utils_Date::convertTimeZone($defaults['end_date'], $defaults['event_tz']);
+    }
+
     return $defaults;
   }
 
@@ -159,6 +170,8 @@ class CRM_Event_Form_ManageEvent_EventInfo extends CRM_Event_Form_ManageEvent {
     $this->addElement('checkbox', 'is_share', ts('Add footer region with Twitter, Facebook and LinkedIn share buttons and scripts?'));
     $this->addElement('checkbox', 'is_map', ts('Include Map to Event Location'));
 
+    $this->addSelect('event_tz', ['placeholder' => ts('- Select time zone -')], TRUE);
+
     $this->add('datepicker', 'start_date', ts('Start'), [], !$this->_isTemplate, ['time' => TRUE]);
     $this->add('datepicker', 'end_date', ts('End'), [], FALSE, ['time' => TRUE]);
 
@@ -215,8 +228,8 @@ class CRM_Event_Form_ManageEvent_EventInfo extends CRM_Event_Form_ManageEvent {
     $params = array_merge($this->controller->exportValues($this->_name), $this->_submitValues);
 
     //format params
-    $params['start_date'] = $params['start_date'] ?? NULL;
-    $params['end_date'] = $params['end_date'] ?? NULL;
+    $params['start_date'] = !empty($params['start_date']) ? CRM_Utils_Date::convertTimeZone($params['start_date'], NULL, $params['event_tz'] ?? NULL) : $params['start_date'];
+    $params['end_date'] = !empty($params['end_date']) ? CRM_Utils_Date::convertTimeZone($params['end_date'], NULL, $params['event_tz'] ?? NULL) : $params['end_date'];
     $params['has_waitlist'] = CRM_Utils_Array::value('has_waitlist', $params, FALSE);
     $params['is_map'] = CRM_Utils_Array::value('is_map', $params, FALSE);
     $params['is_active'] = CRM_Utils_Array::value('is_active', $params, FALSE);
diff --git a/civicrm/CRM/Event/Form/ManageEvent/Fee.php b/civicrm/CRM/Event/Form/ManageEvent/Fee.php
index f61a4e736a3432a804b45e0af809a7d778d142d6..ec9c2a8b507f9ee26403324b11b015a5c13cfffb 100644
--- a/civicrm/CRM/Event/Form/ManageEvent/Fee.php
+++ b/civicrm/CRM/Event/Form/ManageEvent/Fee.php
@@ -306,7 +306,7 @@ class CRM_Event_Form_ManageEvent_Fee extends CRM_Event_Form_ManageEvent {
 
     // form fields of Discount sets
     $defaultOption = [];
-    $_showHide = new CRM_Core_ShowHideBlocks('', '');
+    $_showHide = new CRM_Core_ShowHideBlocks();
 
     for ($i = 1; $i <= self::NUM_DISCOUNT; $i++) {
       //the show hide blocks
diff --git a/civicrm/CRM/Event/Form/ManageEvent/Registration.php b/civicrm/CRM/Event/Form/ManageEvent/Registration.php
index 3eb2a7efa981cb512a3f3bf62fd130606aa7513d..f70e19f46559a9bdb1677d81dcc5fcd710079d27 100644
--- a/civicrm/CRM/Event/Form/ManageEvent/Registration.php
+++ b/civicrm/CRM/Event/Form/ManageEvent/Registration.php
@@ -29,6 +29,8 @@ class CRM_Event_Form_ManageEvent_Registration extends CRM_Event_Form_ManageEvent
   protected $_profilePostMultiple = [];
   protected $_profilePostMultipleAdd = [];
 
+  protected $_tz;
+
   /**
    * Set variables up before form is built.
    */
@@ -166,6 +168,14 @@ class CRM_Event_Form_ManageEvent_Registration extends CRM_Event_Form_ManageEvent
     $defaults['thankyou_title'] = CRM_Utils_Array::value('thankyou_title', $defaults, ts('Thank You for Registering'));
     $defaults['approval_req_text'] = CRM_Utils_Array::value('approval_req_text', $defaults, ts('Participation in this event requires approval. Submit your registration request here. Once approved, you will receive an email with a link to a web page where you can complete the registration process.'));
 
+    // Convert start and end date defaults to event time zone.
+    if (!empty($defaults['registration_start_date'])) {
+      $defaults['registration_start_date'] = CRM_Utils_Date::convertTimeZone($defaults['registration_start_date'], $this->_tz ?? NULL);
+    }
+    if (!empty($defaults['registration_end_date'])) {
+      $defaults['registration_end_date'] = CRM_Utils_Date::convertTimeZone($defaults['registration_end_date'], $this->_tz ?? NULL);
+    }
+
     return $defaults;
   }
 
@@ -228,6 +238,9 @@ class CRM_Event_Form_ManageEvent_Registration extends CRM_Event_Form_ManageEvent
     $this->add('text', 'registration_link_text', ts('Registration Link Text'));
 
     if (!$this->_isTemplate) {
+      $this->_tz = CRM_Core_DAO::getFieldValue('CRM_Event_DAO_Event', $this->_id, 'event_tz');
+      $tz = CRM_Core_SelectValues::timezone()[$this->_tz];
+      $this->assign('event_tz', $tz ?? '<span class="error-message">' . ts('%1 No timezone set', [1 => '<i class="crm-i fa-warning"></i>']) . '</span>');
       $this->add('datepicker', 'registration_start_date', ts('Registration Start Date'), [], FALSE, ['time' => TRUE]);
       $this->add('datepicker', 'registration_end_date', ts('Registration End Date'), [], FALSE, ['time' => TRUE]);
     }
@@ -776,6 +789,10 @@ class CRM_Event_Form_ManageEvent_Registration extends CRM_Event_Form_ManageEvent
 
     $params['id'] = $this->_id;
 
+    if (!isset($this->_tz)) {
+      $this->_tz = CRM_Core_DAO::getFieldValue('CRM_Event_DAO_Event', $this->_id, 'event_tz') ?? CRM_Core_Config::singleton()->userSystem->getTimeZoneString();
+    }
+
     // format params
     $params['is_online_registration'] = CRM_Utils_Array::value('is_online_registration', $params, FALSE);
     // CRM-11182
@@ -783,6 +800,8 @@ class CRM_Event_Form_ManageEvent_Registration extends CRM_Event_Form_ManageEvent
     $params['is_multiple_registrations'] = CRM_Utils_Array::value('is_multiple_registrations', $params, FALSE);
     $params['allow_same_participant_emails'] = CRM_Utils_Array::value('allow_same_participant_emails', $params, FALSE);
     $params['requires_approval'] = CRM_Utils_Array::value('requires_approval', $params, FALSE);
+    $params['registration_start_date'] = !empty($params['registration_start_date']) ? CRM_Utils_Date::convertTimeZone($params['registration_start_date'], NULL, $this->_tz ?? NULL) : $params['registration_start_date'];
+    $params['registration_end_date'] = !empty($params['registration_end_date']) ? CRM_Utils_Date::convertTimeZone($params['registration_end_date'], NULL, $this->_tz ?? NULL) : $params['registration_end_date'];
 
     // reset is_email confirm if not online reg
     if (!$params['is_online_registration']) {
diff --git a/civicrm/CRM/Event/Form/Participant.php b/civicrm/CRM/Event/Form/Participant.php
index 99e6a6ed58753cb96dae865e292734c041e680a6..e99eb186dfedc7c78a3ace5d54c52561da92cabb 100644
--- a/civicrm/CRM/Event/Form/Participant.php
+++ b/civicrm/CRM/Event/Form/Participant.php
@@ -786,7 +786,7 @@ class CRM_Event_Form_Participant extends CRM_Contribute_Form_AbstractEditPayment
    * @param array $values
    *   Posted values of the form.
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
@@ -1544,8 +1544,6 @@ class CRM_Event_Form_Participant extends CRM_Contribute_Form_AbstractEditPayment
         $contributionId = CRM_Core_DAO::getFieldValue('CRM_Event_DAO_ParticipantPayment',
           $this->_id, 'contribution_id', 'participant_id'
         );
-        $prefixValue = Civi::settings()->get('contribution_invoice_settings');
-        $invoicing = $prefixValue['invoicing'] ?? NULL;
         if (Civi::settings()->get('invoice_is_email_pdf')) {
           $sendTemplateParams['isEmailPdf'] = TRUE;
           $sendTemplateParams['contributionId'] = $contributionId;
@@ -1894,7 +1892,7 @@ class CRM_Event_Form_Participant extends CRM_Contribute_Form_AbstractEditPayment
   protected function assignEventDetailsToTpl($eventID, $participantRoles, $receiptText, $isPaidEvent) {
     //use of the message template below requires variables in different format
     $events = [];
-    $returnProperties = ['event_type_id', 'fee_label', 'start_date', 'end_date', 'is_show_location', 'title'];
+    $returnProperties = ['event_type_id', 'fee_label', 'start_date', 'end_date', 'event_tz', 'is_show_location', 'title'];
 
     //get all event details.
     CRM_Core_DAO::commonRetrieveAll('CRM_Event_DAO_Event', 'id', $eventID, $events, $returnProperties);
@@ -1902,6 +1900,8 @@ class CRM_Event_Form_Participant extends CRM_Contribute_Form_AbstractEditPayment
     unset($event['start_date']);
     unset($event['end_date']);
 
+    CRM_Event_BAO_Event::setOutputTimeZone($event);
+
     $role = CRM_Event_PseudoConstant::participantRole();
 
     if (is_array($participantRoles)) {
diff --git a/civicrm/CRM/Event/Form/ParticipantFeeSelection.php b/civicrm/CRM/Event/Form/ParticipantFeeSelection.php
index a4cb587a92530c806623f4209d610e08870eab69..19a0a1174e424266d4a9171c47f5466d8cc0e7f7 100644
--- a/civicrm/CRM/Event/Form/ParticipantFeeSelection.php
+++ b/civicrm/CRM/Event/Form/ParticipantFeeSelection.php
@@ -212,7 +212,7 @@ class CRM_Event_Form_ParticipantFeeSelection extends CRM_Core_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
@@ -285,7 +285,7 @@ class CRM_Event_Form_ParticipantFeeSelection extends CRM_Core_Form {
     $this->assign('module', 'Event Registration');
     //use of the message template below requires variables in different format
     $event = $events = [];
-    $returnProperties = ['fee_label', 'start_date', 'end_date', 'is_show_location', 'title'];
+    $returnProperties = ['fee_label', 'start_date', 'end_date', 'event_tz', 'is_show_location', 'title'];
 
     //get all event details.
     CRM_Core_DAO::commonRetrieveAll('CRM_Event_DAO_Event', 'id', $params['event_id'], $events, $returnProperties);
@@ -293,6 +293,8 @@ class CRM_Event_Form_ParticipantFeeSelection extends CRM_Core_Form {
     unset($event['start_date']);
     unset($event['end_date']);
 
+    CRM_Event_BAO_Event::setOutputTimeZone($event);
+
     $role = CRM_Event_PseudoConstant::participantRole();
     $participantRoles = $params['role_id'] ?? NULL;
     if (is_array($participantRoles)) {
diff --git a/civicrm/CRM/Event/Form/Registration.php b/civicrm/CRM/Event/Form/Registration.php
index 74526af6a41581e3ecbeeb7419864f418e998800..6e0af9256012e0111bced3628e6874474f202334 100644
--- a/civicrm/CRM/Event/Form/Registration.php
+++ b/civicrm/CRM/Event/Form/Registration.php
@@ -230,6 +230,9 @@ class CRM_Event_Form_Registration extends CRM_Core_Form {
       //retrieve event information
       $params = ['id' => $this->_eventId];
       CRM_Event_BAO_Event::retrieve($params, $this->_values['event']);
+
+      CRM_Event_BAO_Event::setOutputTimeZone($this->_values['event'], $this->_values['event']['event_tz']);
+
       // check for is_monetary status
       $isMonetary = $this->_values['event']['is_monetary'] ?? NULL;
       // check for ability to add contributions of type
@@ -1056,13 +1059,14 @@ class CRM_Event_Form_Registration extends CRM_Core_Form {
   }
 
   /**
-   * Check if template file exists.
+   * Check template file exists.
    *
-   * @param string $suffix
+   * @param string|null $suffix
    *
-   * @return null|string
+   * @return string|null
+   *   Template file path, else null
    */
-  public function checkTemplateFileExists($suffix = '') {
+  public function checkTemplateFileExists($suffix = NULL) {
     if ($this->_eventId) {
       $templateName = $this->_name;
       if (substr($templateName, 0, 12) == 'Participant_') {
diff --git a/civicrm/CRM/Event/Form/Registration/AdditionalParticipant.php b/civicrm/CRM/Event/Form/Registration/AdditionalParticipant.php
index 37fcc48b4625620be24423654a8846f8e582d7fb..587332cf6559eb903f4eb551dbec90b32d626adf 100644
--- a/civicrm/CRM/Event/Form/Registration/AdditionalParticipant.php
+++ b/civicrm/CRM/Event/Form/Registration/AdditionalParticipant.php
@@ -367,7 +367,7 @@ class CRM_Event_Form_Registration_AdditionalParticipant extends CRM_Event_Form_R
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    *
    * @return bool|array
@@ -512,7 +512,7 @@ class CRM_Event_Form_Registration_AdditionalParticipant extends CRM_Event_Form_R
   }
 
   /**
-   * @param $self
+   * @param self $self
    * @param $fields
    *
    * @return bool
diff --git a/civicrm/CRM/Event/Form/Registration/Register.php b/civicrm/CRM/Event/Form/Registration/Register.php
index 0e8ec10c660a6799fd1e695334181d853098bbf5..5352797a92fc3f15d660673a6b13ecaef3469cde 100644
--- a/civicrm/CRM/Event/Form/Registration/Register.php
+++ b/civicrm/CRM/Event/Form/Registration/Register.php
@@ -288,13 +288,22 @@ class CRM_Event_Form_Registration_Register extends CRM_Event_Form_Registration {
         }
         $optionFullIds = CRM_Utils_Array::value('option_full_ids', $val, []);
         foreach ($val['options'] as $keys => $values) {
-          if ($values['is_default'] && empty($values['is_full'])) {
-
-            if ($val['html_type'] == 'CheckBox') {
-              $this->_defaults["price_{$key}"][$keys] = 1;
-            }
-            else {
-              $this->_defaults["price_{$key}"] = $keys;
+          $priceFieldName = 'price_' . $values['price_field_id'];
+          $priceFieldValue = CRM_Price_BAO_PriceSet::getPriceFieldValueFromURL($this, $priceFieldName);
+          if (!empty($priceFieldValue)) {
+            CRM_Price_BAO_PriceSet::setDefaultPriceSetField($priceFieldName, $priceFieldValue, $val['html_type'], $this->_defaults);
+            // break here to prevent overwriting of default due to 'is_default'
+            // option configuration. The value sent via URL get's higher priority.
+            break;
+          }
+          else {
+            if ($values['is_default'] && empty($values['is_full'])) {
+              if ($val['html_type'] == 'CheckBox') {
+                $this->_defaults["price_{$key}"][$keys] = 1;
+              }
+              else {
+                $this->_defaults["price_{$key}"] = $keys;
+              }
             }
           }
         }
@@ -378,8 +387,7 @@ class CRM_Event_Form_Registration_Register extends CRM_Event_Form_Registration {
         $this->add('select', 'additional_participants',
           ts('How many people are you registering?'),
           $additionalOptions,
-          NULL,
-          ['onChange' => "allowParticipant()"]
+          NULL
         );
         $isAdditionalParticipants = TRUE;
       }
@@ -514,7 +522,7 @@ class CRM_Event_Form_Registration_Register extends CRM_Event_Form_Registration {
         $buttonParams['name'] = ts('Register');
       }
       else {
-        $buttonParams['name'] = ts('Review your registration');
+        $buttonParams['name'] = ts('Review');
         $buttonParams['icon'] = 'fa-chevron-right';
       }
 
diff --git a/civicrm/CRM/Event/Form/SelfSvcTransfer.php b/civicrm/CRM/Event/Form/SelfSvcTransfer.php
index 1cac955aae14e7458b4c9eb212e3394898549ff7..15659cfbabb0fdad6b54da6418eeda38fcdd1dde 100644
--- a/civicrm/CRM/Event/Form/SelfSvcTransfer.php
+++ b/civicrm/CRM/Event/Form/SelfSvcTransfer.php
@@ -342,7 +342,7 @@ class CRM_Event_Form_SelfSvcTransfer extends CRM_Core_Form {
   /**
    * Based on input, create participant row for transferee and send email
    *
-   * @param $participant
+   * @param CRM_Event_BAO_Participant $participant
    *
    * @throws \API_Exception
    * @throws \CRM_Core_Exception
@@ -372,6 +372,9 @@ class CRM_Event_Form_SelfSvcTransfer extends CRM_Core_Form {
     $eventDetails = [];
     $eventParams = ['id' => $participant->event_id];
     CRM_Event_BAO_Event::retrieve($eventParams, $eventDetails);
+
+    CRM_Event_BAO_Event::setOutputTimeZone($eventDetails);
+
     //get default participant role.
     $eventDetails['participant_role'] = $participantRoles[$eventDetails['default_role_id']] ?? NULL;
     //get the location info
diff --git a/civicrm/CRM/Event/Form/SelfSvcUpdate.php b/civicrm/CRM/Event/Form/SelfSvcUpdate.php
index 97a51481da422775807a7b1d94f042c5198d5585..ed1055eb49bec953c1dd40d9bead3f88ea93e0b2 100644
--- a/civicrm/CRM/Event/Form/SelfSvcUpdate.php
+++ b/civicrm/CRM/Event/Form/SelfSvcUpdate.php
@@ -187,7 +187,7 @@ class CRM_Event_Form_SelfSvcUpdate extends CRM_Core_Form {
    * @param array $fields
    *   Posted fields of the form.
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Event/Form/Task/Print.php b/civicrm/CRM/Event/Form/Task/Print.php
index c64e92f9b1f589eed783bfdfbbc9283fca84806c..6f5c9a6669d3184d1479b4e0bf5b4bad7bc9638e 100644
--- a/civicrm/CRM/Event/Form/Task/Print.php
+++ b/civicrm/CRM/Event/Form/Task/Print.php
@@ -29,7 +29,7 @@ class CRM_Event_Form_Task_Print extends CRM_Event_Form_Task {
     parent::preprocess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
 
     // get the formatted params
     $queryParams = $this->get('queryParams');
diff --git a/civicrm/CRM/Event/ICalendar.php b/civicrm/CRM/Event/ICalendar.php
index 7b30c95439911da6364a06c2ec2eaa2590d8dad5..c3e1b45aa58cd668986258228da67e70183b871e 100644
--- a/civicrm/CRM/Event/ICalendar.php
+++ b/civicrm/CRM/Event/ICalendar.php
@@ -47,8 +47,16 @@ class CRM_Event_ICalendar {
     $config = CRM_Core_Config::singleton();
 
     $info = CRM_Event_BAO_Event::getCompleteInfo($start, $type, $id, $end);
+
+    foreach ($info as &$event) {
+      $event['start_date'] = CRM_Utils_Date::convertTimeZone($event['start_date'], $event['tz']);
+      $event['end_date'] = !empty($event['end_date']) ? CRM_Utils_date::convertTimeZone($event['end_date'], $event['tz']) : NULL;
+      $event['registration_start_date'] = !empty($event['registration_start_date']) ? CRM_Utils_date::convertTimeZone($event['registration_start_date'], $event['tz']) : NULL;
+      $event['registration_end_date'] = !empty($event['registration_end_date']) ? CRM_Utils_date::convertTimeZone($event['registration_end_date'], $event['tz']) : NULL;
+    }
+
     $template->assign('events', $info);
-    $template->assign('timezone', @date_default_timezone_get());
+    $template->assign('timezone', CRM_Core_Config::singleton()->userSystem->getTimeZoneString());
 
     // Send data to the correct template for formatting (iCal vs. gData)
     if ($rss) {
diff --git a/civicrm/CRM/Event/Import/Controller.php b/civicrm/CRM/Event/Import/Controller.php
index 233b63231eab5222c8a5eef1f45e8c29c16f0627..8d80c0758af6ce5979ed1dd63e5b81ca0ab4f5a3 100644
--- a/civicrm/CRM/Event/Import/Controller.php
+++ b/civicrm/CRM/Event/Import/Controller.php
@@ -19,7 +19,7 @@ class CRM_Event_Import_Controller extends CRM_Core_Controller {
   /**
    * Class constructor.
    *
-   * @param null $title
+   * @param string $title
    * @param bool|int $action
    * @param bool $modal
    */
diff --git a/civicrm/CRM/Event/Import/Form/MapField.php b/civicrm/CRM/Event/Import/Form/MapField.php
index c7864e2aa5123b1aa97861082ec8ccafdb5abd1c..df28b3141fbffa169ebbb324330cd7071899a07f 100644
--- a/civicrm/CRM/Event/Import/Form/MapField.php
+++ b/civicrm/CRM/Event/Import/Form/MapField.php
@@ -268,7 +268,7 @@ class CRM_Event_Import_Form_MapField extends CRM_Import_Form_MapField {
    *   Posted values of the form.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Event/Import/Parser.php b/civicrm/CRM/Event/Import/Parser.php
index d1b02676d4f57de23f7dc9448a6b515c074bc52f..59d464b41413d54430e7dc92f8c466846f66c68c 100644
--- a/civicrm/CRM/Event/Import/Parser.php
+++ b/civicrm/CRM/Event/Import/Parser.php
@@ -269,7 +269,7 @@ abstract class CRM_Event_Import_Parser extends CRM_Import_Parser {
    * Given a list of the importable field keys that the user has selected
    * set the active fields array to this list
    *
-   * @param $fieldKeys array mapped array of values
+   * @param array $fieldKeys mapped array of values
    *
    * @return void
    */
diff --git a/civicrm/CRM/Event/Import/Parser/Participant.php b/civicrm/CRM/Event/Import/Parser/Participant.php
index e9ce6d6b71d8e52dffdc23850ad6c0bbfb3813c8..6c9cf49cb9ffc126fb925aaa68994c19c825d3fd 100644
--- a/civicrm/CRM/Event/Import/Parser/Participant.php
+++ b/civicrm/CRM/Event/Import/Parser/Participant.php
@@ -40,10 +40,8 @@ class CRM_Event_Import_Parser_Participant extends CRM_Event_Import_Parser {
    * Class constructor.
    *
    * @param array $mapperKeys
-   * @param null $mapperLocType
-   * @param null $mapperPhoneType
    */
-  public function __construct(&$mapperKeys, $mapperLocType = NULL, $mapperPhoneType = NULL) {
+  public function __construct(&$mapperKeys) {
     parent::__construct();
     $this->_mapperKeys = &$mapperKeys;
   }
diff --git a/civicrm/CRM/Event/Page/EventInfo.php b/civicrm/CRM/Event/Page/EventInfo.php
index 8f141a2a8565be6730f6cd698c7f3402a7895ec4..cffa12126561b59be31e6f2c9259babd0c565ba9 100644
--- a/civicrm/CRM/Event/Page/EventInfo.php
+++ b/civicrm/CRM/Event/Page/EventInfo.php
@@ -79,6 +79,11 @@ class CRM_Event_Page_EventInfo extends CRM_Core_Page {
 
     $this->assign('isShowLocation', CRM_Utils_Array::value('is_show_location', $values['event']));
 
+    // Reset event time zone info
+    CRM_Event_BAO_Event::setOutputTimeZone($values['event'], $values['event']['event_tz']);
+
+    $values['event']['event_tz'] = CRM_Core_SelectValues::timezone()[$values['event']['event_tz']];
+
     // show event fees.
     if ($this->_id && !empty($values['event']['is_monetary'])) {
       CRM_Contribute_BAO_Contribution_Utils::overrideDefaultCurrency($values['event']);
diff --git a/civicrm/CRM/Event/Page/List.php b/civicrm/CRM/Event/Page/List.php
index ffeae8ba922a164e48399784ba0b87aede1fb4e6..ca4fae057b2e9792793a724ed905bdcfe7c7a781 100644
--- a/civicrm/CRM/Event/Page/List.php
+++ b/civicrm/CRM/Event/Page/List.php
@@ -21,6 +21,21 @@ class CRM_Event_Page_List extends CRM_Core_Page {
     $end = CRM_Utils_Request::retrieveValue('end', 'Positive', 0);
 
     $info = CRM_Event_BAO_Event::getCompleteInfo($start, $type, $id, $end);
+
+    foreach ($info as &$event) {
+      $event['start_date_utc'] = CRM_Utils_Date::convertTimeZone($event['start_date'], 'UTC');
+      $event['start_date'] = CRM_Utils_Date::convertTimeZone($event['start_date'], $event['tz']);
+
+      $event['end_date_utc'] = !empty($event['end_date']) ? CRM_Utils_Date::convertTimeZone($event['end_date'], 'UTC') : NULL;
+      $event['end_date'] = !empty($event['end_date']) ? CRM_Utils_date::convertTimeZone($event['end_date'], $event['tz']) : NULL;
+
+      $event['registration_start_date_utc'] = !empty($event['registration_start_date']) ? CRM_Utils_Date::convertTimeZone($event['registration_start_date'], 'UTC') : NULL;
+      $event['registration_start_date'] = !empty($event['registration_start_date']) ? CRM_Utils_date::convertTimeZone($event['registration_start_date'], $event['tz']) : NULL;
+
+      $event['registration_end_date_utc'] = !empty($event['registration_end_date']) ? CRM_Utils_Date::convertTimeZone($event['registration_end_date'], 'UTC') : NULL;
+      $event['registration_end_date'] = !empty($event['registration_end_date']) ? CRM_Utils_date::convertTimeZone($event['registration_end_date'], $event['tz']) : NULL;
+    }
+
     $this->assign('events', $info);
 
     // @todo Move this to eventcart extension
diff --git a/civicrm/CRM/Event/Page/ManageEvent.php b/civicrm/CRM/Event/Page/ManageEvent.php
index a39eb17a6a32e0308a1fc11ed1bfe4254360d23f..356710c81d4e5ada998eab76d30f96e7f08098e5 100644
--- a/civicrm/CRM/Event/Page/ManageEvent.php
+++ b/civicrm/CRM/Event/Page/ManageEvent.php
@@ -361,6 +361,19 @@ ORDER BY start_date desc
         }
         CRM_Core_DAO::storeValues($dao, $manageEvent[$dao->id]);
 
+        // avoid enotices
+        foreach (CRM_Event_BAO_Event::tz_fields as $field) {
+          $manageEvent[$dao->id][$field . '_with_tz'] = NULL;
+        }
+        if (!is_null($dao->event_tz) && $dao->event_tz != CRM_Core_Config::singleton()->userSystem->getTimeZoneString()) {
+          foreach (CRM_Event_BAO_Event::tz_fields as $field) {
+            if (!empty($dao->{$field})) {
+              $manageEvent[$dao->id][$field . '_with_tz'] = CRM_Utils_Date::convertTimeZone($dao->{$field}, $dao->event_tz);
+            }
+          }
+        }
+        $manageEvent[$dao->id]['event_tz'] = $dao->event_tz ? CRM_Core_SelectValues::timezone()[$dao->event_tz] : FALSE;
+
         // form all action links
         $action = array_sum(array_keys($this->links()));
 
diff --git a/civicrm/CRM/Event/PseudoConstant.php b/civicrm/CRM/Event/PseudoConstant.php
index 2ff32e629e23f4de7b735e756f9d7350b3f38fd5..1543f86709eb1f5b95bab197945e41765d673ab8 100644
--- a/civicrm/CRM/Event/PseudoConstant.php
+++ b/civicrm/CRM/Event/PseudoConstant.php
@@ -70,14 +70,14 @@ class CRM_Event_PseudoConstant extends CRM_Core_PseudoConstant {
   private static $pcPage;
 
   /**
-   * Get all the n events
+   * Get all events
    *
-   *
-   * @param int $id
+   * @param int|null $id
    * @param bool $all
-   * @param null $condition
+   * @param string|null $condition
+   *   Optional SQL where condition
    *
-   * @return array
+   * @return array|string|null
    *   array of all events if any
    */
   public static function event($id = NULL, $all = FALSE, $condition = NULL) {
@@ -106,16 +106,18 @@ class CRM_Event_PseudoConstant extends CRM_Core_PseudoConstant {
   }
 
   /**
-   * Get all the n participant statuses.
+   * Get all the event participant statuses.
    *
    *
-   * @param int $id
-   * @param null $cond
+   * @param int|null $id
+   *   Return the specified participant status, or null to return all
+   * @param string|null $cond
+   *   Optional SQL where condition
    * @param string $retColumn
    *   Tells populate() whether to return 'name' (default) or 'label' values.
    *
-   * @return array
-   *   array reference of all participant statuses if any
+   * @return array|string
+   *   array reference of all participant statuses if any, or single value if $id was passed
    */
   public static function &participantStatus($id = NULL, $cond = NULL, $retColumn = 'name') {
     if (self::$participantStatus === NULL) {
@@ -174,7 +176,8 @@ class CRM_Event_PseudoConstant extends CRM_Core_PseudoConstant {
    *
    *
    * @param int $id
-   * @param null $cond
+   * @param string|null $cond
+   *   Optional SQL where condition
    *
    * @return array|string
    *   array reference of all participant roles if any
@@ -270,7 +273,7 @@ class CRM_Event_PseudoConstant extends CRM_Core_PseudoConstant {
 
   /**
    * Flush given pseudoconstant so it can be reread from db
-   * nex time it's requested.
+   * next time it's requested.
    *
    *
    * @param bool|string $name pseudoconstant to be flushed
diff --git a/civicrm/CRM/Event/Tokens.php b/civicrm/CRM/Event/Tokens.php
index ca6fb553dd24d32fa444abb77dc4dffb177d5bfa..44afb797f114520d5dcd084986c0a906efbd9775 100644
--- a/civicrm/CRM/Event/Tokens.php
+++ b/civicrm/CRM/Event/Tokens.php
@@ -144,6 +144,8 @@ class CRM_Event_Tokens extends CRM_Core_EntityTokens {
       $tokens['event_type_id:name']['text/html'] = CRM_Core_PseudoConstant::getName('CRM_Event_BAO_Event', 'event_type_id', $event['event_type_id']);
       $tokens['contact_phone']['text/html'] = $event['loc_block_id.phone_id.phone'];
       $tokens['contact_email']['text/html'] = $event['loc_block_id.email_id.email'];
+      $tokens['event_tz:label']['text/html'] = !empty($event['event_tz']) ? CRM_Core_SelectValues::timezone()[$event['event_tz']] : '';
+      $tokens['event_tz:name']['text/html'] = $event['event_tz'] ?? '';
 
       foreach ($this->getTokenMetadata() as $fieldName => $fieldSpec) {
         if (!isset($tokens[$fieldName])) {
@@ -176,6 +178,7 @@ class CRM_Event_Tokens extends CRM_Core_EntityTokens {
     return ['event_type_id',
       'title',
       'id',
+      'event_tz',
       'start_date',
       'end_date',
       'summary',
diff --git a/civicrm/CRM/Export/BAO/ExportProcessor.php b/civicrm/CRM/Export/BAO/ExportProcessor.php
index 4e85f9758c6aba9f0b2d59fe4b31e69dc75ce56b..18a5663ff8d6180c75840ad2a1dcb7b22a1d20b7 100644
--- a/civicrm/CRM/Export/BAO/ExportProcessor.php
+++ b/civicrm/CRM/Export/BAO/ExportProcessor.php
@@ -1464,6 +1464,16 @@ class CRM_Export_BAO_ExportProcessor {
 
         case CRM_Utils_Type::T_STRING:
           if (isset($fieldSpec['maxlength'])) {
+            // A localized string for the preferred_mail_format does not fit
+            // into the varchar(8) field.
+            // @see https://lab.civicrm.org/dev/core/-/issues/2645
+            switch ($fieldName) {
+              case 'preferred_mail_format':
+                return "`$fieldName` text(16)";
+
+              default:
+                return "`$fieldName` varchar({$fieldSpec['maxlength']})";
+            }
           }
           $dataType = $fieldSpec['data_type'] ?? '';
           // set the sql columns for custom data
diff --git a/civicrm/CRM/Export/Form/Select.php b/civicrm/CRM/Export/Form/Select.php
index e5bad4f70ac7e1857c7ae4388ab8903277e4f459..6a3198f275b6dad85620412f4047d5f09d013638 100644
--- a/civicrm/CRM/Export/Form/Select.php
+++ b/civicrm/CRM/Export/Form/Select.php
@@ -236,7 +236,7 @@ FROM   {$this->_componentTable}
    *   (ref.) an assoc array of name/value pairs.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   mixed true or array of errors
diff --git a/civicrm/CRM/Extension/Info.php b/civicrm/CRM/Extension/Info.php
index 4382427353ddda46c4cbeb5e02ad35156462f198..8a1fc017933bf32f461928acdb05123be1bdbb07 100644
--- a/civicrm/CRM/Extension/Info.php
+++ b/civicrm/CRM/Extension/Info.php
@@ -98,7 +98,7 @@ class CRM_Extension_Info {
   /**
    * Load extension info an XML file.
    *
-   * @param $file
+   * @param string $file
    *
    * @throws CRM_Extension_Exception_ParseException
    * @return CRM_Extension_Info
diff --git a/civicrm/CRM/Extension/Manager.php b/civicrm/CRM/Extension/Manager.php
index 14c7128dd6f2946e35dd6b556ac91602a9327a70..444f86ec32b4d44520d0e3fe747a25dbe1745548 100644
--- a/civicrm/CRM/Extension/Manager.php
+++ b/civicrm/CRM/Extension/Manager.php
@@ -130,7 +130,7 @@ class CRM_Extension_Manager {
    * Class constructor.
    *
    * @param CRM_Extension_Container_Interface $fullContainer
-   * @param CRM_Extension_Container_Basic|FALSE $defaultContainer
+   * @param CRM_Extension_Container_Basic|false $defaultContainer
    * @param CRM_Extension_Mapper $mapper
    * @param array $typeManagers
    */
@@ -566,7 +566,7 @@ class CRM_Extension_Manager {
   /**
    * Return current processes for given extension.
    *
-   * @param String $key extension key
+   * @param string $key extension key
    *
    * @return array
    */
@@ -578,7 +578,7 @@ class CRM_Extension_Manager {
    * Determine if the extension specified is currently involved in an install
    * or enable process. Just sugar code to make things more readable.
    *
-   * @param String $key extension key
+   * @param string $key extension key
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Extension/MixinScanner.php b/civicrm/CRM/Extension/MixinScanner.php
index 8e4039b6042a6076a2c3df64a4b93f300dee2b0e..d433757ce9a8c2b7c071378357af8a4fc5282908 100644
--- a/civicrm/CRM/Extension/MixinScanner.php
+++ b/civicrm/CRM/Extension/MixinScanner.php
@@ -52,8 +52,8 @@ class CRM_Extension_MixinScanner {
 
   /**
    * CRM_Extension_ClassLoader constructor.
-   * @param \CRM_Extension_Mapper|NULL $mapper
-   * @param \CRM_Extension_Manager|NULL $manager
+   * @param \CRM_Extension_Mapper|null $mapper
+   * @param \CRM_Extension_Manager|null $manager
    * @param bool $relativize
    *   Whether to store paths in relative form.
    *   Enabling this may slow-down scanning a bit, and it has no benefit when for on-demand loaders.
diff --git a/civicrm/CRM/Financial/BAO/ExportFormat.php b/civicrm/CRM/Financial/BAO/ExportFormat.php
index 9559a5d4c60d076437386252a8c371e7d3ae867b..8e27691e57576fed3c6a89368b4c04ec05132126 100644
--- a/civicrm/CRM/Financial/BAO/ExportFormat.php
+++ b/civicrm/CRM/Financial/BAO/ExportFormat.php
@@ -73,7 +73,7 @@ abstract class CRM_Financial_BAO_ExportFormat {
   /**
    * Abstract function that generates exports, and downloads them as zip file.
    *
-   * @param $exportDaos array with DAO's for queries to be exported.
+   * @param array $exportDaos with DAO's for queries to be exported.
    */
   abstract public function makeExport($exportDaos);
 
diff --git a/civicrm/CRM/Financial/BAO/ExportFormat/CSV.php b/civicrm/CRM/Financial/BAO/ExportFormat/CSV.php
index 505156bacae2136e706be774120bc4fa6724d1b1..b8c1db3b0c4ac6fc52a5d317227c2d90b88f20b9 100644
--- a/civicrm/CRM/Financial/BAO/ExportFormat/CSV.php
+++ b/civicrm/CRM/Financial/BAO/ExportFormat/CSV.php
@@ -32,13 +32,6 @@ class CRM_Financial_BAO_ExportFormat_CSV extends CRM_Financial_BAO_ExportFormat
     'CUST',
   ];
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * @param array $exportParams
    */
@@ -115,7 +108,7 @@ class CRM_Financial_BAO_ExportFormat_CSV extends CRM_Financial_BAO_ExportFormat
   }
 
   /**
-   * @param $export
+   * @param array $export
    *
    * @return string
    */
diff --git a/civicrm/CRM/Financial/BAO/ExportFormat/IIF.php b/civicrm/CRM/Financial/BAO/ExportFormat/IIF.php
index bd0f13c8fa127fbfb7cf4da9c0e91b1dca2d4384..6028c795197726559430dee8fbeee758c50d2c6b 100644
--- a/civicrm/CRM/Financial/BAO/ExportFormat/IIF.php
+++ b/civicrm/CRM/Financial/BAO/ExportFormat/IIF.php
@@ -75,7 +75,7 @@ class CRM_Financial_BAO_ExportFormat_IIF extends CRM_Financial_BAO_ExportFormat
   }
 
   /**
-   * @param $out
+   * @param string $out
    *
    * @return string
    */
@@ -144,7 +144,7 @@ class CRM_Financial_BAO_ExportFormat_IIF extends CRM_Financial_BAO_ExportFormat
   }
 
   /**
-   * @param $export
+   * @param array $export
    */
   public function makeExport($export) {
     // Keep running list of accounts and contacts used in this batch, since we need to
diff --git a/civicrm/CRM/Financial/BAO/FinancialAccount.php b/civicrm/CRM/Financial/BAO/FinancialAccount.php
index de3da002c737e364aca5ae6f6b4fffd0e34fe966..b7320514ac0352fe4d0bb3fabfdc221488af3373 100644
--- a/civicrm/CRM/Financial/BAO/FinancialAccount.php
+++ b/civicrm/CRM/Financial/BAO/FinancialAccount.php
@@ -16,13 +16,6 @@
  */
 class CRM_Financial_BAO_FinancialAccount extends CRM_Financial_DAO_FinancialAccount implements \Civi\Test\HookInterface {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -281,7 +274,7 @@ WHERE cft.id = %1
   /**
    * Get Financial Account type relations.
    *
-   * @param $flip bool
+   * @param bool $flip
    *
    * @return array
    *
diff --git a/civicrm/CRM/Financial/BAO/FinancialItem.php b/civicrm/CRM/Financial/BAO/FinancialItem.php
index 1deff5bf9c0f1e462509d0b7f46d198837b8cc3a..15879bd854d5a7bbf39736804c9812f59b59c9ba 100644
--- a/civicrm/CRM/Financial/BAO/FinancialItem.php
+++ b/civicrm/CRM/Financial/BAO/FinancialItem.php
@@ -16,13 +16,6 @@
  */
 class CRM_Financial_BAO_FinancialItem extends CRM_Financial_DAO_FinancialItem {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
diff --git a/civicrm/CRM/Financial/BAO/FinancialType.php b/civicrm/CRM/Financial/BAO/FinancialType.php
index 88143c0fb6a3f7d84f0d8b7a8ccd9f18b2be7037..2b3d81f5ece675d1453d589758326a537ade79f2 100644
--- a/civicrm/CRM/Financial/BAO/FinancialType.php
+++ b/civicrm/CRM/Financial/BAO/FinancialType.php
@@ -31,13 +31,6 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType im
    */
   public static $_statusACLFt = [];
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -350,46 +343,30 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType im
   /**
    * Function to build a permissioned sql where clause based on available financial types.
    *
-   * @param array $whereClauses
-   *   (reference ) an array of clauses
    * @param string $component
    *   the type of component
-   * @param string $alias
-   *   the alias to use
    *
+   * @return string $clauses
    */
-  public static function buildPermissionedClause(&$whereClauses, $component = NULL, $alias = NULL) {
+  public static function buildPermissionedClause(string $component): string {
+    $clauses = [];
     // @todo the relevant addSelectWhere clause should be called.
     if (!self::isACLFinancialTypeStatus()) {
-      return FALSE;
+      return '';
     }
-    if (is_array($whereClauses)) {
-      $types = self::getAllEnabledAvailableFinancialTypes();
-      if (empty($types)) {
-        $whereClauses[] = ' ' . $alias . '.financial_type_id IN (0)';
-      }
-      else {
-        $whereClauses[] = ' ' . $alias . '.financial_type_id IN (' . implode(',', array_keys($types)) . ')';
-      }
+    if ($component === 'contribution') {
+      $clauses = CRM_Contribute_BAO_Contribution::getSelectWhereClause();
     }
-    else {
-      if ($component == 'contribution') {
-        $types = self::getAllEnabledAvailableFinancialTypes();
-        $column = "financial_type_id";
-      }
-      if ($component == 'membership') {
-        self::getAvailableMembershipTypes($types, CRM_Core_Action::VIEW);
-        $column = "membership_type_id";
-      }
-      if (!empty($whereClauses)) {
-        $whereClauses .= ' AND ';
-      }
+    if ($component === 'membership') {
+      self::getAvailableMembershipTypes($types, CRM_Core_Action::VIEW);
+      $types = array_keys($types);
       if (empty($types)) {
-        $whereClauses .= " civicrm_{$component}.{$column} IN (0)";
-        return;
+        $types = [0];
       }
-      $whereClauses .= " civicrm_{$component}.{$column} IN (" . implode(',', array_keys($types)) . ")";
+      $clauses[] = ' civicrm_membership.membership_type_id IN (' . implode(',', $types) . ')';
+
     }
+    return implode(' AND ', $clauses);
   }
 
   /**
diff --git a/civicrm/CRM/Financial/BAO/FinancialTypeAccount.php b/civicrm/CRM/Financial/BAO/FinancialTypeAccount.php
index 248d2b4f6b8f0472757cb8d278658e2e42008834..f54d4c0a20f652a8451a97b705a7886c60a2af0e 100644
--- a/civicrm/CRM/Financial/BAO/FinancialTypeAccount.php
+++ b/civicrm/CRM/Financial/BAO/FinancialTypeAccount.php
@@ -16,13 +16,6 @@
  */
 class CRM_Financial_BAO_FinancialTypeAccount extends CRM_Financial_DAO_EntityFinancialAccount {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -93,7 +86,7 @@ class CRM_Financial_BAO_FinancialTypeAccount extends CRM_Financial_DAO_EntityFin
 
     $financialTypeId = CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_EntityFinancialAccount', $financialTypeAccountId, 'entity_id');
     // check dependencies
-    // FIXME more table containing financial_type_id to come
+    // FIXME hardcoded list = bad
     $dependency = [
       ['Contribute', 'Contribution'],
       ['Contribute', 'ContributionPage'],
@@ -107,12 +100,14 @@ class CRM_Financial_BAO_FinancialTypeAccount extends CRM_Financial_DAO_EntityFin
 
     foreach ($dependency as $name) {
       $daoString = 'CRM_' . $name[0] . '_DAO_' . $name[1];
-      /* @var \CRM_Core_DAO $dao */
-      $dao = new $daoString();
-      $dao->financial_type_id = $financialTypeId;
-      if ($dao->find(TRUE)) {
-        $check = TRUE;
-        break;
+      if (class_exists($daoString)) {
+        /* @var \CRM_Core_DAO $dao */
+        $dao = new $daoString();
+        $dao->financial_type_id = $financialTypeId;
+        if ($dao->find(TRUE)) {
+          $check = TRUE;
+          break;
+        }
       }
     }
 
diff --git a/civicrm/CRM/Financial/BAO/Order.php b/civicrm/CRM/Financial/BAO/Order.php
index 29cfc2793855ee3b36e47417f5d62697b4210bff..9e84402c55b75a2543eb72c1ae45ebce29373ce6 100644
--- a/civicrm/CRM/Financial/BAO/Order.php
+++ b/civicrm/CRM/Financial/BAO/Order.php
@@ -316,7 +316,7 @@ class CRM_Financial_BAO_Order {
    *
    * @internal use in tested core code only.
    *
-   * @param \CRM_Core_Form|NULL $form
+   * @param \CRM_Core_Form|null $form
    */
   public function setForm(?CRM_Core_Form $form): void {
     $this->form = $form;
@@ -817,7 +817,7 @@ class CRM_Financial_BAO_Order {
       if ($this->isOverrideLineItemFinancialType($lineItem['financial_type_id']) !== FALSE) {
         $lineItem['financial_type_id'] = $this->getOverrideFinancialTypeID();
       }
-      $taxRate = $this->getTaxRate((int) $lineItem['financial_type_id']);
+      $lineItem['tax_rate'] = $taxRate = $this->getTaxRate((int) $lineItem['financial_type_id']);
       if ($this->getOverrideTotalAmount() !== FALSE) {
         $this->addTotalsToLineBasedOnOverrideTotal((int) $lineItem['financial_type_id'], $lineItem);
       }
@@ -1030,7 +1030,7 @@ class CRM_Financial_BAO_Order {
    * @return void
    */
   protected function addTotalsToLineBasedOnOverrideTotal(int $financialTypeID, array &$lineItem): void {
-    $taxRate = $this->getTaxRate($financialTypeID);
+    $lineItem['tax_rate'] = $taxRate = $this->getTaxRate($financialTypeID);
     if ($taxRate) {
       // Total is tax inclusive.
       $lineItem['tax_amount'] = ($taxRate / 100) * $this->getOverrideTotalAmount() / (1 + ($taxRate / 100));
diff --git a/civicrm/CRM/Financial/BAO/Payment.php b/civicrm/CRM/Financial/BAO/Payment.php
index e24a4dfebcbf35570e7e727fab9b54006725598c..12439c2dfbc6564ee3dd06f6c4f4fe9f03a0572d 100644
--- a/civicrm/CRM/Financial/BAO/Payment.php
+++ b/civicrm/CRM/Financial/BAO/Payment.php
@@ -278,6 +278,11 @@ class CRM_Financial_BAO_Payment {
   public static function sendConfirmation($params) {
 
     $entities = self::loadRelatedEntities($params['id']);
+
+    if (!empty($entities['event'])) {
+      CRM_Event_BAO_Event::setOutputTimeZone($entities['event']);
+    }
+
     $sendTemplateParams = [
       'groupName' => 'msg_tpl_workflow_contribution',
       'valueName' => 'payment_or_refund_notification',
diff --git a/civicrm/CRM/Financial/BAO/PaymentProcessor.php b/civicrm/CRM/Financial/BAO/PaymentProcessor.php
index d27b502fb3ba69893c5ba413914edb14d1b67ab9..f455c5e7fcdffe745c8d72efd241a046b17f94be 100644
--- a/civicrm/CRM/Financial/BAO/PaymentProcessor.php
+++ b/civicrm/CRM/Financial/BAO/PaymentProcessor.php
@@ -92,7 +92,7 @@ class CRM_Financial_BAO_PaymentProcessor extends CRM_Financial_DAO_PaymentProces
 
   /**
    * Retrieve array of allowed credit cards for this payment processor.
-   * @param integer|null $paymentProcessorID id of processor.
+   * @param int|null $paymentProcessorID
    * @return array
    */
   public static function getCreditCards($paymentProcessorID = NULL) {
@@ -270,12 +270,12 @@ class CRM_Financial_BAO_PaymentProcessor extends CRM_Financial_DAO_PaymentProces
   /**
    * Get all payment processors as an array of objects.
    *
-   * @param string|NULL $mode
+   * @param string|null $mode
    * only return this mode - test|live or NULL for all
    * @param bool $reset
    * @param bool $isCurrentDomainOnly
    *   Do we only want to load payment processors associated with the current domain.
-   * @param bool|NULL $isActive
+   * @param bool|null $isActive
    *   Do we only want active processors, only inactive (FALSE) or all processors (NULL)
    *
    * @throws CiviCRM_API3_Exception
diff --git a/civicrm/CRM/Financial/BAO/PaymentProcessorType.php b/civicrm/CRM/Financial/BAO/PaymentProcessorType.php
index 796e5cfd37e0e3fb237bd74e1c9868befb89e69f..62f4cd44a0cf3c65d3686b566b23fc4e644be56c 100644
--- a/civicrm/CRM/Financial/BAO/PaymentProcessorType.php
+++ b/civicrm/CRM/Financial/BAO/PaymentProcessorType.php
@@ -22,13 +22,6 @@ class CRM_Financial_BAO_PaymentProcessorType extends CRM_Financial_DAO_PaymentPr
    */
   public static $_defaultPaymentProcessorType = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -191,7 +184,7 @@ WHERE pp.payment_processor_type_id = ppt.id AND ppt.id = %1";
   }
 
   /**
-   * @param $attr
+   * @param string $attr
    *
    * @return array
    */
diff --git a/civicrm/CRM/Financial/DAO/Currency.php b/civicrm/CRM/Financial/DAO/Currency.php
index cfad1c496df514ad0e394c4e956401325eaeafb2..4618448e1a4dfa801d9fc336f64447db3e57249c 100644
--- a/civicrm/CRM/Financial/DAO/Currency.php
+++ b/civicrm/CRM/Financial/DAO/Currency.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/Currency.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:710d5211ef6887a78a0d2a531b87555a)
+ * (GenCodeChecksum:1e445ed33ce1cd5313e578ebcb400c07)
  */
 
 /**
@@ -34,35 +34,45 @@ class CRM_Financial_DAO_Currency extends CRM_Core_DAO {
   /**
    * Currency ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Currency Name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Currency Symbol
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $symbol;
 
   /**
    * Numeric currency code
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $numeric_code;
 
   /**
    * Full currency name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $full_name;
 
diff --git a/civicrm/CRM/Financial/DAO/EntityFinancialAccount.php b/civicrm/CRM/Financial/DAO/EntityFinancialAccount.php
index 18c6243f5bf9a5ec3ee5fb93b56bf14f396d90c0..16d6a13e75828b9500b24a56e2c6ae6702e08cab 100644
--- a/civicrm/CRM/Financial/DAO/EntityFinancialAccount.php
+++ b/civicrm/CRM/Financial/DAO/EntityFinancialAccount.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/EntityFinancialAccount.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:ed1b639bfb9c1c9be37ed44ed2efe98c)
+ * (GenCodeChecksum:ee1330d41462e8d7fb84657c4efa47f8)
  */
 
 /**
@@ -34,7 +34,9 @@ class CRM_Financial_DAO_EntityFinancialAccount extends CRM_Core_DAO {
   /**
    * ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -42,27 +44,35 @@ class CRM_Financial_DAO_EntityFinancialAccount extends CRM_Core_DAO {
    * Links to an entity_table like civicrm_financial_type
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * Links to an id in the entity_table, such as vid in civicrm_financial_type
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * FK to a new civicrm_option_value (account_relationship)
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $account_relationship;
 
   /**
    * FK to the financial_account_id
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_account_id;
 
diff --git a/civicrm/CRM/Financial/DAO/EntityFinancialTrxn.php b/civicrm/CRM/Financial/DAO/EntityFinancialTrxn.php
index 5b56512c5f8c1ddacda1423daf19a89a096a4439..b67144a5bf64e895c3008b192df95ebb27533622 100644
--- a/civicrm/CRM/Financial/DAO/EntityFinancialTrxn.php
+++ b/civicrm/CRM/Financial/DAO/EntityFinancialTrxn.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/EntityFinancialTrxn.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:fafa322736bff4ccf082449b5e54cd35)
+ * (GenCodeChecksum:04adc48b1cca1ec60c364ec136ddc148)
  */
 
 /**
@@ -34,7 +34,9 @@ class CRM_Financial_DAO_EntityFinancialTrxn extends CRM_Core_DAO {
   /**
    * ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -42,23 +44,31 @@ class CRM_Financial_DAO_EntityFinancialTrxn extends CRM_Core_DAO {
    * May contain civicrm_financial_item, civicrm_contribution, civicrm_financial_trxn, civicrm_grant, etc
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_trxn_id;
 
   /**
    * allocated amount of transaction to this entity
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount;
 
diff --git a/civicrm/CRM/Financial/DAO/FinancialAccount.php b/civicrm/CRM/Financial/DAO/FinancialAccount.php
index 377a0521c4869b013a253b6b881a5225f0842796..0f83708dd3d8e80b3fb633a089056af07a7ffa69 100644
--- a/civicrm/CRM/Financial/DAO/FinancialAccount.php
+++ b/civicrm/CRM/Financial/DAO/FinancialAccount.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/FinancialAccount.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:08824371a351806b30fc54c608138bd6)
+ * (GenCodeChecksum:ae32a35de5bc66a8e230b5595b77810f)
  */
 
 /**
@@ -34,7 +34,9 @@ class CRM_Financial_DAO_FinancialAccount extends CRM_Core_DAO {
   /**
    * ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -42,97 +44,125 @@ class CRM_Financial_DAO_FinancialAccount extends CRM_Core_DAO {
    * Financial Account Name.
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * FK to Contact ID that is responsible for the funds in this account
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * pseudo FK into civicrm_option_value.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_account_type_id;
 
   /**
    * Optional value for mapping monies owed and received to accounting system codes.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $accounting_code;
 
   /**
    * Optional value for mapping account types to accounting system account categories (QuickBooks Account Type Codes for example).
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $account_type_code;
 
   /**
    * Financial Type Description.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Parent ID in account hierarchy
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_id;
 
   /**
    * Is this a header account which does not allow transactions to be posted against it directly, but only to its sub-accounts?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_header_account;
 
   /**
    * Is this account tax-deductible?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_deductible;
 
   /**
    * Is this account for taxes?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_tax;
 
   /**
    * The percentage of the total_amount that is due for this tax.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(10,8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $tax_rate;
 
   /**
    * Is this a predefined system object?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this account the default one (or default tax one) for its financial_account_type?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
diff --git a/civicrm/CRM/Financial/DAO/FinancialItem.php b/civicrm/CRM/Financial/DAO/FinancialItem.php
index 106dddb0417bcad016445a9b8392f6ad3789cf50..6970a3c435cb386fd784673c0916ed50c5636a4d 100644
--- a/civicrm/CRM/Financial/DAO/FinancialItem.php
+++ b/civicrm/CRM/Financial/DAO/FinancialItem.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/FinancialItem.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:70be7900a331cb86c9cd6ee76544adc5)
+ * (GenCodeChecksum:fb47253c848979ed40aae7affbc188a3)
  */
 
 /**
@@ -32,77 +32,99 @@ class CRM_Financial_DAO_FinancialItem extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Date and time the item was created
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * Date and time of the source transaction
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $transaction_date;
 
   /**
    * FK to Contact ID of contact the item is from
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Human readable description of this item, to ease display without lookup of source item.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Total amount of this item
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount;
 
   /**
    * Currency for the amount
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * FK to civicrm_financial_account
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_account_id;
 
   /**
    * Payment status: test, paid, part_paid, unpaid (if empty assume unpaid)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * May contain civicrm_line_item, civicrm_financial_trxn etc
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * The specific source item that is responsible for the creation of this financial_item
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
diff --git a/civicrm/CRM/Financial/DAO/FinancialTrxn.php b/civicrm/CRM/Financial/DAO/FinancialTrxn.php
index 499098c44ee98d6b60a7d777538d476463a482f9..ff401a529b85f63d32e15af718a92366de5561cd 100644
--- a/civicrm/CRM/Financial/DAO/FinancialTrxn.php
+++ b/civicrm/CRM/Financial/DAO/FinancialTrxn.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/FinancialTrxn.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:330be109309bcc6fc543b287c805e606)
+ * (GenCodeChecksum:ab70fbb4b84fe620236a196f5a80926e)
  */
 
 /**
@@ -32,126 +32,162 @@ class CRM_Financial_DAO_FinancialTrxn extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to financial_account table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $from_financial_account_id;
 
   /**
    * FK to financial_financial_account table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $to_financial_account_id;
 
   /**
    * date transaction occurred
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $trxn_date;
 
   /**
    * amount of transaction
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $total_amount;
 
   /**
    * actual processor fee if known - may be 0.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fee_amount;
 
   /**
    * actual funds transfer amount. total less fees. if processor does not report actual fee during transaction, this is set to total_amount.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $net_amount;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * Is this entry either a payment or a reversal of a payment?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_payment;
 
   /**
    * Transaction id supplied by external processor. This may not be unique.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $trxn_id;
 
   /**
    * processor result code
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $trxn_result_code;
 
   /**
    * pseudo FK to civicrm_option_value of contribution_status_id option_group
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * Payment Processor for this financial transaction
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_processor_id;
 
   /**
    * FK to payment_instrument option group values
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_instrument_id;
 
   /**
    * FK to accept_creditcard option group values
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $card_type_id;
 
   /**
    * Check number
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $check_number;
 
   /**
    * Last 4 digits of credit card
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(4))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pan_truncation;
 
   /**
    * Payment Processor external order reference
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $order_reference;
 
diff --git a/civicrm/CRM/Financial/DAO/FinancialType.php b/civicrm/CRM/Financial/DAO/FinancialType.php
index 3593396d76565b8a59e971a893751d0f70379e4d..0a76012ccf92a62a18580d9b87995857d7d9709f 100644
--- a/civicrm/CRM/Financial/DAO/FinancialType.php
+++ b/civicrm/CRM/Financial/DAO/FinancialType.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/FinancialType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:2e4be9c40fcfbca83940bb875d516886)
+ * (GenCodeChecksum:896dd0256e12220dc174740a9f66012f)
  */
 
 /**
@@ -41,7 +41,9 @@ class CRM_Financial_DAO_FinancialType extends CRM_Core_DAO {
   /**
    * ID of original financial_type so you can search this table by the financial_type.id and then select the relevant version based on the timestamp
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -49,34 +51,44 @@ class CRM_Financial_DAO_FinancialType extends CRM_Core_DAO {
    * Financial Type Name.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Financial Type Description.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Is this financial type tax-deductible? If true, contributions of this type may be fully OR partially deductible - non-deductible amount is stored in the Contribution record.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_deductible;
 
   /**
    * Is this a predefined system object?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Financial/DAO/PaymentProcessor.php b/civicrm/CRM/Financial/DAO/PaymentProcessor.php
index 8c86a63342e845585fb82bf9ea5959bc3196f9fb..82622f2b69949139c6664068120a4392170a5ccd 100644
--- a/civicrm/CRM/Financial/DAO/PaymentProcessor.php
+++ b/civicrm/CRM/Financial/DAO/PaymentProcessor.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/PaymentProcessor.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:a541d72f9435b6ae2706d98cc01b1598)
+ * (GenCodeChecksum:7d4681a9b748c272c9da9807af6e4809)
  */
 
 /**
@@ -34,141 +34,187 @@ class CRM_Financial_DAO_PaymentProcessor extends CRM_Core_DAO {
   /**
    * Payment Processor ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this match entry for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * Payment Processor Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Payment Processor Descriptive Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(127))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Payment Processor Description.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_processor_type_id;
 
   /**
    * Is this processor active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this processor the default?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
    * Is this processor for a test site?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_test;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $user_name;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $password;
 
   /**
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $signature;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_site;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_api;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_recur;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_button;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $subject;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $class_name;
 
   /**
    * Billing Mode (deprecated)
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $billing_mode;
 
   /**
    * Can process recurring contributions
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_recur;
 
   /**
    * Payment Type: Credit or Debit (deprecated)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_type;
 
   /**
    * Payment Instrument ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_instrument_id;
 
   /**
    * array of accepted credit card types
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $accepted_credit_cards;
 
diff --git a/civicrm/CRM/Financial/DAO/PaymentProcessorType.php b/civicrm/CRM/Financial/DAO/PaymentProcessorType.php
index 32118ba04a13fd277a6681d4e76b81974416d119..4088336a4a1927a23cf615ee3ed9d3ebbd55e906 100644
--- a/civicrm/CRM/Financial/DAO/PaymentProcessorType.php
+++ b/civicrm/CRM/Financial/DAO/PaymentProcessorType.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/PaymentProcessorType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:f60f8f4248c8c667223720869d8c81b3)
+ * (GenCodeChecksum:a24e95eecd01bdb6ff555cd307a62084)
  */
 
 /**
@@ -34,7 +34,9 @@ class CRM_Financial_DAO_PaymentProcessorType extends CRM_Core_DAO {
   /**
    * Payment Processor Type ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -42,6 +44,8 @@ class CRM_Financial_DAO_PaymentProcessorType extends CRM_Core_DAO {
    * Payment Processor Type Name.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
@@ -49,120 +53,162 @@ class CRM_Financial_DAO_PaymentProcessorType extends CRM_Core_DAO {
    * Payment Processor Type Title.
    *
    * @var string
+   *   (SQL type: varchar(127))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Payment Processor Description.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Is this processor active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this processor the default?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $user_name_label;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $password_label;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $signature_label;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $subject_label;
 
   /**
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $class_name;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_site_default;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_api_default;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_recur_default;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_button_default;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_site_test_default;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_api_test_default;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_recur_test_default;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_button_test_default;
 
   /**
    * Billing Mode (deprecated)
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $billing_mode;
 
   /**
    * Can process recurring contributions
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_recur;
 
   /**
    * Payment Type: Credit or Debit (deprecated)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_type;
 
   /**
    * Payment Instrument ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_instrument_id;
 
diff --git a/civicrm/CRM/Financial/DAO/PaymentToken.php b/civicrm/CRM/Financial/DAO/PaymentToken.php
index 0c6816df4d674002f08ea3f0b25229fef21259d7..43a9de870661897e8208d69a9b11d719e88c8df4 100644
--- a/civicrm/CRM/Financial/DAO/PaymentToken.php
+++ b/civicrm/CRM/Financial/DAO/PaymentToken.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/PaymentToken.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:f1c4b32a0722841ec435f9b6c4ecfe54)
+ * (GenCodeChecksum:e5c6457ebb1ae691f811a3472d1a9eec)
  */
 
 /**
@@ -34,19 +34,25 @@ class CRM_Financial_DAO_PaymentToken extends CRM_Core_DAO {
   /**
    * Payment Token ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID for the owner of the token
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_processor_id;
 
@@ -54,69 +60,89 @@ class CRM_Financial_DAO_PaymentToken extends CRM_Core_DAO {
    * Externally provided token string
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $token;
 
   /**
    * Date created
    *
-   * @var timestamp
+   * @var string|null
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * Contact ID of token creator
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Date this token expires
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $expiry_date;
 
   /**
    * Email at the time of token creation. Useful for fraud forensics
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email;
 
   /**
    * Billing first name at the time of token creation. Useful for fraud forensics
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $billing_first_name;
 
   /**
    * Billing middle name at the time of token creation. Useful for fraud forensics
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $billing_middle_name;
 
   /**
    * Billing last name at the time of token creation. Useful for fraud forensics
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $billing_last_name;
 
   /**
    * Holds the part of the card number or account details that may be retained or displayed
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $masked_account_number;
 
   /**
    * IP used when creating the token. Useful for fraud forensics
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $ip_address;
 
diff --git a/civicrm/CRM/Financial/Form/FinancialAccount.php b/civicrm/CRM/Financial/Form/FinancialAccount.php
index 82fb432f8512741aebab6f45a9e22be64d758b46..ea6e127cafc75c3f6aad5ce14d0c2e18f368fa0a 100644
--- a/civicrm/CRM/Financial/Form/FinancialAccount.php
+++ b/civicrm/CRM/Financial/Form/FinancialAccount.php
@@ -115,7 +115,7 @@ class CRM_Financial_Form_FinancialAccount extends CRM_Contribute_Form {
    * @param array $values
    *   posted values of the form
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Financial/Form/FinancialBatch.php b/civicrm/CRM/Financial/Form/FinancialBatch.php
index 8665b6fc2c3f71bc9db46dcc133c78a45d220d3d..a417ab8a2180d4f9582a8ff39455f084dfd69fd3 100644
--- a/civicrm/CRM/Financial/Form/FinancialBatch.php
+++ b/civicrm/CRM/Financial/Form/FinancialBatch.php
@@ -141,7 +141,7 @@ class CRM_Financial_Form_FinancialBatch extends CRM_Contribute_Form {
    *
    * @param array $values
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Financial/Form/FinancialType.php b/civicrm/CRM/Financial/Form/FinancialType.php
index 9dce6892ac2e6f42871a5db4fc24a1a16339580d..5dc3100dd93c7de908c5ce860e682c80dfa16a1f 100644
--- a/civicrm/CRM/Financial/Form/FinancialType.php
+++ b/civicrm/CRM/Financial/Form/FinancialType.php
@@ -44,12 +44,6 @@ class CRM_Financial_Form_FinancialType extends CRM_Core_Form {
    * @throws \CRM_Core_Exception
    */
   public function preProcess() {
-    // Check permission for Financial Type when ACL-FT is enabled
-    if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus()
-      && !CRM_Core_Permission::check('administer CiviCRM Financial Types')
-    ) {
-      CRM_Core_Error::statusBounce(ts('You do not have permission to access this page.'));
-    }
     $this->_id = CRM_Utils_Request::retrieve('id', 'Positive', $this);
     parent::preProcess();
     $this->setPageTitle(ts('Financial Type'));
diff --git a/civicrm/CRM/Financial/Form/FinancialTypeAccount.php b/civicrm/CRM/Financial/Form/FinancialTypeAccount.php
index a3e66c76b4c50d7528ba9af86c6d7d979c0eefd8..fae3624ab93d06d61af770d478fc6aa67f00d570 100644
--- a/civicrm/CRM/Financial/Form/FinancialTypeAccount.php
+++ b/civicrm/CRM/Financial/Form/FinancialTypeAccount.php
@@ -200,7 +200,7 @@ class CRM_Financial_Form_FinancialTypeAccount extends CRM_Core_Form {
    * @param array $values
    *   posted values of the form
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Financial/Form/FrontEndPaymentFormTrait.php b/civicrm/CRM/Financial/Form/FrontEndPaymentFormTrait.php
index dbf787e27d616a03c1cab006b796764d363c2436..4ae5d30bacaa3fa36eccd196a0ed42e8b423541c 100644
--- a/civicrm/CRM/Financial/Form/FrontEndPaymentFormTrait.php
+++ b/civicrm/CRM/Financial/Form/FrontEndPaymentFormTrait.php
@@ -110,7 +110,7 @@ trait CRM_Financial_Form_FrontEndPaymentFormTrait {
    * This is an early cut of what will ideally eventually be a hooklike call to the
    * CRM_Invoicing_Utils class with a potential end goal of moving this handling to an extension.
    *
-   * @param $tplLineItems
+   * @param array $tplLineItems
    */
   protected function alterLineItemsForTemplate(&$tplLineItems) {
     if (!CRM_Invoicing_Utils::isInvoicingEnabled()) {
diff --git a/civicrm/CRM/Financial/Form/Payment.php b/civicrm/CRM/Financial/Form/Payment.php
index 09bd75851b955c756615a01a9928fe3c7bb1c73b..e1937e149b364f1190e4f931f2ff3adf1da5ee5b 100644
--- a/civicrm/CRM/Financial/Form/Payment.php
+++ b/civicrm/CRM/Financial/Form/Payment.php
@@ -130,7 +130,7 @@ class CRM_Financial_Form_Payment extends CRM_Core_Form {
    * We add the icons based on these css names which are lower cased
    * and only AlphaNumeric (+ _).
    *
-   * @param $key
+   * @param string $key
    *
    * @return string
    */
@@ -148,7 +148,7 @@ class CRM_Financial_Form_Payment extends CRM_Core_Form {
    * We do a strotolower comparison as we don't know what case people might have if they
    * are using a non-std one like dinersclub.
    *
-   * @param $key
+   * @param string $key
    *
    * Based on http://davidwalsh.name/validate-credit-cards
    * See also https://en.wikipedia.org/wiki/Credit_card_numbers
diff --git a/civicrm/CRM/Financial/Form/PaymentEdit.php b/civicrm/CRM/Financial/Form/PaymentEdit.php
index 23f41433079b0d05ee4a92ce1b40cbccedd32d56..afa6bd745c4b574f795b9387cecc0fefb227039a 100644
--- a/civicrm/CRM/Financial/Form/PaymentEdit.php
+++ b/civicrm/CRM/Financial/Form/PaymentEdit.php
@@ -139,7 +139,7 @@ class CRM_Financial_Form_PaymentEdit extends CRM_Core_Form {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   true if no errors, else array of errors
diff --git a/civicrm/CRM/Financial/Page/AJAX.php b/civicrm/CRM/Financial/Page/AJAX.php
index 33e891cb2a5768f3dd2c0f148c1be1b46641f2a3..1218a53bf4d09b2a4c6adacc3f123d05a6414faa 100644
--- a/civicrm/CRM/Financial/Page/AJAX.php
+++ b/civicrm/CRM/Financial/Page/AJAX.php
@@ -15,6 +15,8 @@
  * @copyright CiviCRM LLC https://civicrm.org/licensing
  */
 
+use Civi\Api4\Batch;
+
 /**
  * This class contains all the function that are called using AJAX
  */
@@ -170,19 +172,13 @@ class CRM_Financial_Page_AJAX {
         switch ($op) {
           case 'assign':
           case 'remove':
-            $recordPID = CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_FinancialTrxn', $recordID, 'payment_instrument_id');
-            $batchPID = CRM_Core_DAO::getFieldValue('CRM_Batch_DAO_Batch', $entityID, 'payment_instrument_id');
-            $paymentInstrument = CRM_Core_PseudoConstant::getLabel('CRM_Batch_BAO_Batch', 'payment_instrument_id', $batchPID);
-            if ($op == 'remove' || ($recordPID == $batchPID && $op == 'assign') || !isset($batchPID)) {
+            if ($op == 'remove' || $op == 'assign') {
               $params = [
                 'entity_id' => $recordID,
                 'entity_table' => 'civicrm_financial_trxn',
                 'batch_id' => $entityID,
               ];
             }
-            else {
-              $response = ['status' => ts("This batch is configured to include only transactions using %1 payment method. If you want to include other transactions, please edit the batch first and modify the Payment Method.", [1 => $paymentInstrument])];
-            }
             break;
 
           case 'close':
@@ -204,7 +200,12 @@ class CRM_Financial_Page_AJAX {
         }
 
         if (method_exists($recordBAO, $methods[$op]) & !empty($params)) {
-          $updated = call_user_func_array(array($recordBAO, $methods[$op]), array(&$params));
+          try {
+            $updated = call_user_func_array(array($recordBAO, $methods[$op]), array(&$params));
+          }
+          catch (\CRM_Core_Exception $e) {
+            $errorMessage = $e->getMessage();
+          }
           if ($updated) {
             $redirectStatus = $updated->status_id;
             if ($batchStatus[$updated->status_id] == "Reopened") {
@@ -215,6 +216,9 @@ class CRM_Financial_Page_AJAX {
               'status_id' => $redirectStatus,
             ];
           }
+          if ($errorMessage ?? FALSE) {
+            $response = ['status' => $errorMessage];
+          }
         }
       }
     }
@@ -465,70 +469,84 @@ class CRM_Financial_Page_AJAX {
       }
     }
 
-    $batchPID = CRM_Core_DAO::getFieldValue('CRM_Batch_DAO_Batch', $entityID, 'payment_instrument_id');
-    $paymentInstrument = CRM_Core_PseudoConstant::getLabel('CRM_Batch_BAO_Batch', 'payment_instrument_id', $batchPID);
-    foreach ($cIDs as $key => $value) {
-      $recordPID = CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_FinancialTrxn', $value, 'payment_instrument_id');
-      if ($action == 'Remove' || ($recordPID == $batchPID && $action == 'Assign') || !isset($batchPID)) {
+    foreach ($cIDs as $value) {
+      if ($action == 'Remove' || $action == 'Assign') {
         $params = [
           'entity_id' => $value,
           'entity_table' => 'civicrm_financial_trxn',
           'batch_id' => $entityID,
         ];
-        if ($action == 'Assign') {
-          $updated = CRM_Batch_BAO_EntityBatch::create($params);
-        }
-        else {
-          $delete = \Civi\Api4\EntityBatch::delete(FALSE);
-          foreach ($params as $field => $val) {
-            $delete->addWhere($field, '=', $val);
+        try {
+          if ($action == 'Assign') {
+            CRM_Batch_BAO_EntityBatch::create($params);
+          }
+          else {
+            $delete = \Civi\Api4\EntityBatch::delete(FALSE);
+            foreach ($params as $field => $val) {
+              $delete->addWhere($field, '=', $val);
+            }
+            $delete->execute()->count();
           }
-          $updated = $delete->execute()->count();
+        }
+        catch (\CRM_Core_Exception $e) {
+          $errorMessage = $e->getMessage();
         }
       }
     }
-    if ($updated) {
-      $status = ['status' => 'record-updated-success'];
+    if ($errorMessage ?? FALSE) {
+      $status = ['status' => $errorMessage];
     }
     else {
-      $status = ['status' => ts("This batch is configured to include only transactions using %1 payment method. If you want to include other transactions, please edit the batch first and modify the Payment Method.", [1 => $paymentInstrument])];
+      $status = ['status' => 'record-updated-success'];
     }
     CRM_Utils_JSON::output($status);
   }
 
-  public static function getBatchSummary() {
-    $batchID = CRM_Utils_Type::escape($_REQUEST['batchID'], 'String');
-    $params = ['id' => $batchID];
-
-    $batchSummary = self::makeBatchSummary($batchID, $params);
-
-    CRM_Utils_JSON::output($batchSummary);
+  /**
+   * @throws \API_Exception
+   * @throws \CRM_Core_Exception
+   */
+  public static function getBatchSummary(): void {
+    CRM_Utils_JSON::output(self::makeBatchSummary(CRM_Utils_Type::escape($_REQUEST['batchID'], 'Integer')));
   }
 
   /**
-   * Makes an array of the batch's summary and returns array to parent getBatchSummary() function.
+   * Get a summary of the batch..
    *
    * @param $batchID
-   * @param $params
    *
    * @return array
+   * @throws \API_Exception
+   * @throws \CRM_Core_Exception
    */
-  public static function makeBatchSummary($batchID, $params) {
-    $batchInfo = CRM_Batch_BAO_Batch::retrieve($params, $value);
+  public static function makeBatchSummary(int $batchID): array {
+    // We use permissions false because the old function did that & we
+    // have not tested to ensure permissions are correct - but ideally
+    // we would setCheckPermissions = TRUE.
+    $batchInfo = Batch::get(FALSE)
+      ->addWhere('id', '=', $batchID)
+      ->addSelect(
+        'description',
+        'item_count',
+        'total',
+        'created_date',
+        'created_id.display_name',
+        'status_id:label',
+        'payment_instrument_id:label'
+      )
+      ->execute()->first();
     $batchTotals = CRM_Batch_BAO_Batch::batchTotals([$batchID]);
-    $batchSummary = [
-      'created_by' => CRM_Contact_BAO_Contact::displayName($batchInfo->created_id),
-      'status' => CRM_Core_PseudoConstant::getLabel('CRM_Batch_BAO_Batch', 'status_id', $batchInfo->status_id),
-      'description' => $batchInfo->description,
-      'payment_instrument' => CRM_Core_PseudoConstant::getLabel('CRM_Batch_BAO_Batch', 'payment_instrument_id', $batchInfo->payment_instrument_id),
-      'item_count' => $batchInfo->item_count,
+    return [
+      'created_by' => $batchInfo['created_id.display_name'],
+      'status' => $batchInfo['status_id:label'],
+      'description' => $batchInfo['description'],
+      'payment_instrument' => $batchInfo['payment_instrument_id:label'],
+      'item_count' => $batchInfo['item_count'],
       'assigned_item_count' => $batchTotals[$batchID]['item_count'],
-      'total' => CRM_Utils_Money::format($batchInfo->total),
-      'assigned_total' => CRM_Utils_Money::format($batchTotals[$batchID]['total']),
-      'opened_date' => CRM_Utils_Date::customFormat($batchInfo->created_date),
+      'total' => Civi::format()->money($batchInfo['total']),
+      'assigned_total' => Civi::format()->money($batchTotals[$batchID]['total']),
+      'opened_date' => CRM_Utils_Date::customFormat($batchInfo['created_date']),
     ];
-
-    return $batchSummary;
   }
 
 }
diff --git a/civicrm/CRM/Financial/Page/FinancialType.php b/civicrm/CRM/Financial/Page/FinancialType.php
index adb78a4ef8025337b6098f3cad67ad8fb10f0f41..5c9f2d4c64c1ebadc1ed0b0efcf361cf391c560a 100644
--- a/civicrm/CRM/Financial/Page/FinancialType.php
+++ b/civicrm/CRM/Financial/Page/FinancialType.php
@@ -84,12 +84,6 @@ class CRM_Financial_Page_FinancialType extends CRM_Core_Page_Basic {
    * Browse all financial types.
    */
   public function browse() {
-    // Check permission for Financial Type when ACL-FT is enabled
-    if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus()
-      && !CRM_Core_Permission::check('administer CiviCRM Financial Types')
-    ) {
-      CRM_Core_Error::statusBounce(ts('You do not have permission to access this page.'));
-    }
     // get all financial types sorted by weight
     $financialType = [];
     $dao = new CRM_Financial_DAO_FinancialType();
diff --git a/civicrm/CRM/Friend/BAO/Friend.php b/civicrm/CRM/Friend/BAO/Friend.php
index df14f590826a6394e79c0479e7ea3206441103f0..216242af2e86ed4e6dd8176e69129383a2171f2e 100644
--- a/civicrm/CRM/Friend/BAO/Friend.php
+++ b/civicrm/CRM/Friend/BAO/Friend.php
@@ -28,12 +28,6 @@ class CRM_Friend_BAO_Friend extends CRM_Friend_DAO_Friend {
    */
   public $_friendId;
 
-  /**
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Takes an associative array and creates a friend object.
    *
diff --git a/civicrm/CRM/Friend/DAO/Friend.php b/civicrm/CRM/Friend/DAO/Friend.php
index e5a77e498de0fdf202417003716ddaebdbb20c1a..19dac5041dd9840e5631ddd9ecf65fe999cfc057 100644
--- a/civicrm/CRM/Friend/DAO/Friend.php
+++ b/civicrm/CRM/Friend/DAO/Friend.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Friend/Friend.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:cddccd848fafb980eb26245c21f47f76)
+ * (GenCodeChecksum:49f46991da84d0d0067ea70ab6276f15)
  */
 
 /**
@@ -33,7 +33,9 @@ class CRM_Friend_DAO_Friend extends CRM_Core_DAO {
   /**
    * Friend ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -41,58 +43,76 @@ class CRM_Friend_DAO_Friend extends CRM_Core_DAO {
    * Name of table where item being referenced is stored.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * Foreign key to the referenced item.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Introductory message to contributor or participant displayed on the Tell a Friend form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $intro;
 
   /**
    * Suggested message to friends, provided as default on the Tell A Friend form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $suggested_message;
 
   /**
    * URL for general info about the organization - included in the email sent to friends.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $general_link;
 
   /**
    * Text for Tell a Friend thank you page header and HTML title.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_title;
 
   /**
    * Thank you message displayed on success page.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_text;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Grant/Info.php b/civicrm/CRM/Grant/Info.php
deleted file mode 100644
index e4093715f3d88962c58a064b1a6199ab6b79ba6d..0000000000000000000000000000000000000000
--- a/civicrm/CRM/Grant/Info.php
+++ /dev/null
@@ -1,152 +0,0 @@
-<?php
-/*
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC. All rights reserved.                        |
- |                                                                    |
- | This work is published under the GNU AGPLv3 license with some      |
- | permitted exceptions and without any warranty. For full license    |
- | and copyright information, see https://civicrm.org/licensing       |
- +--------------------------------------------------------------------+
- */
-
-/**
- * This class introduces component to the system and provides all the
- * information about it. It needs to extend CRM_Core_Component_Info
- * abstract class.
- *
- * @package CRM
- * @copyright CiviCRM LLC https://civicrm.org/licensing
- */
-class CRM_Grant_Info extends CRM_Core_Component_Info {
-
-  /**
-   * @var string
-   * @inheritDoc
-   */
-  protected $keyword = 'grant';
-
-  /**
-   * @inheritDoc
-   * @return array
-   */
-  public function getInfo() {
-    return [
-      'name' => 'CiviGrant',
-      'translatedName' => ts('CiviGrant'),
-      'title' => 'CiviCRM Grant Management Engine',
-      'path' => 'CRM_Grant_',
-      'search' => 1,
-      'showActivitiesInCore' => 1,
-    ];
-  }
-
-  /**
-   * @inheritDoc
-   * @param bool $getAllUnconditionally
-   * @param bool $descriptions
-   *   Whether to return permission descriptions
-   *
-   * @return array
-   */
-  public function getPermissions($getAllUnconditionally = FALSE, $descriptions = FALSE) {
-    $permissions = [
-      'access CiviGrant' => [
-        ts('access CiviGrant'),
-        ts('View all grants'),
-      ],
-      'edit grants' => [
-        ts('edit grants'),
-        ts('Create and update grants'),
-      ],
-      'delete in CiviGrant' => [
-        ts('delete in CiviGrant'),
-        ts('Delete grants'),
-      ],
-    ];
-
-    if (!$descriptions) {
-      foreach ($permissions as $name => $attr) {
-        $permissions[$name] = array_shift($attr);
-      }
-    }
-
-    return $permissions;
-  }
-
-  /**
-   * @inheritDoc
-   * @return null
-   */
-  public function getUserDashboardElement() {
-    // no dashboard element for this component
-    return NULL;
-  }
-
-  /**
-   * @inheritDoc
-   * @return null
-   */
-  public function getUserDashboardObject() {
-    // no dashboard element for this component
-    return NULL;
-  }
-
-  /**
-   * @inheritDoc
-   * @return array
-   */
-  public function registerTab() {
-    return [
-      'title' => ts('Grants'),
-      'url' => 'grant',
-      'weight' => 60,
-    ];
-  }
-
-  /**
-   * @inheritDoc
-   * @return string
-   */
-  public function getIcon() {
-    return 'crm-i fa-money';
-  }
-
-  /**
-   * @inheritDoc
-   * @return array
-   */
-  public function registerAdvancedSearchPane() {
-    return [
-      'title' => ts('Grants'),
-      'weight' => 50,
-    ];
-  }
-
-  /**
-   * @inheritDoc
-   * @return null
-   */
-  public function getActivityTypes() {
-    return NULL;
-  }
-
-  /**
-   * add shortcut to Create New.
-   * @param $shortCuts
-   */
-  public function creatNewShortcut(&$shortCuts) {
-    if (CRM_Core_Permission::check('access CiviGrant') &&
-      CRM_Core_Permission::check('edit grants')
-    ) {
-      $shortCuts = array_merge($shortCuts, [
-        [
-          'path' => 'civicrm/grant/add',
-          'query' => "reset=1&action=add&context=standalone",
-          'ref' => 'new-grant',
-          'title' => ts('Grant'),
-        ],
-      ]);
-    }
-  }
-
-}
diff --git a/civicrm/CRM/Group/Controller.php b/civicrm/CRM/Group/Controller.php
index 3f54e4078fc17b899119e37c77c6459e77cf920e..7437b4bed55463d427efdd0232f44ec83bd27621 100644
--- a/civicrm/CRM/Group/Controller.php
+++ b/civicrm/CRM/Group/Controller.php
@@ -21,7 +21,7 @@ class CRM_Group_Controller extends CRM_Core_Controller {
   /**
    * Class constructor.
    *
-   * @param null $title
+   * @param string $title
    * @param bool|int $action
    * @param bool $modal
    */
diff --git a/civicrm/CRM/Import/Parser.php b/civicrm/CRM/Import/Parser.php
index 68ef35a23d8eddf214a3ca9ae4d6ebe6522bf5ac..eb05e31038232aa0d9db4793cda1bf9e98d7e3f1 100644
--- a/civicrm/CRM/Import/Parser.php
+++ b/civicrm/CRM/Import/Parser.php
@@ -569,7 +569,7 @@ abstract class CRM_Import_Parser {
             $break = TRUE;
           }
           if (!$break) {
-            _civicrm_api3_deprecated_add_formatted_param($value, $contactFormatted);
+            $this->_civicrm_api3_deprecated_add_formatted_param($value, $contactFormatted);
           }
         }
         continue;
@@ -585,7 +585,7 @@ abstract class CRM_Import_Parser {
         $value['contact_type'] = $contactType;
       }
 
-      _civicrm_api3_deprecated_add_formatted_param($value, $contactFormatted);
+      $this->_civicrm_api3_deprecated_add_formatted_param($value, $contactFormatted);
     }
 
     $contactFormatted['contact_type'] = $contactType;
@@ -593,6 +593,345 @@ abstract class CRM_Import_Parser {
     return _civicrm_api3_deprecated_duplicate_formatted_contact($contactFormatted);
   }
 
+  /**
+   * This function adds the contact variable in $values to the
+   * parameter list $params.  For most cases, $values should have length 1.  If
+   * the variable being added is a child of Location, a location_type_id must
+   * also be included.  If it is a child of phone, a phone_type must be included.
+   *
+   * @param array $values
+   *   The variable(s) to be added.
+   * @param array $params
+   *   The structured parameter list.
+   *
+   * @return bool|CRM_Utils_Error
+   */
+  private function _civicrm_api3_deprecated_add_formatted_param(&$values, &$params) {
+    // @todo - like most functions in import ... most of this is cruft....
+    // Crawl through the possible classes:
+    // Contact
+    //      Individual
+    //      Household
+    //      Organization
+    //          Location
+    //              Address
+    //              Email
+    //              Phone
+    //              IM
+    //      Note
+    //      Custom
+
+    // Cache the various object fields
+    static $fields = NULL;
+
+    if ($fields == NULL) {
+      $fields = [];
+    }
+
+    // first add core contact values since for other Civi modules they are not added
+    require_once 'CRM/Contact/BAO/Contact.php';
+    $contactFields = CRM_Contact_DAO_Contact::fields();
+    _civicrm_api3_store_values($contactFields, $values, $params);
+
+    if (isset($values['contact_type'])) {
+      // we're an individual/household/org property
+
+      $fields[$values['contact_type']] = CRM_Contact_DAO_Contact::fields();
+
+      _civicrm_api3_store_values($fields[$values['contact_type']], $values, $params);
+      return TRUE;
+    }
+
+    if (isset($values['individual_prefix'])) {
+      if (!empty($params['prefix_id'])) {
+        $prefixes = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'prefix_id');
+        $params['prefix'] = $prefixes[$params['prefix_id']];
+      }
+      else {
+        $params['prefix'] = $values['individual_prefix'];
+      }
+      return TRUE;
+    }
+
+    if (isset($values['individual_suffix'])) {
+      if (!empty($params['suffix_id'])) {
+        $suffixes = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'suffix_id');
+        $params['suffix'] = $suffixes[$params['suffix_id']];
+      }
+      else {
+        $params['suffix'] = $values['individual_suffix'];
+      }
+      return TRUE;
+    }
+
+    // CRM-4575
+    if (isset($values['email_greeting'])) {
+      if (!empty($params['email_greeting_id'])) {
+        $emailGreetingFilter = [
+          'contact_type' => $params['contact_type'] ?? NULL,
+          'greeting_type' => 'email_greeting',
+        ];
+        $emailGreetings = CRM_Core_PseudoConstant::greeting($emailGreetingFilter);
+        $params['email_greeting'] = $emailGreetings[$params['email_greeting_id']];
+      }
+      else {
+        $params['email_greeting'] = $values['email_greeting'];
+      }
+
+      return TRUE;
+    }
+
+    if (isset($values['postal_greeting'])) {
+      if (!empty($params['postal_greeting_id'])) {
+        $postalGreetingFilter = [
+          'contact_type' => $params['contact_type'] ?? NULL,
+          'greeting_type' => 'postal_greeting',
+        ];
+        $postalGreetings = CRM_Core_PseudoConstant::greeting($postalGreetingFilter);
+        $params['postal_greeting'] = $postalGreetings[$params['postal_greeting_id']];
+      }
+      else {
+        $params['postal_greeting'] = $values['postal_greeting'];
+      }
+      return TRUE;
+    }
+
+    if (isset($values['addressee'])) {
+      $params['addressee'] = $values['addressee'];
+      return TRUE;
+    }
+
+    if (isset($values['gender'])) {
+      if (!empty($params['gender_id'])) {
+        $genders = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'gender_id');
+        $params['gender'] = $genders[$params['gender_id']];
+      }
+      else {
+        $params['gender'] = $values['gender'];
+      }
+      return TRUE;
+    }
+
+    if (!empty($values['preferred_communication_method'])) {
+      $comm = [];
+      $pcm = array_change_key_case(array_flip(CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'preferred_communication_method')), CASE_LOWER);
+
+      $preffComm = explode(',', $values['preferred_communication_method']);
+      foreach ($preffComm as $v) {
+        $v = strtolower(trim($v));
+        if (array_key_exists($v, $pcm)) {
+          $comm[$pcm[$v]] = 1;
+        }
+      }
+
+      $params['preferred_communication_method'] = $comm;
+      return TRUE;
+    }
+
+    // format the website params.
+    if (!empty($values['url'])) {
+      static $websiteFields;
+      if (!is_array($websiteFields)) {
+        require_once 'CRM/Core/DAO/Website.php';
+        $websiteFields = CRM_Core_DAO_Website::fields();
+      }
+      if (!array_key_exists('website', $params) ||
+        !is_array($params['website'])
+      ) {
+        $params['website'] = [];
+      }
+
+      $websiteCount = count($params['website']);
+      _civicrm_api3_store_values($websiteFields, $values,
+        $params['website'][++$websiteCount]
+      );
+
+      return TRUE;
+    }
+
+    // get the formatted location blocks into params - w/ 3.0 format, CRM-4605
+    if (!empty($values['location_type_id'])) {
+      static $fields = NULL;
+      if ($fields == NULL) {
+        $fields = [];
+      }
+
+      foreach (['Phone', 'Email', 'IM', 'OpenID', 'Phone_Ext'] as $block) {
+        $name = strtolower($block);
+        if (!array_key_exists($name, $values)) {
+          continue;
+        }
+
+        if ($name === 'phone_ext') {
+          $block = 'Phone';
+        }
+
+        // block present in value array.
+        if (!array_key_exists($name, $params) || !is_array($params[$name])) {
+          $params[$name] = [];
+        }
+
+        if (!array_key_exists($block, $fields)) {
+          $className = "CRM_Core_DAO_$block";
+          $fields[$block] =& $className::fields();
+        }
+
+        $blockCnt = count($params[$name]);
+
+        // copy value to dao field name.
+        if ($name == 'im') {
+          $values['name'] = $values[$name];
+        }
+
+        _civicrm_api3_store_values($fields[$block], $values,
+          $params[$name][++$blockCnt]
+        );
+
+        if (empty($params['id']) && ($blockCnt == 1)) {
+          $params[$name][$blockCnt]['is_primary'] = TRUE;
+        }
+
+        // we only process single block at a time.
+        return TRUE;
+      }
+
+      // handle address fields.
+      if (!array_key_exists('address', $params) || !is_array($params['address'])) {
+        $params['address'] = [];
+      }
+
+      $addressCnt = 1;
+      foreach ($params['address'] as $cnt => $addressBlock) {
+        if (CRM_Utils_Array::value('location_type_id', $values) ==
+          CRM_Utils_Array::value('location_type_id', $addressBlock)
+        ) {
+          $addressCnt = $cnt;
+          break;
+        }
+        $addressCnt++;
+      }
+
+      if (!array_key_exists('Address', $fields)) {
+        $fields['Address'] = CRM_Core_DAO_Address::fields();
+      }
+
+      // Note: we doing multiple value formatting here for address custom fields, plus putting into right format.
+      // The actual formatting (like date, country ..etc) for address custom fields is taken care of while saving
+      // the address in CRM_Core_BAO_Address::create method
+      if (!empty($values['location_type_id'])) {
+        static $customFields = [];
+        if (empty($customFields)) {
+          $customFields = CRM_Core_BAO_CustomField::getFields('Address');
+        }
+        // make a copy of values, as we going to make changes
+        $newValues = $values;
+        foreach ($values as $key => $val) {
+          $customFieldID = CRM_Core_BAO_CustomField::getKeyID($key);
+          if ($customFieldID && array_key_exists($customFieldID, $customFields)) {
+            // mark an entry in fields array since we want the value of custom field to be copied
+            $fields['Address'][$key] = NULL;
+
+            $htmlType = $customFields[$customFieldID]['html_type'] ?? NULL;
+            if (CRM_Core_BAO_CustomField::isSerialized($customFields[$customFieldID]) && $val) {
+              $mulValues = explode(',', $val);
+              $customOption = CRM_Core_BAO_CustomOption::getCustomOption($customFieldID, TRUE);
+              $newValues[$key] = [];
+              foreach ($mulValues as $v1) {
+                foreach ($customOption as $v2) {
+                  if ((strtolower($v2['label']) == strtolower(trim($v1))) ||
+                    (strtolower($v2['value']) == strtolower(trim($v1)))
+                  ) {
+                    if ($htmlType == 'CheckBox') {
+                      $newValues[$key][$v2['value']] = 1;
+                    }
+                    else {
+                      $newValues[$key][] = $v2['value'];
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+        // consider new values
+        $values = $newValues;
+      }
+
+      _civicrm_api3_store_values($fields['Address'], $values, $params['address'][$addressCnt]);
+
+      $addressFields = [
+        'county',
+        'country',
+        'state_province',
+        'supplemental_address_1',
+        'supplemental_address_2',
+        'supplemental_address_3',
+        'StateProvince.name',
+      ];
+
+      foreach ($addressFields as $field) {
+        if (array_key_exists($field, $values)) {
+          if (!array_key_exists('address', $params)) {
+            $params['address'] = [];
+          }
+          $params['address'][$addressCnt][$field] = $values[$field];
+        }
+      }
+
+      if ($addressCnt == 1) {
+
+        $params['address'][$addressCnt]['is_primary'] = TRUE;
+      }
+      return TRUE;
+    }
+
+    if (isset($values['note'])) {
+      // add a note field
+      if (!isset($params['note'])) {
+        $params['note'] = [];
+      }
+      $noteBlock = count($params['note']) + 1;
+
+      $params['note'][$noteBlock] = [];
+      if (!isset($fields['Note'])) {
+        $fields['Note'] = CRM_Core_DAO_Note::fields();
+      }
+
+      // get the current logged in civicrm user
+      $session = CRM_Core_Session::singleton();
+      $userID = $session->get('userID');
+
+      if ($userID) {
+        $values['contact_id'] = $userID;
+      }
+
+      _civicrm_api3_store_values($fields['Note'], $values, $params['note'][$noteBlock]);
+
+      return TRUE;
+    }
+
+    // Check for custom field values
+
+    if (empty($fields['custom'])) {
+      $fields['custom'] = &CRM_Core_BAO_CustomField::getFields(CRM_Utils_Array::value('contact_type', $values),
+        FALSE, FALSE, NULL, NULL, FALSE, FALSE, FALSE
+      );
+    }
+
+    foreach ($values as $key => $value) {
+      if ($customFieldID = CRM_Core_BAO_CustomField::getKeyID($key)) {
+        // check if it's a valid custom field id
+
+        if (!array_key_exists($customFieldID, $fields['custom'])) {
+          return civicrm_api3_create_error('Invalid custom field ID');
+        }
+        else {
+          $params[$key] = $value;
+        }
+      }
+    }
+  }
+
   /**
    * Parse a field which could be represented by a label or name value rather than the DB value.
    *
diff --git a/civicrm/CRM/Logging/Schema.php b/civicrm/CRM/Logging/Schema.php
index d9a633c77d7dfbfe9852be07f19e88baf95e1394..a8ef7185ad64cecb7c75f3d56f7600a4ed4a309c 100644
--- a/civicrm/CRM/Logging/Schema.php
+++ b/civicrm/CRM/Logging/Schema.php
@@ -924,7 +924,7 @@ COLS;
    * Get trigger info.
    *
    * @param array $info
-   * @param null $tableName
+   * @param string|null $tableName
    * @param bool $force
    */
   public function triggerInfo(&$info, $tableName = NULL, $force = FALSE) {
diff --git a/civicrm/CRM/Mailing/BAO/BouncePattern.php b/civicrm/CRM/Mailing/BAO/BouncePattern.php
index b8ffd594c2d932809a236f6b47a684e30f387b9f..4af9768073da0c324921b33b808afdc7a9667921 100644
--- a/civicrm/CRM/Mailing/BAO/BouncePattern.php
+++ b/civicrm/CRM/Mailing/BAO/BouncePattern.php
@@ -22,13 +22,6 @@ class CRM_Mailing_BAO_BouncePattern extends CRM_Mailing_DAO_BouncePattern {
    */
   public static $_patterns = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Build the static pattern array.
    */
@@ -60,7 +53,7 @@ class CRM_Mailing_BAO_BouncePattern extends CRM_Mailing_DAO_BouncePattern {
    * @return array
    *   Tuple (bounce_type, bounce_reason)
    */
-  public static function &match(&$message) {
+  public static function match($message) {
     // clean up $message and replace all white space by a single space, CRM-4767
     $message = preg_replace('/\s+/', ' ', $message);
 
diff --git a/civicrm/CRM/Mailing/BAO/Mailing.php b/civicrm/CRM/Mailing/BAO/Mailing.php
index 7c68125455d722350ce02b147818c3184e46237f..158d6f0e37d8d410859b1436ddd9a70c229e0226 100644
--- a/civicrm/CRM/Mailing/BAO/Mailing.php
+++ b/civicrm/CRM/Mailing/BAO/Mailing.php
@@ -51,13 +51,13 @@ class CRM_Mailing_BAO_Mailing extends CRM_Mailing_DAO_Mailing {
 
   /**
    * The header associated with this mailing.
-   * @var string
+   * @var CRM_Mailing_BAO_MailingComponent
    */
   private $header = NULL;
 
   /**
    * The footer associated with this mailing.
-   * @var string
+   * @var CRM_Mailing_BAO_MailingComponent
    */
   private $footer = NULL;
 
@@ -79,13 +79,6 @@ class CRM_Mailing_BAO_Mailing extends CRM_Mailing_DAO_Mailing {
    */
   private $_domain = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * @deprecated
    *
@@ -2691,7 +2684,8 @@ WHERE  civicrm_mailing_job.id = %1
   }
 
   /**
-   * @param null $mode
+   * @param string|null $mode
+   *   Either 'sms' or null
    *
    * @return bool
    * @throws Exception
diff --git a/civicrm/CRM/Mailing/BAO/MailingAB.php b/civicrm/CRM/Mailing/BAO/MailingAB.php
index e035ec6962297fba866a793a1256f2cf133293bb..fd1d3fe3bcede5ec7408a54bbf4a1c379f380008 100644
--- a/civicrm/CRM/Mailing/BAO/MailingAB.php
+++ b/civicrm/CRM/Mailing/BAO/MailingAB.php
@@ -20,13 +20,6 @@
  */
 class CRM_Mailing_BAO_MailingAB extends CRM_Mailing_DAO_MailingAB {
 
-  /**
-   * class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Construct a new mailingab object.
    *
diff --git a/civicrm/CRM/Mailing/BAO/MailingJob.php b/civicrm/CRM/Mailing/BAO/MailingJob.php
index cb4073a10a21db8ce108a59e9e8d3e8a540a342f..8ce02032234a3e7d3efc97d347e3021361b8336b 100644
--- a/civicrm/CRM/Mailing/BAO/MailingJob.php
+++ b/civicrm/CRM/Mailing/BAO/MailingJob.php
@@ -32,13 +32,6 @@ class CRM_Mailing_BAO_MailingJob extends CRM_Mailing_DAO_MailingJob {
    */
   public static $mailsProcessed = 0;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Create mailing job.
    *
@@ -68,7 +61,8 @@ class CRM_Mailing_BAO_MailingJob extends CRM_Mailing_DAO_MailingJob {
    * Initiate all pending/ready jobs.
    *
    * @param array $testParams
-   * @param string $mode
+   * @param string|null $mode
+   *   Either 'sms' or null
    *
    * @return bool|null
    */
@@ -215,7 +209,8 @@ class CRM_Mailing_BAO_MailingJob extends CRM_Mailing_DAO_MailingJob {
   /**
    * Post process to determine if the parent job
    * as well as the mailing is complete after the run.
-   * @param null $mode
+   * @param string|null $mode
+   *   Either 'sms' or null
    */
   public static function runJobs_post($mode = NULL) {
 
@@ -289,7 +284,8 @@ class CRM_Mailing_BAO_MailingJob extends CRM_Mailing_DAO_MailingJob {
   /**
    * before we run jobs, we need to split the jobs
    * @param int $offset
-   * @param null $mode
+   * @param string|null $mode
+   *   Either 'sms' or null
    */
   public static function runJobs_pre($offset = 200, $mode = NULL) {
     $job = new CRM_Mailing_BAO_MailingJob();
diff --git a/civicrm/CRM/Mailing/BAO/Recipients.php b/civicrm/CRM/Mailing/BAO/Recipients.php
index 53cf1802078d84d3bac14729e816bbbc4160b98c..b904aa952e72ab41213f855067cc7cbfaafb7e29 100644
--- a/civicrm/CRM/Mailing/BAO/Recipients.php
+++ b/civicrm/CRM/Mailing/BAO/Recipients.php
@@ -16,13 +16,6 @@
  */
 class CRM_Mailing_BAO_Recipients extends CRM_Mailing_DAO_Recipients {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * @param int $mailingID
    *
diff --git a/civicrm/CRM/Mailing/BAO/Spool.php b/civicrm/CRM/Mailing/BAO/Spool.php
index bf098e48bdbd1af2d79799f6602e3f215924aae3..dc88a6fc7a40cc96ba246507087e9f819661c2c8 100644
--- a/civicrm/CRM/Mailing/BAO/Spool.php
+++ b/civicrm/CRM/Mailing/BAO/Spool.php
@@ -16,13 +16,6 @@
  */
 class CRM_Mailing_BAO_Spool extends CRM_Mailing_DAO_Spool {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Store Mails into Spool table.
    *
diff --git a/civicrm/CRM/Mailing/BAO/TrackableURL.php b/civicrm/CRM/Mailing/BAO/TrackableURL.php
index 7026e718f7932095da216f3f6b1e6e9a0ed8e7a1..f857f6eb9cdca08269b69c8a4fa0f9a54f552c4a 100644
--- a/civicrm/CRM/Mailing/BAO/TrackableURL.php
+++ b/civicrm/CRM/Mailing/BAO/TrackableURL.php
@@ -16,13 +16,6 @@
  */
 class CRM_Mailing_BAO_TrackableURL extends CRM_Mailing_DAO_TrackableURL {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Given a url, mailing id and queue event id, find or construct a
    * trackable url and redirect url.
diff --git a/civicrm/CRM/Mailing/Controller/Send.php b/civicrm/CRM/Mailing/Controller/Send.php
index b989372f52908c24bd16efcad2848e02bdefdf54..fffeeee171ec37010dd870b817402b46b0dcf299 100644
--- a/civicrm/CRM/Mailing/Controller/Send.php
+++ b/civicrm/CRM/Mailing/Controller/Send.php
@@ -19,7 +19,7 @@ class CRM_Mailing_Controller_Send extends CRM_Core_Controller {
   /**
    * Class constructor.
    *
-   * @param null $title
+   * @param string $title
    * @param bool|int $action
    * @param bool $modal
    *
diff --git a/civicrm/CRM/Mailing/DAO/BouncePattern.php b/civicrm/CRM/Mailing/DAO/BouncePattern.php
index 091639a689b5f1af97dc7a9055c345282014406e..92ca3b8eb2dd3e59dc3e0d4fa58f97ab1d689a7a 100644
--- a/civicrm/CRM/Mailing/DAO/BouncePattern.php
+++ b/civicrm/CRM/Mailing/DAO/BouncePattern.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/BouncePattern.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:c69a86cc75621a05e32951247e12f06b)
+ * (GenCodeChecksum:15aed9731c3f63c29d9d3c0c57297619)
  */
 
 /**
@@ -32,21 +32,27 @@ class CRM_Mailing_DAO_BouncePattern extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Type of bounce
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $bounce_type_id;
 
   /**
    * A regexp to match a message to a bounce type
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pattern;
 
diff --git a/civicrm/CRM/Mailing/DAO/BounceType.php b/civicrm/CRM/Mailing/DAO/BounceType.php
index 8a274e839262dcadb4c8384cf5a831fa9c4ed0cd..c9e6acf97b2e125f6da59656638f4ca7265b3444 100644
--- a/civicrm/CRM/Mailing/DAO/BounceType.php
+++ b/civicrm/CRM/Mailing/DAO/BounceType.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/BounceType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:cde25653865971ad7f5692dfd0eb7c39)
+ * (GenCodeChecksum:ef69aba971b0a118a9ec2238a180c7c5)
  */
 
 /**
@@ -32,7 +32,9 @@ class CRM_Mailing_DAO_BounceType extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -40,20 +42,26 @@ class CRM_Mailing_DAO_BounceType extends CRM_Core_DAO {
    * Type of bounce
    *
    * @var string
+   *   (SQL type: varchar(24))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * A description of this bounce type
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Number of bounces of this type required before the email address is put on bounce hold
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $hold_threshold;
 
diff --git a/civicrm/CRM/Mailing/DAO/Mailing.php b/civicrm/CRM/Mailing/DAO/Mailing.php
index 93ec4b86304e0ff4bdf22de9939886d5bcc068bb..eef22e75d7568f455e72e5154a3eb0d1f1b6c531 100644
--- a/civicrm/CRM/Mailing/DAO/Mailing.php
+++ b/civicrm/CRM/Mailing/DAO/Mailing.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Mailing.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0889788ebb2ad430999bb9eda9524621)
+ * (GenCodeChecksum:9815b093c77eedc9aa2c97c338a0e75d)
  */
 
 /**
@@ -49,89 +49,115 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
   ];
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which site is this mailing for
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * FK to the header component.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $header_id;
 
   /**
    * FK to the footer component.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $footer_id;
 
   /**
    * FK to the auto-responder component.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $reply_id;
 
   /**
    * FK to the unsubscribe component.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $unsubscribe_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $resubscribe_id;
 
   /**
    * FK to the opt-out component.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $optout_id;
 
   /**
    * Mailing Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * differentiate between standalone mailings, A/B tests, and A/B final-winner
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mailing_type;
 
   /**
    * From Header of mailing
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $from_name;
 
   /**
    * From Email of mailing
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $from_email;
 
   /**
    * Reply-To Email of mailing
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $replyto_email;
 
@@ -139,207 +165,267 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
    * The language/processing system used for email templates.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $template_type;
 
   /**
    * Advanced options used by the email templating system. (JSON encoded)
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $template_options;
 
   /**
    * Subject of mailing
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $subject;
 
   /**
    * Body of the mailing in text format.
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $body_text;
 
   /**
    * Body of the mailing in html format.
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $body_html;
 
   /**
    * Should we track URL click-throughs for this mailing?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_tracking;
 
   /**
    * Should we forward replies back to the author?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $forward_replies;
 
   /**
    * Should we enable the auto-responder?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $auto_responder;
 
   /**
    * Should we track when recipients open/read this mailing?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $open_tracking;
 
   /**
    * Has at least one job associated with this mailing finished?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_completed;
 
   /**
    * FK to the message template.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $msg_template_id;
 
   /**
    * Overwrite the VERP address in Reply-To
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $override_verp;
 
   /**
    * FK to Contact ID who first created this mailing
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Date and time this mailing was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When the mailing (or closely related entity) was created or modified or deleted.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
   /**
    * FK to Contact ID who scheduled this mailing
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $scheduled_id;
 
   /**
    * Date and time this mailing was scheduled.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $scheduled_date;
 
   /**
    * FK to Contact ID who approved this mailing
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $approver_id;
 
   /**
    * Date and time this mailing was approved.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $approval_date;
 
   /**
    * The status of this mailing. Values: none, approved, rejected
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $approval_status_id;
 
   /**
    * Note behind the decision.
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $approval_note;
 
   /**
    * Is this mailing archived?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_archived;
 
   /**
    * In what context(s) is the mailing contents visible (online viewing)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(40))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $visibility;
 
   /**
    * The campaign for which this mailing has been initiated.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * Remove duplicate emails?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $dedupe_email;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $sms_provider_id;
 
   /**
    * Key for validating requests related to this mailing.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(16))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $hash;
 
   /**
    * With email_selection_method, determines which email address to use
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location_type_id;
 
   /**
    * With location_type_id, determine how to choose the email address to use.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(20))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_selection_method;
 
   /**
    * Language of the content of the mailing. Useful for tokens.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(5))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $language;
 
diff --git a/civicrm/CRM/Mailing/DAO/MailingAB.php b/civicrm/CRM/Mailing/DAO/MailingAB.php
index 0e3e3ad5e5a490c5719aada9f29c30fed119a2eb..f97cada0468f2014b2cc2976c4c5a0b75636f6dd 100644
--- a/civicrm/CRM/Mailing/DAO/MailingAB.php
+++ b/civicrm/CRM/Mailing/DAO/MailingAB.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/MailingAB.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:021242562cab688e65a6c13247c61636)
+ * (GenCodeChecksum:c385d0cae9e88e5a44770cd3ae6fd9d2)
  */
 
 /**
@@ -32,92 +32,120 @@ class CRM_Mailing_DAO_MailingAB extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Name of the A/B test
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Status
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status;
 
   /**
    * The first experimental mailing ("A" condition)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mailing_id_a;
 
   /**
    * The second experimental mailing ("B" condition)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mailing_id_b;
 
   /**
    * The final, general mailing (derived from A or B)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mailing_id_c;
 
   /**
    * Which site is this mailing for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $testing_criteria;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $winner_criteria;
 
   /**
    * What specific url to track
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $specific_url;
 
   /**
    * In how much time to declare winner
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $declare_winning_time;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_percentage;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * When was this item created
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
diff --git a/civicrm/CRM/Mailing/DAO/MailingComponent.php b/civicrm/CRM/Mailing/DAO/MailingComponent.php
index 281181c445006386f1184bed343cfa45a7b4fc55..0f77ebdfb50f1caad629618cf597d6186d77e55a 100644
--- a/civicrm/CRM/Mailing/DAO/MailingComponent.php
+++ b/civicrm/CRM/Mailing/DAO/MailingComponent.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/MailingComponent.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:41af94f2313c33bb228194f142fc8e0b)
+ * (GenCodeChecksum:07a2027aee545a570c9fd99294f98d9a)
  */
 
 /**
@@ -32,54 +32,70 @@ class CRM_Mailing_DAO_MailingComponent extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The name of this component
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Type of Component.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $component_type;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $subject;
 
   /**
    * Body of the component in html format.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $body_html;
 
   /**
    * Body of the component in text format.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $body_text;
 
   /**
    * Is this the default component for this component_type?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Mailing/DAO/MailingGroup.php b/civicrm/CRM/Mailing/DAO/MailingGroup.php
index 0fd5b1f8940048ddb2779ebc199534fa06ac6ad7..84118eb8e9a14a7849259a52848dfbc7dbafa9d2 100644
--- a/civicrm/CRM/Mailing/DAO/MailingGroup.php
+++ b/civicrm/CRM/Mailing/DAO/MailingGroup.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/MailingGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:1e483c2e468defc82c46dd66146595bb)
+ * (GenCodeChecksum:454b529a2ced8428fa3ec9a080fb4887)
  */
 
 /**
@@ -32,21 +32,27 @@ class CRM_Mailing_DAO_MailingGroup extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The ID of a previous mailing to include/exclude recipients.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mailing_id;
 
   /**
    * Are the members of the group included or excluded?.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_type;
 
@@ -54,27 +60,35 @@ class CRM_Mailing_DAO_MailingGroup extends CRM_Core_DAO {
    * Name of table where item being referenced is stored.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * Foreign key to the referenced item.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * The filtering search. custom search id or -1 for civicrm api search
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $search_id;
 
   /**
    * The arguments to be sent to the search function
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $search_args;
 
diff --git a/civicrm/CRM/Mailing/DAO/MailingJob.php b/civicrm/CRM/Mailing/DAO/MailingJob.php
index 7058a2751a352fd56ad05ef77c76874362027b27..3ba252d04082e85f77212e577f6bf7393a242968 100644
--- a/civicrm/CRM/Mailing/DAO/MailingJob.php
+++ b/civicrm/CRM/Mailing/DAO/MailingJob.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/MailingJob.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:2527bca832d0e7751c69a42d33f28159)
+ * (GenCodeChecksum:fdca7fda2701c59049924abfdb6adf3b)
  */
 
 /**
@@ -32,77 +32,99 @@ class CRM_Mailing_DAO_MailingJob extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The ID of the mailing this Job will send.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mailing_id;
 
   /**
    * date on which this job was scheduled.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $scheduled_date;
 
   /**
    * date on which this job was started.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * date on which this job ended.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * The state of this job
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status;
 
   /**
    * Is this job for a test mail?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_test;
 
   /**
    * Type of mailling job: null | child
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $job_type;
 
   /**
    * Parent job id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_id;
 
   /**
    * Offset of the child job
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $job_offset;
 
   /**
    * Queue size limit for each child job
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $job_limit;
 
diff --git a/civicrm/CRM/Mailing/DAO/Recipients.php b/civicrm/CRM/Mailing/DAO/Recipients.php
index 7bc6325be6414b9d0f90ee4d7745de3df0c0cd31..88d565694d13c79b90ba7c186e178896785d52f0 100644
--- a/civicrm/CRM/Mailing/DAO/Recipients.php
+++ b/civicrm/CRM/Mailing/DAO/Recipients.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Recipients.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b3c4d09f9c6afa1f96dc0d1cdbaec935)
+ * (GenCodeChecksum:9b1fd81feabb976bc4447e5df79fb8ad)
  */
 
 /**
@@ -32,35 +32,45 @@ class CRM_Mailing_DAO_Recipients extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The ID of the mailing this Job will send.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mailing_id;
 
   /**
    * FK to Contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * FK to Email
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_id;
 
   /**
    * FK to Phone
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_id;
 
diff --git a/civicrm/CRM/Mailing/DAO/Spool.php b/civicrm/CRM/Mailing/DAO/Spool.php
index b5a4afc996bda775a48011741c60dba674ecbb7b..891ec8b5c08db91b1807b1b6e8b3848f1140e824 100644
--- a/civicrm/CRM/Mailing/DAO/Spool.php
+++ b/civicrm/CRM/Mailing/DAO/Spool.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Spool.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:37cfd90aa2697070996f893259692b4b)
+ * (GenCodeChecksum:be1b386bf2b06844863726171878fb37)
  */
 
 /**
@@ -32,49 +32,63 @@ class CRM_Mailing_DAO_Spool extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The ID of the Job .
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $job_id;
 
   /**
    * The email of the recipients this mail is to be sent.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $recipient_email;
 
   /**
    * The header information of this mailing .
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $headers;
 
   /**
    * The body of this mailing.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $body;
 
   /**
    * date on which this job was added.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $added_at;
 
   /**
    * date on which this job was removed.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $removed_at;
 
diff --git a/civicrm/CRM/Mailing/DAO/TrackableURL.php b/civicrm/CRM/Mailing/DAO/TrackableURL.php
index 2c018815e7fac6d89f1bdf5b21c8484447e15769..e3fa29db83cf8f830c56c55e4f6901da7301b676 100644
--- a/civicrm/CRM/Mailing/DAO/TrackableURL.php
+++ b/civicrm/CRM/Mailing/DAO/TrackableURL.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/TrackableURL.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:4c224c28653ab679c03fb8e98ddc3401)
+ * (GenCodeChecksum:2eba75ecb9fc002adcc4a66cae55650a)
  */
 
 /**
@@ -32,21 +32,27 @@ class CRM_Mailing_DAO_TrackableURL extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The URL to be tracked.
    *
-   * @var text
+   * @var string
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url;
 
   /**
    * FK to the mailing
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mailing_id;
 
diff --git a/civicrm/CRM/Mailing/Event/BAO/Bounce.php b/civicrm/CRM/Mailing/Event/BAO/Bounce.php
index 57c8c3a99b3eaabaeeda142be55581dc3965816f..cc78d62638f6ade070512f64e530f9b67fda7227 100644
--- a/civicrm/CRM/Mailing/Event/BAO/Bounce.php
+++ b/civicrm/CRM/Mailing/Event/BAO/Bounce.php
@@ -16,17 +16,10 @@
  */
 class CRM_Mailing_Event_BAO_Bounce extends CRM_Mailing_Event_DAO_Bounce {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Create a new bounce event, update the email address if necessary
    *
-   * @param $params
+   * @param array $params
    *
    * @return bool|null
    */
diff --git a/civicrm/CRM/Mailing/Event/BAO/Confirm.php b/civicrm/CRM/Mailing/Event/BAO/Confirm.php
index 15f16ab6eb9bc5d7f752b22d14c7526d935b31e1..a94ecb089e92d8429ac066b4bb00a1d50e2b4731 100644
--- a/civicrm/CRM/Mailing/Event/BAO/Confirm.php
+++ b/civicrm/CRM/Mailing/Event/BAO/Confirm.php
@@ -22,13 +22,6 @@ require_once 'Mail/mime.php';
  */
 class CRM_Mailing_Event_BAO_Confirm extends CRM_Mailing_Event_DAO_Confirm {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Confirm a pending subscription.
    *
diff --git a/civicrm/CRM/Mailing/Event/BAO/Delivered.php b/civicrm/CRM/Mailing/Event/BAO/Delivered.php
index 477faa61da686ab02268e761919cd4289bce8879..481a8e7cd2f1c9f2b76f18b5b4ce28a1b3025b08 100644
--- a/civicrm/CRM/Mailing/Event/BAO/Delivered.php
+++ b/civicrm/CRM/Mailing/Event/BAO/Delivered.php
@@ -16,13 +16,6 @@
  */
 class CRM_Mailing_Event_BAO_Delivered extends CRM_Mailing_Event_DAO_Delivered {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Create a new delivery event.
    *
diff --git a/civicrm/CRM/Mailing/Event/BAO/Forward.php b/civicrm/CRM/Mailing/Event/BAO/Forward.php
index b8900a6b9ad83871c624689a53a453b9857242cb..e6ca6bc2ccba5339adf265be75b95d82532e37e6 100644
--- a/civicrm/CRM/Mailing/Event/BAO/Forward.php
+++ b/civicrm/CRM/Mailing/Event/BAO/Forward.php
@@ -16,13 +16,6 @@
  */
 class CRM_Mailing_Event_BAO_Forward extends CRM_Mailing_Event_DAO_Forward {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Create a new forward event, create a new contact if necessary
    *
@@ -103,8 +96,7 @@ class CRM_Mailing_Event_BAO_Forward extends CRM_Mailing_Event_DAO_Forward {
         'email' => $forward_email,
         'location_type_id' => $locationType->id,
       ];
-      require_once 'CRM/Utils/DeprecatedUtils.php';
-      _civicrm_api3_deprecated_add_formatted_param($value, $formatted);
+      self::_civicrm_api3_deprecated_add_formatted_param($value, $formatted);
       $formatted['onDuplicate'] = CRM_Import_Parser::DUPLICATE_SKIP;
       $formatted['fixAddress'] = TRUE;
       $contact = civicrm_api('contact', 'create', $formatted);
@@ -199,6 +191,183 @@ class CRM_Mailing_Event_BAO_Forward extends CRM_Mailing_Event_DAO_Forward {
     return $successfulForward;
   }
 
+  /**
+   * This function adds the contact variable in $values to the
+   * parameter list $params.  For most cases, $values should have length 1.  If
+   * the variable being added is a child of Location, a location_type_id must
+   * also be included.  If it is a child of phone, a phone_type must be included.
+   *
+   * @param array $values
+   *   The variable(s) to be added.
+   * @param array $params
+   *   The structured parameter list.
+   *
+   * @return bool|CRM_Utils_Error
+   */
+  protected static function _civicrm_api3_deprecated_add_formatted_param(&$values, &$params) {
+    // @todo - most of this code is UNREACHABLE.
+    // Crawl through the possible classes:
+    // Contact
+    //      Individual
+    //      Household
+    //      Organization
+    //          Location
+    //              Address
+    //              Email
+    //              Phone
+    //              IM
+    //      Note
+    //      Custom
+
+    // Cache the various object fields
+    static $fields = NULL;
+
+    if ($fields == NULL) {
+      $fields = [];
+    }
+
+    // first add core contact values since for other Civi modules they are not added
+    require_once 'CRM/Contact/BAO/Contact.php';
+    $contactFields = CRM_Contact_DAO_Contact::fields();
+    _civicrm_api3_store_values($contactFields, $values, $params);
+
+    // get the formatted location blocks into params - w/ 3.0 format, CRM-4605
+    if (!empty($values['location_type_id'])) {
+      static $fields = NULL;
+      if ($fields == NULL) {
+        $fields = [];
+      }
+
+      foreach (['Phone', 'Email', 'IM', 'OpenID', 'Phone_Ext'] as $block) {
+        $name = strtolower($block);
+        if (!array_key_exists($name, $values)) {
+          continue;
+        }
+
+        if ($name === 'phone_ext') {
+          $block = 'Phone';
+        }
+
+        // block present in value array.
+        if (!array_key_exists($name, $params) || !is_array($params[$name])) {
+          $params[$name] = [];
+        }
+
+        if (!array_key_exists($block, $fields)) {
+          $className = "CRM_Core_DAO_$block";
+          $fields[$block] =& $className::fields();
+        }
+
+        $blockCnt = count($params[$name]);
+
+        // copy value to dao field name.
+        if ($name == 'im') {
+          $values['name'] = $values[$name];
+        }
+
+        _civicrm_api3_store_values($fields[$block], $values,
+          $params[$name][++$blockCnt]
+        );
+
+        if (empty($params['id']) && ($blockCnt == 1)) {
+          $params[$name][$blockCnt]['is_primary'] = TRUE;
+        }
+
+        // we only process single block at a time.
+        return TRUE;
+      }
+
+      // handle address fields.
+      if (!array_key_exists('address', $params) || !is_array($params['address'])) {
+        $params['address'] = [];
+      }
+
+      $addressCnt = 1;
+      foreach ($params['address'] as $cnt => $addressBlock) {
+        if (CRM_Utils_Array::value('location_type_id', $values) ==
+          CRM_Utils_Array::value('location_type_id', $addressBlock)
+        ) {
+          $addressCnt = $cnt;
+          break;
+        }
+        $addressCnt++;
+      }
+
+      if (!array_key_exists('Address', $fields)) {
+        $fields['Address'] = CRM_Core_DAO_Address::fields();
+      }
+
+      // Note: we doing multiple value formatting here for address custom fields, plus putting into right format.
+      // The actual formatting (like date, country ..etc) for address custom fields is taken care of while saving
+      // the address in CRM_Core_BAO_Address::create method
+      if (!empty($values['location_type_id'])) {
+        static $customFields = [];
+        if (empty($customFields)) {
+          $customFields = CRM_Core_BAO_CustomField::getFields('Address');
+        }
+        // make a copy of values, as we going to make changes
+        $newValues = $values;
+        foreach ($values as $key => $val) {
+          $customFieldID = CRM_Core_BAO_CustomField::getKeyID($key);
+          if ($customFieldID && array_key_exists($customFieldID, $customFields)) {
+            // mark an entry in fields array since we want the value of custom field to be copied
+            $fields['Address'][$key] = NULL;
+
+            $htmlType = $customFields[$customFieldID]['html_type'] ?? NULL;
+            if (CRM_Core_BAO_CustomField::isSerialized($customFields[$customFieldID]) && $val) {
+              $mulValues = explode(',', $val);
+              $customOption = CRM_Core_BAO_CustomOption::getCustomOption($customFieldID, TRUE);
+              $newValues[$key] = [];
+              foreach ($mulValues as $v1) {
+                foreach ($customOption as $v2) {
+                  if ((strtolower($v2['label']) == strtolower(trim($v1))) ||
+                    (strtolower($v2['value']) == strtolower(trim($v1)))
+                  ) {
+                    if ($htmlType == 'CheckBox') {
+                      $newValues[$key][$v2['value']] = 1;
+                    }
+                    else {
+                      $newValues[$key][] = $v2['value'];
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+        // consider new values
+        $values = $newValues;
+      }
+
+      _civicrm_api3_store_values($fields['Address'], $values, $params['address'][$addressCnt]);
+
+      $addressFields = [
+        'county',
+        'country',
+        'state_province',
+        'supplemental_address_1',
+        'supplemental_address_2',
+        'supplemental_address_3',
+        'StateProvince.name',
+      ];
+
+      foreach ($addressFields as $field) {
+        if (array_key_exists($field, $values)) {
+          if (!array_key_exists('address', $params)) {
+            $params['address'] = [];
+          }
+          $params['address'][$addressCnt][$field] = $values[$field];
+        }
+      }
+
+      if ($addressCnt == 1) {
+
+        $params['address'][$addressCnt]['is_primary'] = TRUE;
+      }
+      return TRUE;
+    }
+  }
+
   /**
    * Get row count for the event selector.
    *
diff --git a/civicrm/CRM/Mailing/Event/BAO/Opened.php b/civicrm/CRM/Mailing/Event/BAO/Opened.php
index 1ecc0788399cd27ce551488c073d1530ee8de735..81a57a16a082f1de36310da4fa4130a8e47132f1 100644
--- a/civicrm/CRM/Mailing/Event/BAO/Opened.php
+++ b/civicrm/CRM/Mailing/Event/BAO/Opened.php
@@ -16,13 +16,6 @@
  */
 class CRM_Mailing_Event_BAO_Opened extends CRM_Mailing_Event_DAO_Opened {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Register an open event.
    *
@@ -152,7 +145,7 @@ class CRM_Mailing_Event_BAO_Opened extends CRM_Mailing_Event_DAO_Opened {
   /**
    * Get opened count for each mailing for a given set of mailing IDs and a specific contact.
    *
-   * @param int $mailingIDs
+   * @param int[] $mailingIDs
    *   IDs of the mailing (comma separated).
    * @param int $contactID
    *   ID of the contact.
diff --git a/civicrm/CRM/Mailing/Event/BAO/Queue.php b/civicrm/CRM/Mailing/Event/BAO/Queue.php
index 3f27463f478b15424266f07af58f1aea91669633..22cfe10fa4ee050e4bf3e06d4633f05d6225ef44 100644
--- a/civicrm/CRM/Mailing/Event/BAO/Queue.php
+++ b/civicrm/CRM/Mailing/Event/BAO/Queue.php
@@ -16,13 +16,6 @@
  */
 class CRM_Mailing_Event_BAO_Queue extends CRM_Mailing_Event_DAO_Queue {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Queue a new recipient.
    *
@@ -47,7 +40,7 @@ class CRM_Mailing_Event_BAO_Queue extends CRM_Mailing_Event_DAO_Queue {
    *
    * @param array $params
    *
-   * @return int
+   * @return string
    *   The hash
    */
   public static function hash($params) {
diff --git a/civicrm/CRM/Mailing/Event/BAO/Reply.php b/civicrm/CRM/Mailing/Event/BAO/Reply.php
index d618b20143705644e40abb1216f7fbebedec0f12..6ecf68e6ad48c525f4d5b00a9d6e969022d32d42 100644
--- a/civicrm/CRM/Mailing/Event/BAO/Reply.php
+++ b/civicrm/CRM/Mailing/Event/BAO/Reply.php
@@ -22,13 +22,6 @@ require_once 'Mail/mime.php';
  */
 class CRM_Mailing_Event_BAO_Reply extends CRM_Mailing_Event_DAO_Reply {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Register a reply event.
    *
@@ -263,7 +256,7 @@ class CRM_Mailing_Event_BAO_Reply extends CRM_Mailing_Event_DAO_Reply {
     $params['html'] = $html;
     $params['text'] = $text;
 
-    CRM_Mailing_BAO_Mailing::addMessageIdHeader($params, 'a', $eq->job_id, queue_id, $eq->hash);
+    CRM_Mailing_BAO_Mailing::addMessageIdHeader($params, 'a', $eq->job_id, $queue_id, $eq->hash);
     if (CRM_Core_BAO_MailSettings::includeMessageId()) {
       $params['messageId'] = $params['Message-ID'];
     }
diff --git a/civicrm/CRM/Mailing/Event/BAO/Subscribe.php b/civicrm/CRM/Mailing/Event/BAO/Subscribe.php
index b02455d0cb957909d1db090d5a2b913c04f9c1ba..c31849b7daeb4e6fbd6a17c19920c4a774b6fc51 100644
--- a/civicrm/CRM/Mailing/Event/BAO/Subscribe.php
+++ b/civicrm/CRM/Mailing/Event/BAO/Subscribe.php
@@ -23,13 +23,6 @@ require_once 'Mail/mime.php';
  */
 class CRM_Mailing_Event_BAO_Subscribe extends CRM_Mailing_Event_DAO_Subscribe {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Register a subscription event.  Create a new contact if one does not
    * already exist.
@@ -44,8 +37,8 @@ class CRM_Mailing_Event_BAO_Subscribe extends CRM_Mailing_Event_DAO_Subscribe {
    *   during event registration.
    * @param string $context
    *
-   * @return int|null
-   *   $se_id      The id of the subscription event, null on failure
+   * @return CRM_Mailing_Event_BAO_Subscribe|null
+   *   $se_id      The subscription event object, null on failure
    */
   public static function &subscribe($group_id, $email, $contactId = NULL, $context = NULL) {
     // CRM-1797 - allow subscription only to public groups
diff --git a/civicrm/CRM/Mailing/Event/BAO/TrackableURLOpen.php b/civicrm/CRM/Mailing/Event/BAO/TrackableURLOpen.php
index 530fa1ece3171c7636497827402246afb2ad40b5..95ea3f6920e4c88a9402aa47b169cf0c1d53741a 100644
--- a/civicrm/CRM/Mailing/Event/BAO/TrackableURLOpen.php
+++ b/civicrm/CRM/Mailing/Event/BAO/TrackableURLOpen.php
@@ -16,13 +16,6 @@
  */
 class CRM_Mailing_Event_BAO_TrackableURLOpen extends CRM_Mailing_Event_DAO_TrackableURLOpen {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Track a click-through and return the URL to redirect.
    *
@@ -208,7 +201,7 @@ class CRM_Mailing_Event_BAO_TrackableURLOpen extends CRM_Mailing_Event_DAO_Track
   /**
    * Get tracked url count for each mailing for a given set of mailing IDs.
    *
-   * @param int $mailingIDs
+   * @param int[] $mailingIDs
    *   IDs of the mailing (comma separated).
    * @param int $contactID
    *   ID of the contact.
diff --git a/civicrm/CRM/Mailing/Event/BAO/Unsubscribe.php b/civicrm/CRM/Mailing/Event/BAO/Unsubscribe.php
index d1349a664c35c66fcc41c253af24a6d7f2c90dab..ecc2b5e3da0ecbdef40f7181aef6633b25b8acd3 100644
--- a/civicrm/CRM/Mailing/Event/BAO/Unsubscribe.php
+++ b/civicrm/CRM/Mailing/Event/BAO/Unsubscribe.php
@@ -22,13 +22,6 @@ require_once 'Mail/mime.php';
  */
 class CRM_Mailing_Event_BAO_Unsubscribe extends CRM_Mailing_Event_DAO_Unsubscribe {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Unsubscribe a contact from the domain.
    *
@@ -300,9 +293,9 @@ WHERE  email = %2
    * Send a response email informing the contact of the groups from which he.
    * has been unsubscribed.
    *
-   * @param string $queue_id
+   * @param int $queue_id
    *   The queue event ID.
-   * @param array $groups
+   * @param array|null $groups
    *   List of group IDs.
    * @param bool $is_domain
    *   Is this domain-level?.
diff --git a/civicrm/CRM/Mailing/Event/DAO/Bounce.php b/civicrm/CRM/Mailing/Event/DAO/Bounce.php
index aebb50a011f4b0c6b34278a2dc905f44251065f2..0c1d94d0aa95ad5d8daa707769fa9c77d860882a 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Bounce.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Bounce.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Bounce.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6f3c41c50e9baa89d14295479d66975c)
+ * (GenCodeChecksum:d4f63c10a945788a302f4c199cfc52f0)
  */
 
 /**
@@ -32,35 +32,45 @@ class CRM_Mailing_Event_DAO_Bounce extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to EventQueue
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_queue_id;
 
   /**
    * What type of bounce was it?
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $bounce_type_id;
 
   /**
    * The reason the email bounced.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $bounce_reason;
 
   /**
    * When this bounce event occurred.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_stamp;
 
diff --git a/civicrm/CRM/Mailing/Event/DAO/Confirm.php b/civicrm/CRM/Mailing/Event/DAO/Confirm.php
index b8bde92ad97a861bbd248cfe6c9c0d077d1b42f4..04701df1899fd71f48ccd042e11129bb2b652ab2 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Confirm.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Confirm.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Confirm.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:666c5eb15eb75fd23bebb088db0bc004)
+ * (GenCodeChecksum:70037cdb7d4ba64a26993149a95135a9)
  */
 
 /**
@@ -32,21 +32,27 @@ class CRM_Mailing_Event_DAO_Confirm extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to civicrm_mailing_event_subscribe
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_subscribe_id;
 
   /**
    * When this confirmation event occurred.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_stamp;
 
diff --git a/civicrm/CRM/Mailing/Event/DAO/Delivered.php b/civicrm/CRM/Mailing/Event/DAO/Delivered.php
index 7713ee98bcc5ef2f67d353c7f47eba9562ac63ad..c3ef1eccbbef9291d85703a5f910084563391fdf 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Delivered.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Delivered.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Delivered.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:01ce8759ea940b4dd34213f25b15e7d3)
+ * (GenCodeChecksum:0868640ae2c11be9c92be341ca74d0bc)
  */
 
 /**
@@ -32,21 +32,27 @@ class CRM_Mailing_Event_DAO_Delivered extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to EventQueue
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_queue_id;
 
   /**
    * When this delivery event occurred.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_stamp;
 
diff --git a/civicrm/CRM/Mailing/Event/DAO/Forward.php b/civicrm/CRM/Mailing/Event/DAO/Forward.php
index 01cca5af26e5a633dda6df03af3c1367bd145fcc..763c5f6d6376cd2887229e0d15c624dd2e9a78e0 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Forward.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Forward.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Forward.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:60c155254c97ad953fc07b9244440f4e)
+ * (GenCodeChecksum:4fc0787d204ec05deef20a6b3f3f0de0)
  */
 
 /**
@@ -32,28 +32,36 @@ class CRM_Mailing_Event_DAO_Forward extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to EventQueue
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_queue_id;
 
   /**
    * FK to EventQueue for destination
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $dest_queue_id;
 
   /**
    * When this forward event occurred.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_stamp;
 
diff --git a/civicrm/CRM/Mailing/Event/DAO/Opened.php b/civicrm/CRM/Mailing/Event/DAO/Opened.php
index 2b340f50d4f98a52d7acf5a953b8811b1a63a4b4..d0ef057592e81a1ccb43a2dcd8badfdfcaccfbff 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Opened.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Opened.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Opened.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:eb80ba7a01169cc0320fb2807c873291)
+ * (GenCodeChecksum:a1d86a2d8080e57f206e2a7adcbbc276)
  */
 
 /**
@@ -32,21 +32,27 @@ class CRM_Mailing_Event_DAO_Opened extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to EventQueue
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_queue_id;
 
   /**
    * When this open event occurred.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_stamp;
 
diff --git a/civicrm/CRM/Mailing/Event/DAO/Queue.php b/civicrm/CRM/Mailing/Event/DAO/Queue.php
index c5ef84e299671c0b2baf4233672114232d8c7446..1cdc4dd5c8d2d70fe345b903e18fe27dbd1b4463 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Queue.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Queue.php
@@ -6,11 +6,11 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Queue.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:64ec9770e9d859c3dba4512005c188be)
+ * (GenCodeChecksum:774aa2cfd13fdd3f0e27e051453c3dc1)
  */
 
 /**
- * Database access object for the Queue entity.
+ * Database access object for the MailingEventQueue entity.
  */
 class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
   const EXT = 'civicrm';
@@ -32,28 +32,36 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Job
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $job_id;
 
   /**
    * FK to Email
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_id;
 
   /**
    * FK to Contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
@@ -61,13 +69,17 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
    * Security hash
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $hash;
 
   /**
    * FK to Phone
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_id;
 
@@ -122,7 +134,7 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
           'required' => TRUE,
           'where' => 'civicrm_mailing_event_queue.id',
           'table_name' => 'civicrm_mailing_event_queue',
-          'entity' => 'Queue',
+          'entity' => 'MailingEventQueue',
           'bao' => 'CRM_Mailing_Event_BAO_Queue',
           'localizable' => 0,
           'html' => [
@@ -139,7 +151,7 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
           'required' => TRUE,
           'where' => 'civicrm_mailing_event_queue.job_id',
           'table_name' => 'civicrm_mailing_event_queue',
-          'entity' => 'Queue',
+          'entity' => 'MailingEventQueue',
           'bao' => 'CRM_Mailing_Event_BAO_Queue',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_DAO_MailingJob',
@@ -156,7 +168,7 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
           'where' => 'civicrm_mailing_event_queue.email_id',
           'default' => NULL,
           'table_name' => 'civicrm_mailing_event_queue',
-          'entity' => 'Queue',
+          'entity' => 'MailingEventQueue',
           'bao' => 'CRM_Mailing_Event_BAO_Queue',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Email',
@@ -173,7 +185,7 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
           'required' => TRUE,
           'where' => 'civicrm_mailing_event_queue.contact_id',
           'table_name' => 'civicrm_mailing_event_queue',
-          'entity' => 'Queue',
+          'entity' => 'MailingEventQueue',
           'bao' => 'CRM_Mailing_Event_BAO_Queue',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
@@ -192,7 +204,7 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
           'size' => CRM_Utils_Type::HUGE,
           'where' => 'civicrm_mailing_event_queue.hash',
           'table_name' => 'civicrm_mailing_event_queue',
-          'entity' => 'Queue',
+          'entity' => 'MailingEventQueue',
           'bao' => 'CRM_Mailing_Event_BAO_Queue',
           'localizable' => 0,
           'add' => NULL,
@@ -205,7 +217,7 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
           'where' => 'civicrm_mailing_event_queue.phone_id',
           'default' => NULL,
           'table_name' => 'civicrm_mailing_event_queue',
-          'entity' => 'Queue',
+          'entity' => 'MailingEventQueue',
           'bao' => 'CRM_Mailing_Event_BAO_Queue',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Phone',
diff --git a/civicrm/CRM/Mailing/Event/DAO/Reply.php b/civicrm/CRM/Mailing/Event/DAO/Reply.php
index 0e3dfdd8707a7852be23bcebeb566852e319e59f..3b7d04b7bb0fe52e70d0bbded3b4f0a186ea9bcf 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Reply.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Reply.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Reply.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:500b838b63185072b949c9e1a308f9d0)
+ * (GenCodeChecksum:530a4b8ec0e37cbd23bf0acf8be67181)
  */
 
 /**
@@ -32,21 +32,27 @@ class CRM_Mailing_Event_DAO_Reply extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to EventQueue
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_queue_id;
 
   /**
    * When this reply event occurred.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_stamp;
 
diff --git a/civicrm/CRM/Mailing/Event/DAO/Subscribe.php b/civicrm/CRM/Mailing/Event/DAO/Subscribe.php
index 95e65c8e3cdc6898af367e70cd040bc090abb22c..f8e6ea7f95076ae2ee5c93b4e42017d9e58deb08 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Subscribe.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Subscribe.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Subscribe.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e9d5fb2bce9ebd0adb366e76b39d3e84)
+ * (GenCodeChecksum:e58268ec0a5deff45a3b5ab2527bed48)
  */
 
 /**
@@ -32,21 +32,27 @@ class CRM_Mailing_Event_DAO_Subscribe extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Group
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_id;
 
   /**
    * FK to Contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
@@ -54,13 +60,17 @@ class CRM_Mailing_Event_DAO_Subscribe extends CRM_Core_DAO {
    * Security hash
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $hash;
 
   /**
    * When this subscription event occurred.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_stamp;
 
diff --git a/civicrm/CRM/Mailing/Event/DAO/TrackableURLOpen.php b/civicrm/CRM/Mailing/Event/DAO/TrackableURLOpen.php
index 1b990938126d14d213496ad62cee2783bd67b842..7aeefdacac5bcaa38d7db0aad77de0e4a0b8ced7 100644
--- a/civicrm/CRM/Mailing/Event/DAO/TrackableURLOpen.php
+++ b/civicrm/CRM/Mailing/Event/DAO/TrackableURLOpen.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/TrackableURLOpen.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:5eed5ab9c156c3f774a049f39546cbac)
+ * (GenCodeChecksum:a49c335dfa1bde412a6123d715c9ef34)
  */
 
 /**
@@ -32,28 +32,36 @@ class CRM_Mailing_Event_DAO_TrackableURLOpen extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to EventQueue
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_queue_id;
 
   /**
    * FK to TrackableURL
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $trackable_url_id;
 
   /**
    * When this trackable URL open occurred.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_stamp;
 
diff --git a/civicrm/CRM/Mailing/Event/DAO/Unsubscribe.php b/civicrm/CRM/Mailing/Event/DAO/Unsubscribe.php
index 9e0bd515af887616ef7cce01c2b21239010c0215..86351e54e7fc268463990c47c51f2fba5aecc50c 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Unsubscribe.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Unsubscribe.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Unsubscribe.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:c1409a676271a172fdc33339a4414951)
+ * (GenCodeChecksum:3df64dd9a8d374056fcf215672b365d6)
  */
 
 /**
@@ -32,28 +32,36 @@ class CRM_Mailing_Event_DAO_Unsubscribe extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to EventQueue
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_queue_id;
 
   /**
    * Unsubscribe at org- or group-level
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $org_unsubscribe;
 
   /**
    * When this delivery event occurred.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_stamp;
 
diff --git a/civicrm/CRM/Mailing/Form/Task/Print.php b/civicrm/CRM/Mailing/Form/Task/Print.php
index 217d4cf67ff236d16f66044d9a1090cde747b81d..6cc8f2eb2d50639ce9d146b60aa48115a3b65081 100644
--- a/civicrm/CRM/Mailing/Form/Task/Print.php
+++ b/civicrm/CRM/Mailing/Form/Task/Print.php
@@ -27,7 +27,7 @@ class CRM_Mailing_Form_Task_Print extends CRM_Mailing_Form_Task {
     parent::preprocess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
 
     // get the formatted params
     $queryParams = $this->get('queryParams');
diff --git a/civicrm/CRM/Mailing/Info.php b/civicrm/CRM/Mailing/Info.php
index c670df0d9644e5f47dc4194269f3cd25e2355832..bca7024211a68cdfea7d1087ef50754eca782101 100644
--- a/civicrm/CRM/Mailing/Info.php
+++ b/civicrm/CRM/Mailing/Info.php
@@ -41,7 +41,6 @@ class CRM_Mailing_Info extends CRM_Core_Component_Info {
       }
     }
 
-    $config = CRM_Core_Config::singleton();
     $session = CRM_Core_Session::singleton();
     $contactID = $session->get('userID');
 
@@ -95,7 +94,7 @@ class CRM_Mailing_Info extends CRM_Core_Component_Info {
     $crmMailingSettings = [
       'templateTypes' => CRM_Mailing_BAO_Mailing::getTemplateTypes(),
       'civiMails' => [],
-      'campaignEnabled' => in_array('CiviCampaign', $config->enableComponents),
+      'campaignEnabled' => CRM_Core_Component::isEnabled('CiviCampaign'),
       'groupNames' => [],
       // @todo this is not used in core. Remove once Mosaico no longer depends on it.
       'testGroupNames' => $groupNames['values'],
diff --git a/civicrm/CRM/Mailing/Selector/Search.php b/civicrm/CRM/Mailing/Selector/Search.php
index b37a2cc323999cdc92895b9863342c5a2009e844..8f54d1e888bff1be6bee4edc430fe075964ed15e 100644
--- a/civicrm/CRM/Mailing/Selector/Search.php
+++ b/civicrm/CRM/Mailing/Selector/Search.php
@@ -107,7 +107,7 @@ class CRM_Mailing_Selector_Search extends CRM_Core_Selector_Base implements CRM_
   /**
    * The query object.
    *
-   * @var string
+   * @var CRM_Contact_BAO_Query
    */
   protected $_query;
 
diff --git a/civicrm/CRM/Member/BAO/Membership.php b/civicrm/CRM/Member/BAO/Membership.php
index 3a04e646c9d8ae238f7c964863a9f8aa379e4e72..b6aba091359d08ffd31e41d322ec53f5797b8de0 100644
--- a/civicrm/CRM/Member/BAO/Membership.php
+++ b/civicrm/CRM/Member/BAO/Membership.php
@@ -30,13 +30,6 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership {
 
   public static $_signupActType = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Takes an associative array and creates a membership object.
    *
diff --git a/civicrm/CRM/Member/BAO/MembershipBlock.php b/civicrm/CRM/Member/BAO/MembershipBlock.php
index 6c5dfdc93161f9f7fd4728313e6269a5cf210224..08458deee8aec08ede4f04e78c6dcf6f6216dc4f 100644
--- a/civicrm/CRM/Member/BAO/MembershipBlock.php
+++ b/civicrm/CRM/Member/BAO/MembershipBlock.php
@@ -16,13 +16,6 @@
  */
 class CRM_Member_BAO_MembershipBlock extends CRM_Member_DAO_MembershipBlock {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Create or update a MembershipBlock.
    *
diff --git a/civicrm/CRM/Member/BAO/MembershipPayment.php b/civicrm/CRM/Member/BAO/MembershipPayment.php
index e19b1fdbf2d5e30f584343c82b83a74d1e26e4b0..a87adb5f43f3fd81d6e6912846694db7f83b0c16 100644
--- a/civicrm/CRM/Member/BAO/MembershipPayment.php
+++ b/civicrm/CRM/Member/BAO/MembershipPayment.php
@@ -16,13 +16,6 @@
  */
 class CRM_Member_BAO_MembershipPayment extends CRM_Member_DAO_MembershipPayment {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Add the membership Payments.
    *
diff --git a/civicrm/CRM/Member/BAO/MembershipType.php b/civicrm/CRM/Member/BAO/MembershipType.php
index 2093eea87859aae535626ca3189c42c8ee35776d..3b77fa2875eeeeeb9fbff35a69f36148a7185af2 100644
--- a/civicrm/CRM/Member/BAO/MembershipType.php
+++ b/civicrm/CRM/Member/BAO/MembershipType.php
@@ -24,13 +24,6 @@ class CRM_Member_BAO_MembershipType extends CRM_Member_DAO_MembershipType implem
 
   public static $_membershipTypeInfo = [];
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -91,14 +84,8 @@ class CRM_Member_BAO_MembershipType extends CRM_Member_DAO_MembershipType implem
 
     $membershipTypeId = $params['id'] ?? NULL;
 
-    if (!$membershipTypeId) {
-      if (!isset($params['is_active'])) {
-        // do we need this?
-        $params['is_active'] = FALSE;
-      }
-      if (!isset($params['domain_id'])) {
-        $params['domain_id'] = CRM_Core_Config::domainID();
-      }
+    if (!$membershipTypeId && !isset($params['domain_id'])) {
+      $params['domain_id'] = CRM_Core_Config::domainID();
     }
 
     // $previousID is the old organization id for membership type i.e 'member_of_contact_id'. This is used when an organization is changed.
diff --git a/civicrm/CRM/Member/DAO/Membership.php b/civicrm/CRM/Member/DAO/Membership.php
index e378b8876e5cf4ce8513a035853df09fbaffd23d..94bcb0f9b07e0a5be76d49e9fcf50f9e970f40b1 100644
--- a/civicrm/CRM/Member/DAO/Membership.php
+++ b/civicrm/CRM/Member/DAO/Membership.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/Membership.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:fd3bcddc97a226b449f26e3280ef2ace)
+ * (GenCodeChecksum:0619aa3946bcadcab1919672c9ecf35a)
  */
 
 /**
@@ -53,106 +53,138 @@ class CRM_Member_DAO_Membership extends CRM_Core_DAO {
   /**
    * Membership ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * FK to Membership Type
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $membership_type_id;
 
   /**
    * Beginning of initial membership period (member since...).
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $join_date;
 
   /**
    * Beginning of current uninterrupted membership period.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * Current membership period expire date.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $source;
 
   /**
    * FK to Membership Status
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * Admin users may set a manual status which overrides the calculated status. When this flag is true, automated status update scripts should NOT modify status for the record.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_override;
 
   /**
    * Then end date of membership status override if 'Override until selected date' override type is selected.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_override_end_date;
 
   /**
    * Optional FK to Parent Membership.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $owner_membership_id;
 
   /**
    * Maximum number of related memberships (membership_type override).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_related;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_test;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_pay_later;
 
   /**
    * Conditional foreign key to civicrm_contribution_recur id. Each membership in connection with a recurring contribution carries a foreign key to the recurring contribution record. This assumes we can track these processor initiated events.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_recur_id;
 
   /**
    * The campaign for which this membership is attached.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
diff --git a/civicrm/CRM/Member/DAO/MembershipBlock.php b/civicrm/CRM/Member/DAO/MembershipBlock.php
index 891dc5b991b37071f4d54efed0be82bb2fb2de79..a8fdf704d6034c326b3b9af1480a00170408d719 100644
--- a/civicrm/CRM/Member/DAO/MembershipBlock.php
+++ b/civicrm/CRM/Member/DAO/MembershipBlock.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/MembershipBlock.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:1f5c13fb36ae0853ed5982f6ca40d65a)
+ * (GenCodeChecksum:8e0e93f6f480d279cbf4ac53db86a8f3)
  */
 
 /**
@@ -34,91 +34,117 @@ class CRM_Member_DAO_MembershipBlock extends CRM_Core_DAO {
   /**
    * Membership ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Name for Membership Status
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * FK to civicrm_contribution_page.id
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * Membership types to be exposed by this block
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(1024))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $membership_types;
 
   /**
    * Optional foreign key to membership_type
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $membership_type_default;
 
   /**
    * Display minimum membership fee
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $display_min_fee;
 
   /**
    * Should membership transactions be processed separately
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_separate_payment;
 
   /**
    * Title to display at top of block
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $new_title;
 
   /**
    * Text to display below title
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $new_text;
 
   /**
    * Title for renewal
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $renewal_title;
 
   /**
    * Text to display for member renewal
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $renewal_text;
 
   /**
    * Is membership sign up optional
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_required;
 
   /**
    * Is this membership_block enabled
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Member/DAO/MembershipLog.php b/civicrm/CRM/Member/DAO/MembershipLog.php
index 2d13cc86d0b2da8ba6e28f83a176b9d58ae15d05..ead87623ba6ed0bc3816534b56f98172b4e62774 100644
--- a/civicrm/CRM/Member/DAO/MembershipLog.php
+++ b/civicrm/CRM/Member/DAO/MembershipLog.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/MembershipLog.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:cca53e3abe058a7b585138271658d90c)
+ * (GenCodeChecksum:0064664a5741cb1f9ba8fea392dcef22)
  */
 
 /**
@@ -32,63 +32,81 @@ class CRM_Member_DAO_MembershipLog extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Membership table
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $membership_id;
 
   /**
    * New status assigned to membership by this action. FK to Membership Status
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * New membership period start date
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * New membership period expiration date.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * FK to Contact ID of person under whose credentials this data modification was made.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_id;
 
   /**
    * Date this membership modification action was logged.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
   /**
    * FK to Membership Type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $membership_type_id;
 
   /**
    * Maximum number of related memberships.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_related;
 
diff --git a/civicrm/CRM/Member/DAO/MembershipPayment.php b/civicrm/CRM/Member/DAO/MembershipPayment.php
index a549158e021513641913abb99df84228c9d8a2b6..e8dbf3e64e04af3206ebf76f38efa671a8563083 100644
--- a/civicrm/CRM/Member/DAO/MembershipPayment.php
+++ b/civicrm/CRM/Member/DAO/MembershipPayment.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/MembershipPayment.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:cb00d5477470230f8ab9b18bc56ca910)
+ * (GenCodeChecksum:ff33ff800a373cf9cf5e58ad1d5a3c94)
  */
 
 /**
@@ -32,21 +32,27 @@ class CRM_Member_DAO_MembershipPayment extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Membership table
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $membership_id;
 
   /**
    * FK to contribution table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_id;
 
diff --git a/civicrm/CRM/Member/DAO/MembershipStatus.php b/civicrm/CRM/Member/DAO/MembershipStatus.php
index cea61d91d13c1cb2c192bee67b8494de64dd5374..764946fbb835158ee166b2365434797b508eacf4 100644
--- a/civicrm/CRM/Member/DAO/MembershipStatus.php
+++ b/civicrm/CRM/Member/DAO/MembershipStatus.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/MembershipStatus.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e60a982e078b6f3b7d14b16ea2139f14)
+ * (GenCodeChecksum:5c4442b352b42ed23368f5dbb0bc0531)
  */
 
 /**
@@ -41,7 +41,9 @@ class CRM_Member_DAO_MembershipStatus extends CRM_Core_DAO {
   /**
    * Membership ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -49,95 +51,123 @@ class CRM_Member_DAO_MembershipStatus extends CRM_Core_DAO {
    * Name for Membership Status
    *
    * @var string
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Label for Membership Status
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * Event when this status starts.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_event;
 
   /**
    * Unit used for adjusting from start_event.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_event_adjust_unit;
 
   /**
    * Status range begins this many units from start_event.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_event_adjust_interval;
 
   /**
    * Event after which this status ends.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_event;
 
   /**
    * Unit used for adjusting from the ending event.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_event_adjust_unit;
 
   /**
    * Status range ends this many units from end_event.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_event_adjust_interval;
 
   /**
    * Does this status aggregate to current members (e.g. New, Renewed, Grace might all be TRUE... while Unrenewed, Lapsed, Inactive would be FALSE).
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_current_member;
 
   /**
    * Is this status for admin/manual assignment only.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_admin;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Assign this status to a membership record if no other status match is found.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
    * Is this membership_status enabled.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this membership_status reserved.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
diff --git a/civicrm/CRM/Member/DAO/MembershipType.php b/civicrm/CRM/Member/DAO/MembershipType.php
index 50038a30a7fca22762c8fbd66ecaed4a3424bfbc..40e9b671d316e9c3da5f3d19b2a5be218d8688d9 100644
--- a/civicrm/CRM/Member/DAO/MembershipType.php
+++ b/civicrm/CRM/Member/DAO/MembershipType.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/MembershipType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:9cb69957096aad15ee7d55a4efceb53e)
+ * (GenCodeChecksum:ebffd1b4dde86196cd988e43adcd6ad8)
  */
 
 /**
@@ -41,14 +41,18 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
   /**
    * Membership ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this match entry for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
@@ -56,34 +60,44 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
    * Name of Membership Type
    *
    * @var string
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Description of Membership Type
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Owner organization for this membership type. FK to Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $member_of_contact_id;
 
   /**
    * If membership is paid by a contribution - what financial type should be used. FK to civicrm_financial_type.id
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * Minimum fee for this membership (0 for free/complimentary memberships).
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(18,9))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $minimum_fee;
 
@@ -91,13 +105,17 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
    * Unit in which membership period is expressed.
    *
    * @var string
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $duration_unit;
 
   /**
    * Number of duration units in membership period (e.g. 1 year, 12 months).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $duration_interval;
 
@@ -105,77 +123,101 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
    * Rolling membership period starts on signup date. Fixed membership periods start on fixed_period_start_day.
    *
    * @var string
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $period_type;
 
   /**
    * For fixed period memberships, month and day (mmdd) on which subscription/membership will start. Period start is back-dated unless after rollover day.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fixed_period_start_day;
 
   /**
    * For fixed period memberships, signups after this day (mmdd) rollover to next period.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fixed_period_rollover_day;
 
   /**
    * FK to Relationship Type ID
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $relationship_type_id;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $relationship_direction;
 
   /**
    * Maximum number of related memberships.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_related;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $visibility;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Receipt Text for membership signup
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $receipt_text_signup;
 
   /**
    * Receipt Text for membership renewal
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $receipt_text_renewal;
 
   /**
    * 0 = No auto-renew option; 1 = Give option, but not required; 2 = Auto-renew required;
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $auto_renew;
 
   /**
    * Is this membership_type enabled
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Member/Form.php b/civicrm/CRM/Member/Form.php
index 9ec7b8be7a7ed2f252d81842bac82d656c6926f8..a8ffd62a2a9e7b6874a12098da139a3259364987 100644
--- a/civicrm/CRM/Member/Form.php
+++ b/civicrm/CRM/Member/Form.php
@@ -99,7 +99,7 @@ class CRM_Member_Form extends CRM_Contribute_Form_AbstractEditPayment {
   /**
    * Add to the status message.
    *
-   * @param $message
+   * @param string $message
    */
   protected function addStatusMessage($message) {
     $this->statusMessage[] = $message;
diff --git a/civicrm/CRM/Member/Form/Membership.php b/civicrm/CRM/Member/Form/Membership.php
index 8654b6aa83c08ce840002164bcaa5ec2de344a08..9766a5e3d5aa1f015526ba2e68d41d6da48fd137 100644
--- a/civicrm/CRM/Member/Form/Membership.php
+++ b/civicrm/CRM/Member/Form/Membership.php
@@ -1518,7 +1518,7 @@ DESC limit 1");
   /**
    * Get status message for create action.
    *
-   * @return array|string
+   * @return string
    * @throws \CiviCRM_API3_Exception
    */
   protected function getStatusMessageForCreate(): string {
diff --git a/civicrm/CRM/Member/Form/MembershipRenewal.php b/civicrm/CRM/Member/Form/MembershipRenewal.php
index d00e5b51b4b1c1008e49891f5d94893bfe7b2049..03018c8dfd83994c96774734f86e4ac276e4be19 100644
--- a/civicrm/CRM/Member/Form/MembershipRenewal.php
+++ b/civicrm/CRM/Member/Form/MembershipRenewal.php
@@ -408,7 +408,7 @@ class CRM_Member_Form_MembershipRenewal extends CRM_Member_Form {
    * @param array $params
    *   (ref.) an assoc array of name/value pairs.
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   mixed true or array of errors
diff --git a/civicrm/CRM/Member/Form/Task/Print.php b/civicrm/CRM/Member/Form/Task/Print.php
index 665561e3ee7c0d6eaecc3bfce1862896388684ea..eda72432902e474f82316bb0aecd882ffd6f60ba 100644
--- a/civicrm/CRM/Member/Form/Task/Print.php
+++ b/civicrm/CRM/Member/Form/Task/Print.php
@@ -29,7 +29,7 @@ class CRM_Member_Form_Task_Print extends CRM_Member_Form_Task {
     parent::preprocess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
 
     // get the formatted params
     $queryParams = $this->get('queryParams');
diff --git a/civicrm/CRM/Member/Import/Form/MapField.php b/civicrm/CRM/Member/Import/Form/MapField.php
index de1f18b1d7e83c1f845ec2e1df6bd0918094e8ba..0b1ee0e9384085d1102355ab76ecd279545d6677 100644
--- a/civicrm/CRM/Member/Import/Form/MapField.php
+++ b/civicrm/CRM/Member/Import/Form/MapField.php
@@ -285,7 +285,7 @@ class CRM_Member_Import_Form_MapField extends CRM_Import_Form_MapField {
    *   Posted values of the form.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Member/Page/DashBoard.php b/civicrm/CRM/Member/Page/DashBoard.php
index 353ceeb75a54b081a500eecef21cb486c908a4e4..8a931b38c9c9f60b21aa8d8c8bb8bb940ac464a8 100644
--- a/civicrm/CRM/Member/Page/DashBoard.php
+++ b/civicrm/CRM/Member/Page/DashBoard.php
@@ -86,51 +86,61 @@ class CRM_Member_Page_DashBoard extends CRM_Core_Page {
       $membershipSummary[$key]['premonth']['new'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipJoins($key, $preMonth, $preMonthEnd),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['premonth']['renew'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipRenewals($key, $preMonth, $preMonthEnd),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['premonth']['total'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipStarts($key, $preMonth, $preMonthEnd),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['month']['new'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipJoins($key, $monthStart, $ymd),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['month']['renew'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipRenewals($key, $monthStart, $ymd),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['month']['total'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipStarts($key, $monthStart, $ymd),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['year']['new'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipJoins($key, $yearStart, $ymd),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['year']['renew'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipRenewals($key, $yearStart, $ymd),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['year']['total'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipStarts($key, $yearStart, $ymd),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['current']['total'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipCount($key, $current),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['total']['total'] = array('count' => CRM_Member_BAO_Membership::getMembershipCount($key, $ymd));
@@ -139,21 +149,25 @@ class CRM_Member_Page_DashBoard extends CRM_Core_Page {
       $membershipSummary[$key]['premonth_owner']['premonth_owner'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipStarts($key, $preMonth, $preMonthEnd, 0, 1),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['month_owner']['month_owner'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipStarts($key, $monthStart, $ymd, 0, 1),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['year_owner']['year_owner'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipStarts($key, $yearStart, $ymd, 0, 1),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['current_owner']['current_owner'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipCount($key, $current, 0, 1),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['total_owner']['total_owner'] = array('count' => CRM_Member_BAO_Membership::getMembershipCount($key, $ymd, 0, 1));
@@ -210,38 +224,47 @@ class CRM_Member_Page_DashBoard extends CRM_Core_Page {
 
     $totalCount['premonth']['new'] = array(
       'count' => $newCountPreMonth,
+      'url' => FALSE,
     );
 
     $totalCount['premonth']['renew'] = array(
       'count' => $renewCountPreMonth,
+      'url' => FALSE,
     );
 
     $totalCount['premonth']['total'] = array(
       'count' => $totalCountPreMonth,
+      'url' => FALSE,
     );
 
     $totalCount['month']['new'] = array(
       'count' => $newCountMonth,
+      'url' => FALSE,
     );
 
     $totalCount['month']['renew'] = array(
       'count' => $renewCountMonth,
+      'url' => FALSE,
     );
 
     $totalCount['month']['total'] = array(
       'count' => $totalCountMonth,
+      'url' => FALSE,
     );
 
     $totalCount['year']['new'] = array(
       'count' => $newCountYear,
+      'url' => FALSE,
     );
 
     $totalCount['year']['renew'] = array(
       'count' => $renewCountYear,
+      'url' => FALSE,
     );
 
     $totalCount['year']['total'] = array(
       'count' => $totalCountYear,
+      'url' => FALSE,
     );
 
     $totalCount['current']['total'] = array(
@@ -272,32 +295,38 @@ class CRM_Member_Page_DashBoard extends CRM_Core_Page {
     //LCD add owner values
     $totalCount['premonth_owner']['premonth_owner'] = array(
       'count' => $totalCountPreMonth_owner,
+      'url' => FALSE,
       //  'url' => CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&membership_status_id=$status&start=$preMonth&end=$preMonthEnd&owner=1"),
     );
 
     $totalCount['month_owner']['month_owner'] = array(
       'count' => $totalCountMonth_owner,
+      'url' => FALSE,
       //  'url' => CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&membership_status_id=$status&start=$monthStart&end=$ymd&owner=1"),
     );
 
     $totalCount['year_owner']['year_owner'] = array(
       'count' => $totalCountYear_owner,
+      'url' => FALSE,
       //  'url' => CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&membership_status_id=$status&start=$yearStart&end=$ymd&owner=1"),
     );
 
     $totalCount['current_owner']['current_owner'] = array(
       'count' => $totalCountCurrent_owner,
+      'url' => FALSE,
       //  'url' => CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&membership_status_id=$status&owner=1"),
     );
 
     $totalCount['total_owner']['total_owner'] = array(
       'count' => $totalCountTotal_owner,
+      'url' => FALSE,
       //  'url' => CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&membership_status_id=$status&owner=1"),
     );
 
     if (!$isCurrentMonth) {
       $totalCount['total_owner']['total_owner'] = array(
         'count' => $totalCountTotal_owner,
+        'url' => FALSE,
         //  'url' => CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&membership_status_id=$status&start=&end=$ymd&owner=1"),
       );
     }
diff --git a/civicrm/CRM/Member/Page/Tab.php b/civicrm/CRM/Member/Page/Tab.php
index 965354c36533aaaa64f59f440e0ca4ede47e9cd5..085212a2e8aced22cd203b54f91aa90c4f141946 100644
--- a/civicrm/CRM/Member/Page/Tab.php
+++ b/civicrm/CRM/Member/Page/Tab.php
@@ -27,6 +27,16 @@ class CRM_Member_Page_Tab extends CRM_Core_Page {
   public $_permission = NULL;
   public $_contactId = NULL;
 
+  /**
+   * @var bool
+   */
+  private $_isPaymentProcessor = FALSE;
+
+  /**
+   * @var bool
+   */
+  private $_accessContribution = FALSE;
+
   /**
    * called when action is browse.
    */
@@ -118,8 +128,8 @@ class CRM_Member_Page_Tab extends CRM_Core_Page {
         $isCancelSupported = CRM_Member_BAO_Membership::isCancelSubscriptionSupported(
           $membership[$dao->id]['membership_id']);
         $links = self::links('all',
-            NULL,
-            NULL,
+            FALSE,
+            FALSE,
             $isCancelSupported,
             $isUpdateBilling
         );
@@ -240,7 +250,7 @@ class CRM_Member_Page_Tab extends CRM_Core_Page {
   /**
    * called when action is view.
    *
-   * @return null
+   * @return mixed
    */
   public function view() {
     $controller = new CRM_Core_Controller_Simple(
@@ -258,7 +268,7 @@ class CRM_Member_Page_Tab extends CRM_Core_Page {
   /**
    * called when action is update or new.
    *
-   * @return null
+   * @return mixed
    */
   public function edit() {
     // We're trying to edit existing memberships or create a new one so we'll first check that a membership
@@ -486,8 +496,8 @@ class CRM_Member_Page_Tab extends CRM_Core_Page {
    * Get action links.
    *
    * @param string $status
-   * @param null $isPaymentProcessor
-   * @param null $accessContribution
+   * @param bool $isPaymentProcessor
+   * @param bool $accessContribution
    * @param bool $isCancelSupported
    * @param bool $isUpdateBilling
    *
@@ -496,8 +506,8 @@ class CRM_Member_Page_Tab extends CRM_Core_Page {
    */
   public static function &links(
     $status = 'all',
-    $isPaymentProcessor = NULL,
-    $accessContribution = NULL,
+    $isPaymentProcessor = FALSE,
+    $accessContribution = FALSE,
     $isCancelSupported = FALSE,
     $isUpdateBilling = FALSE
   ) {
diff --git a/civicrm/CRM/Member/Selector/Search.php b/civicrm/CRM/Member/Selector/Search.php
index e47d96f71e23a3d00ecd0403f0c09bff87f422fa..f31c34d0f822e0cc6b3a321bf4d541d34c156dbf 100644
--- a/civicrm/CRM/Member/Selector/Search.php
+++ b/civicrm/CRM/Member/Selector/Search.php
@@ -165,17 +165,17 @@ class CRM_Member_Selector_Search extends CRM_Core_Selector_Base implements CRM_C
    *
    * @param string $status
    * @param bool $isPaymentProcessor
-   * @param null $accessContribution
-   * @param null $qfKey
-   * @param null $context
+   * @param bool $accessContribution
+   * @param string|null $qfKey
+   * @param string|null $context
    * @param bool $isCancelSupported
    *
    * @return array
    */
   public static function &links(
     $status = 'all',
-    $isPaymentProcessor = NULL,
-    $accessContribution = NULL,
+    $isPaymentProcessor = FALSE,
+    $accessContribution = FALSE,
     $qfKey = NULL,
     $context = NULL,
     $isCancelSupported = FALSE
@@ -308,19 +308,15 @@ class CRM_Member_Selector_Search extends CRM_Core_Selector_Base implements CRM_C
     $processors = CRM_Core_PseudoConstant::paymentProcessor(FALSE, FALSE,
       "billing_mode IN ( 1, 3 )"
     );
+    $isPaymentProcessor = FALSE;
     if (count($processors) > 0) {
-      $this->_isPaymentProcessor = TRUE;
-    }
-    else {
-      $this->_isPaymentProcessor = FALSE;
+      $isPaymentProcessor = TRUE;
     }
 
     // Only show credit card membership signup and renewal if user has CiviContribute permission
+    $accessContribution = FALSE;
     if (CRM_Core_Permission::access('CiviContribute')) {
-      $this->_accessContribution = TRUE;
-    }
-    else {
-      $this->_accessContribution = FALSE;
+      $accessContribution = TRUE;
     }
 
     //get all campaigns.
@@ -375,8 +371,8 @@ class CRM_Member_Selector_Search extends CRM_Core_Selector_Base implements CRM_C
 
         $isCancelSupported = CRM_Member_BAO_Membership::isCancelSubscriptionSupported($row['membership_id']);
         $links = self::links('all',
-          $this->_isPaymentProcessor,
-          $this->_accessContribution,
+          $isPaymentProcessor,
+          $accessContribution,
           $this->_key,
           $this->_context,
           $isCancelSupported
@@ -524,7 +520,7 @@ class CRM_Member_Selector_Search extends CRM_Core_Selector_Base implements CRM_C
   /**
    * Alphabet query.
    *
-   * @return mixed
+   * @return CRM_Core_DAO
    */
   public function alphabetQuery() {
     return $this->_query->alphabetQuery();
diff --git a/civicrm/CRM/PCP/BAO/PCP.php b/civicrm/CRM/PCP/BAO/PCP.php
index 3cd88f0a4cc3af10901d10a6a2bf600fca4fcb53..c6138349eb75200990298d8258bd509cc410ddbb 100644
--- a/civicrm/CRM/PCP/BAO/PCP.php
+++ b/civicrm/CRM/PCP/BAO/PCP.php
@@ -23,13 +23,6 @@ class CRM_PCP_BAO_PCP extends CRM_PCP_DAO_PCP {
    */
   public static $_pcpLinks = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Add or update either a Personal Campaign Page OR a PCP Block.
    *
@@ -89,8 +82,12 @@ WHERE  civicrm_pcp.contact_id = civicrm_contact.id
    */
   public static function getPcpDashboardInfo($contactId) {
     $query = '
-SELECT pcp.*, block.is_tellfriend_enabled FROM civicrm_pcp pcp
+SELECT pcp.*, block.is_tellfriend_enabled,
+COALESCE(cp.end_date, event.end_date) as end_date
+FROM civicrm_pcp pcp
 LEFT JOIN civicrm_pcp_block block ON block.id = pcp.pcp_block_id
+LEFT OUTER JOIN civicrm_contribution_page cp ON (cp.id = pcp.page_id AND pcp.page_type = "contribute")
+LEFT OUTER JOIN civicrm_event event ON (event.id = pcp.page_id AND pcp.page_type = "event")
 WHERE pcp.is_active = 1
   AND pcp.contact_id = %1
 ORDER BY page_type, page_id';
@@ -140,6 +137,7 @@ ORDER BY page_type, page_id';
         'pcpId' => $pcpInfoDao->id,
         'pcpTitle' => $pcpInfoDao->title,
         'pcpStatus' => CRM_Core_PseudoConstant::getLabel('CRM_PCP_BAO_PCP', 'status_id', $pcpInfoDao->status_id),
+        'end_date' => $pcpInfoDao->end_date,
         'action' => $action,
         'class' => $class,
       ];
@@ -158,12 +156,19 @@ AND target_entity_id NOT IN ( " . implode(',', $entityIds) . ") )";
     }
 
     $query = "
-SELECT *
+SELECT block.*,
+COALESCE(cp.end_date, event.end_date) as end_date
 FROM civicrm_pcp_block block
-LEFT JOIN civicrm_pcp pcp ON pcp.pcp_block_id = block.id
+LEFT OUTER JOIN civicrm_contribution_page cp ON (cp.id = block.target_entity_id AND block.target_entity_type = 'contribute')
+LEFT OUTER JOIN civicrm_event event ON (event.id = block.target_entity_id AND block.target_entity_type = 'event')
 WHERE block.is_active = 1
 {$clause}
-GROUP BY block.id, pcp.id
+  AND (cp.is_active = 1 OR event.is_active = 1)
+  AND (
+    (block.target_entity_type = 'contribute' AND (cp.end_date >= DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') OR cp.end_date IS NULL))
+    OR
+    (block.target_entity_type = 'event' AND (event.end_date >= DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') OR event.end_date IS NULL)))
+GROUP BY block.id, block.target_entity_id
 ORDER BY target_entity_type, target_entity_id
 ";
     $pcpBlockDao = CRM_Core_DAO::executeQuery($query);
@@ -184,7 +189,9 @@ ORDER BY target_entity_type, target_entity_id
       if ($pageTitle) {
         $pcpBlock[] = [
           'pageId' => $pcpBlockDao->target_entity_id,
+          'pageComponent' => $pcpBlockDao->target_entity_type,
           'pageTitle' => $pageTitle,
+          'end_date' => $pcpBlockDao->end_date,
           'action' => $action,
         ];
       }
diff --git a/civicrm/CRM/PCP/DAO/PCP.php b/civicrm/CRM/PCP/DAO/PCP.php
index 70d9137abe1493e0b4fa173990f1781978144a16..f0996d982cadc950483c8476ef89b3a4732782dd 100644
--- a/civicrm/CRM/PCP/DAO/PCP.php
+++ b/civicrm/CRM/PCP/DAO/PCP.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/PCP/PCP.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0d2fc92a3a801a3eb5eca71989b21557)
+ * (GenCodeChecksum:9f11f3e21038c8027ad0e97497ccc356)
  */
 
 /**
@@ -34,98 +34,130 @@ class CRM_PCP_DAO_PCP extends CRM_Core_DAO {
   /**
    * Personal Campaign Page ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $intro_text;
 
   /**
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $page_text;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $donate_link_text;
 
   /**
    * The Contribution or Event Page which triggered this pcp
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $page_id;
 
   /**
    * The type of PCP this is: contribute or event
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $page_type;
 
   /**
    * The pcp block that this pcp page was created from
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pcp_block_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_thermometer;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_honor_roll;
 
   /**
    * Goal amount of this Personal Campaign Page.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $goal_amount;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * Is Personal Campaign Page enabled/active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Notify owner via email when someone donates to page?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_notify;
 
diff --git a/civicrm/CRM/PCP/DAO/PCPBlock.php b/civicrm/CRM/PCP/DAO/PCPBlock.php
index 57c7fc9fa451facfe8632942600b0d170184e218..351bb1b4836aad86ff8764f24fd94efd6b37f6fe 100644
--- a/civicrm/CRM/PCP/DAO/PCPBlock.php
+++ b/civicrm/CRM/PCP/DAO/PCPBlock.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/PCP/PCPBlock.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:4b5ca843e0a3a2e4b439d03513b20682)
+ * (GenCodeChecksum:5528529230e5f5dbcfa0466ada0514d1)
  */
 
 /**
@@ -34,19 +34,25 @@ class CRM_PCP_DAO_PCPBlock extends CRM_Core_DAO {
   /**
    * PCP block ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * FK to civicrm_contribution_page.id OR civicrm_event.id
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
@@ -54,69 +60,89 @@ class CRM_PCP_DAO_PCPBlock extends CRM_Core_DAO {
    * The type of entity that this pcp targets
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $target_entity_type;
 
   /**
    * The entity that this pcp targets
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $target_entity_id;
 
   /**
    * FK to civicrm_uf_group.id. Does Personal Campaign Page require manual activation by administrator? (is inactive by default after setup)?
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $supporter_profile_id;
 
   /**
    * FK to civicrm_option_group with name = PCP owner notifications
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $owner_notify_id;
 
   /**
    * Does Personal Campaign Page require manual activation by administrator? (is inactive by default after setup)?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_approval_needed;
 
   /**
    * Does Personal Campaign Page allow using tell a friend?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_tellfriend_enabled;
 
   /**
    * Maximum recipient fields allowed in tell a friend
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $tellfriend_limit;
 
   /**
    * Link text for PCP.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $link_text;
 
   /**
    * Is Personal Campaign Page Block enabled/active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * If set, notification is automatically emailed to this email-address on create/update Personal Campaign Page
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $notify_email;
 
diff --git a/civicrm/CRM/PCP/Form/Campaign.php b/civicrm/CRM/PCP/Form/Campaign.php
index 538300bb4aca3e3735861e98dabb7c870193663a..40efeadcd7f2792f7fa61e2897cd57dd8b381f91 100644
--- a/civicrm/CRM/PCP/Form/Campaign.php
+++ b/civicrm/CRM/PCP/Form/Campaign.php
@@ -157,7 +157,7 @@ class CRM_PCP_Form_Campaign extends CRM_Core_Form {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    *
    * @return bool|array
diff --git a/civicrm/CRM/PCP/Form/Contribute.php b/civicrm/CRM/PCP/Form/Contribute.php
index 8c5b82c7d906160e01358ee98867740dcb5a820e..c97df89becfc15e98cb39a70728cf594e184ad59 100644
--- a/civicrm/CRM/PCP/Form/Contribute.php
+++ b/civicrm/CRM/PCP/Form/Contribute.php
@@ -88,7 +88,7 @@ class CRM_PCP_Form_Contribute extends CRM_Contribute_Form_ContributionPage {
    *   (ref.) an assoc array of name/value pairs.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   mixed true or array of errors
diff --git a/civicrm/CRM/PCP/Form/Event.php b/civicrm/CRM/PCP/Form/Event.php
index 3a0f95f7452adb3addac734238ae8d12b7d10bd7..22034defd5456a8a334a8fa36cf2a02581cd18aa 100644
--- a/civicrm/CRM/PCP/Form/Event.php
+++ b/civicrm/CRM/PCP/Form/Event.php
@@ -118,7 +118,7 @@ class CRM_PCP_Form_Event extends CRM_Event_Form_ManageEvent {
    *   (ref.) an assoc array of name/value pairs.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   mixed true or array of errors
diff --git a/civicrm/CRM/PCP/Form/PCPAccount.php b/civicrm/CRM/PCP/Form/PCPAccount.php
index fd148fdd3eb56c304a2867cfab459494f26992e2..bc052f7e145d58af392a2c0b86412c420780c7e6 100644
--- a/civicrm/CRM/PCP/Form/PCPAccount.php
+++ b/civicrm/CRM/PCP/Form/PCPAccount.php
@@ -214,7 +214,7 @@ class CRM_PCP_Form_PCPAccount extends CRM_Core_Form {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    *
    * @return bool|array
diff --git a/civicrm/CRM/Pledge/BAO/Pledge.php b/civicrm/CRM/Pledge/BAO/Pledge.php
index 06412eda4c018ee1ba348a2f6a20efcf20cc6ddb..bdc26352bdbb88e565c5eee1f3a72ea206f465d5 100644
--- a/civicrm/CRM/Pledge/BAO/Pledge.php
+++ b/civicrm/CRM/Pledge/BAO/Pledge.php
@@ -23,13 +23,6 @@ class CRM_Pledge_BAO_Pledge extends CRM_Pledge_DAO_Pledge {
    */
   public static $_exportableFields = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Retrieve DB object based on input parameters.
    *
@@ -153,24 +146,7 @@ class CRM_Pledge_BAO_Pledge extends CRM_Pledge_DAO_Pledge {
     }
     $paymentParams['status_id'] = $params['status_id'] ?? NULL;
 
-    CRM_Utils_Hook::pre($action, 'Pledge', $params['id'] ?? NULL, $params);
-    $pledge = new CRM_Pledge_DAO_Pledge();
-
-    // if pledge is complete update end date as current date
-    if ($pledge->status_id == 1) {
-      $pledge->end_date = date('Ymd');
-    }
-
-    $pledge->copyValues($params);
-    $pledge->save();
-    CRM_Utils_Hook::post($action, 'Pledge', $pledge->id, $pledge);
-
-    // handle custom data.
-    if (!empty($params['custom']) &&
-      is_array($params['custom'])
-    ) {
-      CRM_Core_BAO_CustomValueTable::store($params['custom'], 'civicrm_pledge', $pledge->id);
-    }
+    $pledge = self::writeRecord($params);
 
     // skip payment stuff in edit mode
     if (empty($params['id']) || $isRecalculatePledgePayment) {
diff --git a/civicrm/CRM/Pledge/BAO/PledgeBlock.php b/civicrm/CRM/Pledge/BAO/PledgeBlock.php
index 68304860c22e5be0727b5488167affea94320b77..55d0f4c7f4ec6ee1806fc3d173681353adf1034c 100644
--- a/civicrm/CRM/Pledge/BAO/PledgeBlock.php
+++ b/civicrm/CRM/Pledge/BAO/PledgeBlock.php
@@ -16,13 +16,6 @@
  */
 class CRM_Pledge_BAO_PledgeBlock extends CRM_Pledge_DAO_PledgeBlock {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Retrieve DB object based on input parameters.
    *
diff --git a/civicrm/CRM/Pledge/BAO/PledgePayment.php b/civicrm/CRM/Pledge/BAO/PledgePayment.php
index e48e2788a410c425dbe6496eb23237026c526fb2..ebacab842d784fdee93f7b82f5d508ddc7815b7d 100644
--- a/civicrm/CRM/Pledge/BAO/PledgePayment.php
+++ b/civicrm/CRM/Pledge/BAO/PledgePayment.php
@@ -16,13 +16,6 @@
  */
 class CRM_Pledge_BAO_PledgePayment extends CRM_Pledge_DAO_PledgePayment {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Get pledge payment details.
    *
@@ -471,8 +464,8 @@ WHERE  civicrm_pledge.id = %2
    *
    * @param array $params
    *
-   * @return array
-   *   Next scheduled date as an array
+   * @return string
+   *   Next scheduled date in the format YmdHis
    */
   public static function calculateBaseScheduleDate(&$params) {
     $date = [];
diff --git a/civicrm/CRM/Pledge/DAO/Pledge.php b/civicrm/CRM/Pledge/DAO/Pledge.php
index 3fc96ac9f7dfa81ce425c6f37b84de199bf8405a..330bcb9732612042727671534b66cd1543cc3585 100644
--- a/civicrm/CRM/Pledge/DAO/Pledge.php
+++ b/civicrm/CRM/Pledge/DAO/Pledge.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Pledge/Pledge.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:bcc7d49479de858804a09bf49c1ebda9)
+ * (GenCodeChecksum:cbecc4833b44f7758722ef898cb8670b)
  */
 
 /**
@@ -41,49 +41,63 @@ class CRM_Pledge_DAO_Pledge extends CRM_Core_DAO {
   /**
    * Pledge ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Foreign key to civicrm_contact.id .
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * FK to Financial Type
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * The Contribution Page which triggered this contribution
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_page_id;
 
   /**
    * Total pledged amount.
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount;
 
   /**
    * Original amount for each of the installments.
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $original_installment_amount;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
@@ -91,109 +105,141 @@ class CRM_Pledge_DAO_Pledge extends CRM_Core_DAO {
    * Time units for recurrence of pledge payments.
    *
    * @var string
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frequency_unit;
 
   /**
    * Number of time units for recurrence of pledge payments.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frequency_interval;
 
   /**
    * Day in the period when the pledge payment is due e.g. 1st of month, 15th etc. Use this to set the scheduled dates for pledge payments.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frequency_day;
 
   /**
    * Total number of payments to be made.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $installments;
 
   /**
    * The date the first scheduled pledge occurs.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * When this pledge record was created.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $create_date;
 
   /**
    * When a pledge acknowledgement message was sent to the contributor.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $acknowledge_date;
 
   /**
    * Last updated date for this pledge record.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
   /**
    * Date this pledge was cancelled by contributor.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cancel_date;
 
   /**
    * Date this pledge finished successfully (total pledge payments equal to or greater than pledged amount).
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * The maximum number of payment reminders to send for any given payment.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_reminders;
 
   /**
    * Send initial reminder this many days prior to the payment due date.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $initial_reminder_day;
 
   /**
    * Send additional reminder this many days after last one sent, up to maximum number of reminders.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $additional_reminder_day;
 
   /**
    * Implicit foreign key to civicrm_option_values in the pledge_status option group.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_test;
 
   /**
    * The campaign for which this pledge has been initiated.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
diff --git a/civicrm/CRM/Pledge/DAO/PledgeBlock.php b/civicrm/CRM/Pledge/DAO/PledgeBlock.php
index 209e60a3aa4173a4b24989ae54524ca3ecbd0d14..020203b2803996604ae9069215256932e42a44cf 100644
--- a/civicrm/CRM/Pledge/DAO/PledgeBlock.php
+++ b/civicrm/CRM/Pledge/DAO/PledgeBlock.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Pledge/PledgeBlock.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:37dd1b6ee946c78093489ce7a98c55e0)
+ * (GenCodeChecksum:a3bd49cda507ac9872922e16ff37a645)
  */
 
 /**
@@ -34,77 +34,99 @@ class CRM_Pledge_DAO_PledgeBlock extends CRM_Core_DAO {
   /**
    * Pledge ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * physical tablename for entity being joined to pledge, e.g. civicrm_contact
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * FK to entity table specified in entity_table column.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * Delimited list of supported frequency units
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pledge_frequency_unit;
 
   /**
    * Is frequency interval exposed on the contribution form.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_pledge_interval;
 
   /**
    * The maximum number of payment reminders to send for any given payment.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_reminders;
 
   /**
    * Send initial reminder this many days prior to the payment due date.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $initial_reminder_day;
 
   /**
    * Send additional reminder this many days after last one sent, up to maximum number of reminders.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $additional_reminder_day;
 
   /**
    * The date the first scheduled pledge occurs.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pledge_start_date;
 
   /**
    * If true - recurring start date is shown.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_pledge_start_date_visible;
 
   /**
    * If true - recurring start date is editable.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_pledge_start_date_editable;
 
diff --git a/civicrm/CRM/Pledge/DAO/PledgePayment.php b/civicrm/CRM/Pledge/DAO/PledgePayment.php
index f00e37856446280d0f8f6d2521e5d6070af65728..74b6e56dae7dd214a66539e07326dfa1e45ff282 100644
--- a/civicrm/CRM/Pledge/DAO/PledgePayment.php
+++ b/civicrm/CRM/Pledge/DAO/PledgePayment.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Pledge/PledgePayment.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:bfa7183802af9f28111c1d7c7dc6af5a)
+ * (GenCodeChecksum:8d427bd23082d6b6dbad3492e9f668ca)
  */
 
 /**
@@ -32,68 +32,88 @@ class CRM_Pledge_DAO_PledgePayment extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Pledge table
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pledge_id;
 
   /**
    * FK to contribution table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_id;
 
   /**
    * Pledged amount for this payment (the actual contribution amount might be different).
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $scheduled_amount;
 
   /**
    * Actual amount that is paid as the Pledged installment amount.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $actual_amount;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * The date the pledge payment is supposed to happen.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $scheduled_date;
 
   /**
    * The date that the most recent payment reminder was sent.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $reminder_date;
 
   /**
    * The number of payment reminders sent.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $reminder_count;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
diff --git a/civicrm/CRM/Pledge/Form/Pledge.php b/civicrm/CRM/Pledge/Form/Pledge.php
index 5543b6cfe72c4db169890da6190ad95c54a486bc..1f0b15f14ebaabc86917cd65d735906c48bc9ada 100644
--- a/civicrm/CRM/Pledge/Form/Pledge.php
+++ b/civicrm/CRM/Pledge/Form/Pledge.php
@@ -385,7 +385,7 @@ class CRM_Pledge_Form_Pledge extends CRM_Core_Form {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    *
    * @return bool|array
diff --git a/civicrm/CRM/Pledge/Form/Task/Print.php b/civicrm/CRM/Pledge/Form/Task/Print.php
index 06b0602270fd06ff53d129424cabad32be0ab0c1..8ce25f435a4df3f661bfa207b4d720a746bd06f7 100644
--- a/civicrm/CRM/Pledge/Form/Task/Print.php
+++ b/civicrm/CRM/Pledge/Form/Task/Print.php
@@ -28,7 +28,7 @@ class CRM_Pledge_Form_Task_Print extends CRM_Pledge_Form_Task {
     parent::preprocess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
 
     // get the formatted params
     $queryParams = $this->get('queryParams');
diff --git a/civicrm/CRM/Price/BAO/PriceSet.php b/civicrm/CRM/Price/BAO/PriceSet.php
index d8bed037184ce0762ddfad1f0f25401cdc71297b..2070e2c9364d789e9aeda3b5e6b652b29d2c2d15 100644
--- a/civicrm/CRM/Price/BAO/PriceSet.php
+++ b/civicrm/CRM/Price/BAO/PriceSet.php
@@ -28,13 +28,6 @@ class CRM_Price_BAO_PriceSet extends CRM_Price_DAO_PriceSet {
    */
   public static $_defaultPriceSet = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Takes an associative array and creates a price set object.
    *
diff --git a/civicrm/CRM/Price/DAO/LineItem.php b/civicrm/CRM/Price/DAO/LineItem.php
index 4255cffa277b9c7227cfd47f1fd51e2b31b31981..8eaf5a0997ec22f325ca75d83e6d38ed814cd154 100644
--- a/civicrm/CRM/Price/DAO/LineItem.php
+++ b/civicrm/CRM/Price/DAO/LineItem.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Price/LineItem.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:27940b7d9e1152223c1fde0e32a8e909)
+ * (GenCodeChecksum:188e934ee3cca79e58490e0125c3b51b)
  */
 
 /**
@@ -34,7 +34,9 @@ class CRM_Price_DAO_LineItem extends CRM_Core_DAO {
   /**
    * Line Item
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -42,97 +44,125 @@ class CRM_Price_DAO_LineItem extends CRM_Core_DAO {
    * May contain civicrm_contribution, civicrm_participant or civicrm_membership
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * entry in table
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * FK to civicrm_contribution
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_id;
 
   /**
    * FK to civicrm_price_field
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $price_field_id;
 
   /**
    * descriptive label for item - from price_field_value.label
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * How many items ordered
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $qty;
 
   /**
    * price of each item
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $unit_price;
 
   /**
    * qty * unit_price
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $line_total;
 
   /**
    * Participant count for field
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $participant_count;
 
   /**
    * FK to civicrm_price_field_value
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $price_field_value_id;
 
   /**
    * FK to Financial Type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * Portion of total amount which is NOT tax deductible.
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $non_deductible_amount;
 
   /**
    * tax of each item
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $tax_amount;
 
   /**
    * Number of terms for this membership (only supported in Order->Payment flow). If the field is NULL it means unknown and it will be assumed to be 1 during payment.create if entity_table is civicrm_membership
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $membership_num_terms;
 
diff --git a/civicrm/CRM/Price/DAO/PriceField.php b/civicrm/CRM/Price/DAO/PriceField.php
index 157576b0ba07e7b508403cd1741140b4bc926f1d..809ccf6d487a69dfd4be9259f2f0b2e4f2a3a1fe 100644
--- a/civicrm/CRM/Price/DAO/PriceField.php
+++ b/civicrm/CRM/Price/DAO/PriceField.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Price/PriceField.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:9449b207c28052d794e6d0c9d179f51c)
+ * (GenCodeChecksum:e8aa16285c520e7ce5288da53397f9df)
  */
 
 /**
@@ -34,14 +34,18 @@ class CRM_Price_DAO_PriceField extends CRM_Core_DAO {
   /**
    * Price Field
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to civicrm_price_set
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $price_set_id;
 
@@ -49,6 +53,8 @@ class CRM_Price_DAO_PriceField extends CRM_Core_DAO {
    * Variable name/programmatic handle for this field.
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
@@ -56,95 +62,123 @@ class CRM_Price_DAO_PriceField extends CRM_Core_DAO {
    * Text for form field label (also friendly name for administering this field).
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * @var string
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $html_type;
 
   /**
    * Enter a quantity for this field?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_enter_qty;
 
   /**
    * Description and/or help text to display before this field.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_pre;
 
   /**
    * Description and/or help text to display after this field.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_post;
 
   /**
    * Order in which the fields should appear
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Should the price be displayed next to the label for each option?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_display_amounts;
 
   /**
    * number of options per line for checkbox and radio
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $options_per_line;
 
   /**
    * Is this price field active
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this price field required (value must be > 1)
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_required;
 
   /**
    * If non-zero, do not show this field before the date specified
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $active_on;
 
   /**
    * If non-zero, do not show this field after the date specified
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $expire_on;
 
   /**
    * Optional scripting attributes for field
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $javascript;
 
   /**
    * Implicit FK to civicrm_option_group with name = 'visibility'
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $visibility_id;
 
diff --git a/civicrm/CRM/Price/DAO/PriceFieldValue.php b/civicrm/CRM/Price/DAO/PriceFieldValue.php
index d43cc16485fa3e7522663a9539cb35bad072af18..0eb232139db48131bfaaf2a856ca515660f56c97 100644
--- a/civicrm/CRM/Price/DAO/PriceFieldValue.php
+++ b/civicrm/CRM/Price/DAO/PriceFieldValue.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Price/PriceFieldValue.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:7da3309222cffae75ba3d149e8acb395)
+ * (GenCodeChecksum:3596e8942576c06b6a393c4d16226de9)
  */
 
 /**
@@ -34,126 +34,162 @@ class CRM_Price_DAO_PriceFieldValue extends CRM_Core_DAO {
   /**
    * Price Field Value
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to civicrm_price_field
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $price_field_id;
 
   /**
    * Price field option name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Price field option label
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * Price field option description.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Price field option pre help text.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_pre;
 
   /**
    * Price field option post field help.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_post;
 
   /**
    * Price field option amount
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(18,9))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount;
 
   /**
    * Number of participants per field option
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $count;
 
   /**
    * Max number of participants per field options
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_value;
 
   /**
    * Order in which the field options should appear
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * FK to Membership Type
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $membership_type_id;
 
   /**
    * Number of terms for this membership
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $membership_num_terms;
 
   /**
    * Is this default price field option
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
    * Is this price field value active
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * FK to Financial Type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * Portion of total amount which is NOT tax deductible.
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $non_deductible_amount;
 
   /**
    * Implicit FK to civicrm_option_group with name = 'visibility'
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $visibility_id;
 
diff --git a/civicrm/CRM/Price/DAO/PriceSet.php b/civicrm/CRM/Price/DAO/PriceSet.php
index 3204d42e92e8e4a8e80acaa33c19d11cdcde061b..e434d718b568bb9ba769ded8a8a865f83f9e737f 100644
--- a/civicrm/CRM/Price/DAO/PriceSet.php
+++ b/civicrm/CRM/Price/DAO/PriceSet.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Price/PriceSet.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:5c5630b1371dd1c8894a25b58ffbb5d9)
+ * (GenCodeChecksum:128263766d018b5c021df384b3ab6c92)
  */
 
 /**
@@ -34,14 +34,18 @@ class CRM_Price_DAO_PriceSet extends CRM_Core_DAO {
   /**
    * Price Set
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this price-set for
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
@@ -49,6 +53,8 @@ class CRM_Price_DAO_PriceSet extends CRM_Core_DAO {
    * Variable name/programmatic handle for this set of price fields.
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
@@ -56,34 +62,44 @@ class CRM_Price_DAO_PriceSet extends CRM_Core_DAO {
    * Displayed title for the Price Set.
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Is this price set active
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Description and/or help text to display before fields in form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_pre;
 
   /**
    * Description and/or help text to display after fields in form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_post;
 
   /**
    * Optional Javascript script function(s) included on the form with this price_set. Can be used for conditional
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $javascript;
 
@@ -91,34 +107,44 @@ class CRM_Price_DAO_PriceSet extends CRM_Core_DAO {
    * What components are using this price set?
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $extends;
 
   /**
    * FK to Financial Type(for membership price sets only).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * Is set if edited on Contribution or Event Page rather than through Manage Price Sets
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_quick_config;
 
   /**
    * Is this a predefined system price set  (i.e. it can not be deleted, edited)?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Minimum Amount required for this set.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $min_amount;
 
diff --git a/civicrm/CRM/Price/DAO/PriceSetEntity.php b/civicrm/CRM/Price/DAO/PriceSetEntity.php
index 9d13d2992cfd542e80b15fe271b5964108501e81..d78bef47da34f21de3b2df814242a355d1a84fb4 100644
--- a/civicrm/CRM/Price/DAO/PriceSetEntity.php
+++ b/civicrm/CRM/Price/DAO/PriceSetEntity.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Price/PriceSetEntity.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0be314d066d9e72b66c86a2de6d681a9)
+ * (GenCodeChecksum:a582c36064eb9613d9172b4eebcbc37e)
  */
 
 /**
@@ -34,7 +34,9 @@ class CRM_Price_DAO_PriceSetEntity extends CRM_Core_DAO {
   /**
    * Price Set Entity
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -42,20 +44,26 @@ class CRM_Price_DAO_PriceSetEntity extends CRM_Core_DAO {
    * Table which uses this price set
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * Item in table
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * price set being used
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $price_set_id;
 
diff --git a/civicrm/CRM/Price/Form/Field.php b/civicrm/CRM/Price/Form/Field.php
index 3b1170e833e3693a6c924c193ea322696edc1e41..7a1386af03877d7262b8dcd3ba7e81534c7122c3 100644
--- a/civicrm/CRM/Price/Form/Field.php
+++ b/civicrm/CRM/Price/Form/Field.php
@@ -257,7 +257,7 @@ class CRM_Price_Form_Field extends CRM_Core_Form {
     }
 
     // form fields of Custom Option rows
-    $_showHide = new CRM_Core_ShowHideBlocks('', '');
+    $_showHide = new CRM_Core_ShowHideBlocks();
 
     for ($i = 1; $i <= self::NUM_OPTION; $i++) {
 
@@ -427,20 +427,6 @@ class CRM_Price_Form_Field extends CRM_Core_Form {
       }
     }
 
-    //avoid the same price field label in Within PriceSet
-    $priceFieldLabel = new CRM_Price_DAO_PriceField();
-    $priceFieldLabel->label = $fields['label'];
-    $priceFieldLabel->price_set_id = $form->_sid;
-
-    $dupeLabel = FALSE;
-    if ($priceFieldLabel->find(TRUE) && $form->getEntityId() != $priceFieldLabel->id) {
-      $dupeLabel = TRUE;
-    }
-
-    if ($dupeLabel) {
-      $errors['label'] = ts('Name already exists in Database.');
-    }
-
     if ((is_numeric(CRM_Utils_Array::value('count', $fields)) &&
         empty($fields['count'])
       ) &&
@@ -454,7 +440,7 @@ class CRM_Price_Form_Field extends CRM_Core_Form {
         $countemptyrows = 0;
         $publicOptionCount = $_flagOption = $_rowError = 0;
 
-        $_showHide = new CRM_Core_ShowHideBlocks('', '');
+        $_showHide = new CRM_Core_ShowHideBlocks();
         $visibilityOptions = CRM_Price_BAO_PriceFieldValue::buildOptions('visibility_id', 'validate');
 
         for ($index = 1; $index <= self::NUM_OPTION; $index++) {
diff --git a/civicrm/CRM/Price/Page/Set.php b/civicrm/CRM/Price/Page/Set.php
index 340b2054535eaff4a973092f79afd5bb99e4576b..c88e4a8d40fafbb8d28fda0a43e6bd9e24825257 100644
--- a/civicrm/CRM/Price/Page/Set.php
+++ b/civicrm/CRM/Price/Page/Set.php
@@ -109,6 +109,7 @@ class CRM_Price_Page_Set extends CRM_Core_Page {
     );
 
     // assign vars to templates
+    $this->assign('usedBy', FALSE);
     $this->assign('action', $action);
     $sid = CRM_Utils_Request::retrieve('sid', 'Positive',
       $this, FALSE, 0
diff --git a/civicrm/CRM/Profile/Form.php b/civicrm/CRM/Profile/Form.php
index e8e58cb7f74fb7c99ee754af2a6189a84a7aa316..e503e728860dc11c8b9c42931ab16a8ee511b3a0 100644
--- a/civicrm/CRM/Profile/Form.php
+++ b/civicrm/CRM/Profile/Form.php
@@ -1353,9 +1353,12 @@ class CRM_Profile_Form extends CRM_Core_Form {
   }
 
   /**
-   * @param null $suffix
+   * Check template file exists.
    *
-   * @return null|string
+   * @param string|null $suffix
+   *
+   * @return string|null
+   *   Template file path, else null
    */
   public function checkTemplateFileExists($suffix = NULL) {
     if ($this->_gid) {
diff --git a/civicrm/CRM/Profile/Page/Dynamic.php b/civicrm/CRM/Profile/Page/Dynamic.php
index 2e05630f61b5ddaee03f2459146d37e04b54fa36..fe01add14987f79be1a8231aa58f1a75e6bfdf03 100644
--- a/civicrm/CRM/Profile/Page/Dynamic.php
+++ b/civicrm/CRM/Profile/Page/Dynamic.php
@@ -104,7 +104,7 @@ class CRM_Profile_Page_Dynamic extends CRM_Core_Page {
    *
    * @param $restrict
    * @param bool $skipPermission
-   * @param null $profileIds
+   * @param int[]|null $profileIds
    *
    * @param bool $isShowEmailTaskLink
    *
@@ -388,11 +388,14 @@ class CRM_Profile_Page_Dynamic extends CRM_Core_Page {
   }
 
   /**
-   * @param string $suffix
+   * Check template file exists.
    *
-   * @return null|string
+   * @param string|null $suffix
+   *
+   * @return string|null
+   *   Template file path, else null
    */
-  public function checkTemplateFileExists($suffix = '') {
+  public function checkTemplateFileExists($suffix = NULL) {
     if ($this->_gid) {
       $templateFile = "CRM/Profile/Page/{$this->_gid}/Dynamic.{$suffix}tpl";
       $template = CRM_Core_Page::getTemplate();
diff --git a/civicrm/CRM/Profile/Page/Listings.php b/civicrm/CRM/Profile/Page/Listings.php
index 38bfdb35d731b47facc1fa6dde578a7c2e0449bd..0cec9a36ba272ca4e67bd44e3ce9744c3305e722 100644
--- a/civicrm/CRM/Profile/Page/Listings.php
+++ b/civicrm/CRM/Profile/Page/Listings.php
@@ -17,7 +17,7 @@
 
 /**
  * This implements the profile page for all contacts. It uses a selector
- * object to do the actual dispay. The fields displayd are controlled by
+ * object to do the actual display. The fields displayed are controlled by
  * the admin.
  */
 class CRM_Profile_Page_Listings extends CRM_Core_Page {
@@ -449,11 +449,14 @@ class CRM_Profile_Page_Listings extends CRM_Core_Page {
   }
 
   /**
-   * @param string $suffix
+   * Check template file exists.
    *
-   * @return null|string
+   * @param string|null $suffix
+   *
+   * @return string|null
+   *   Template file path, else null
    */
-  public function checkTemplateFileExists($suffix = '') {
+  public function checkTemplateFileExists($suffix = NULL) {
     if ($this->_gid) {
       $templateFile = "CRM/Profile/Page/{$this->_gid}/Listings.{$suffix}tpl";
       $template = CRM_Core_Page::getTemplate();
diff --git a/civicrm/CRM/Profile/Page/View.php b/civicrm/CRM/Profile/Page/View.php
index 185980e8ed6f2a44630ab11ca54795ac0752655e..90d835149640985d2e5bd4ca2ce80183cc3c81ff 100644
--- a/civicrm/CRM/Profile/Page/View.php
+++ b/civicrm/CRM/Profile/Page/View.php
@@ -161,11 +161,14 @@ class CRM_Profile_Page_View extends CRM_Core_Page {
   }
 
   /**
-   * @param string $suffix
+   * Check template file exists.
    *
-   * @return null|string
+   * @param string|null $suffix
+   *
+   * @return string|null
+   *   Template file path, else null
    */
-  public function checkTemplateFileExists($suffix = '') {
+  public function checkTemplateFileExists($suffix = NULL) {
     if ($this->_gid) {
       $templateFile = "CRM/Profile/Page/{$this->_gid}/View.{$suffix}tpl";
       $template = CRM_Core_Page::getTemplate();
diff --git a/civicrm/CRM/Profile/Selector/Listings.php b/civicrm/CRM/Profile/Selector/Listings.php
index 72cad9e97db92b1e79899937d7ce9e301bf4b28c..6aefb13117cb60b592e12faee168083d136ab970 100644
--- a/civicrm/CRM/Profile/Selector/Listings.php
+++ b/civicrm/CRM/Profile/Selector/Listings.php
@@ -181,7 +181,7 @@ class CRM_Profile_Selector_Listings extends CRM_Core_Selector_Base implements CR
    * @param bool $map
    * @param bool $editLink
    * @param bool $ufLink
-   * @param null $gids
+   * @param int[]|null $gids
    *
    * @return array
    */
diff --git a/civicrm/CRM/Queue/BAO/Queue.php b/civicrm/CRM/Queue/BAO/Queue.php
new file mode 100644
index 0000000000000000000000000000000000000000..4c5f027bf8ab91bf7241cfddf3308e5b02adc360
--- /dev/null
+++ b/civicrm/CRM/Queue/BAO/Queue.php
@@ -0,0 +1,36 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+/**
+ *
+ * @package CRM
+ * @copyright CiviCRM LLC https://civicrm.org/licensing
+ */
+
+/**
+ * Track a list of known queues.
+ */
+class CRM_Queue_BAO_Queue extends CRM_Queue_DAO_Queue {
+
+  /**
+   * Get a list of valid queue types.
+   *
+   * @return string[]
+   */
+  public static function getTypes($context = NULL) {
+    return [
+      'Memory' => ts('Memory (Linear)'),
+      'Sql' => ts('SQL (Linear)'),
+      'SqlParallel' => ts('SQL (Parallel)'),
+    ];
+  }
+
+}
diff --git a/civicrm/CRM/Queue/DAO/Queue.php b/civicrm/CRM/Queue/DAO/Queue.php
new file mode 100644
index 0000000000000000000000000000000000000000..fc5ce93eff853676e425abf269f7b0b1d83db1ba
--- /dev/null
+++ b/civicrm/CRM/Queue/DAO/Queue.php
@@ -0,0 +1,247 @@
+<?php
+
+/**
+ * @package CRM
+ * @copyright CiviCRM LLC https://civicrm.org/licensing
+ *
+ * Generated from xml/schema/CRM/Queue/Queue.xml
+ * DO NOT EDIT.  Generated by CRM_Core_CodeGen
+ * (GenCodeChecksum:5a49f8a2765460d48e4266efa9d447f2)
+ */
+
+/**
+ * Database access object for the Queue entity.
+ */
+class CRM_Queue_DAO_Queue extends CRM_Core_DAO {
+  const EXT = 'civicrm';
+  const TABLE_ADDED = '5.47';
+
+  /**
+   * Static instance to hold the table name.
+   *
+   * @var string
+   */
+  public static $_tableName = 'civicrm_queue';
+
+  /**
+   * Should CiviCRM log any modifications to this table in the civicrm_log table.
+   *
+   * @var bool
+   */
+  public static $_log = FALSE;
+
+  /**
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
+   */
+  public $id;
+
+  /**
+   * Name of the queue
+   *
+   * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
+   */
+  public $name;
+
+  /**
+   * Type of the queue
+   *
+   * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
+   */
+  public $type;
+
+  /**
+   * Should the standard background attempt to autorun tasks in this queue?
+   *
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
+   */
+  public $is_autorun;
+
+  /**
+   * Class constructor.
+   */
+  public function __construct() {
+    $this->__table = 'civicrm_queue';
+    parent::__construct();
+  }
+
+  /**
+   * Returns localized title of this entity.
+   *
+   * @param bool $plural
+   *   Whether to return the plural version of the title.
+   */
+  public static function getEntityTitle($plural = FALSE) {
+    return $plural ? ts('Queues') : ts('Queue');
+  }
+
+  /**
+   * Returns all the column names of this table
+   *
+   * @return array
+   */
+  public static function &fields() {
+    if (!isset(Civi::$statics[__CLASS__]['fields'])) {
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
+          'name' => 'id',
+          'type' => CRM_Utils_Type::T_INT,
+          'title' => ts('System Queue ID'),
+          'required' => TRUE,
+          'where' => 'civicrm_queue.id',
+          'table_name' => 'civicrm_queue',
+          'entity' => 'Queue',
+          'bao' => 'CRM_Queue_BAO_Queue',
+          'localizable' => 0,
+          'html' => [
+            'type' => 'Number',
+          ],
+          'readonly' => TRUE,
+          'add' => '5.47',
+        ],
+        'name' => [
+          'name' => 'name',
+          'type' => CRM_Utils_Type::T_STRING,
+          'title' => ts('Name'),
+          'description' => ts('Name of the queue'),
+          'required' => TRUE,
+          'maxlength' => 64,
+          'size' => CRM_Utils_Type::BIG,
+          'where' => 'civicrm_queue.name',
+          'table_name' => 'civicrm_queue',
+          'entity' => 'Queue',
+          'bao' => 'CRM_Queue_BAO_Queue',
+          'localizable' => 0,
+          'html' => [
+            'type' => 'Text',
+          ],
+          'add' => '5.47',
+        ],
+        'type' => [
+          'name' => 'type',
+          'type' => CRM_Utils_Type::T_STRING,
+          'title' => ts('Type'),
+          'description' => ts('Type of the queue'),
+          'required' => TRUE,
+          'maxlength' => 64,
+          'size' => CRM_Utils_Type::BIG,
+          'where' => 'civicrm_queue.type',
+          'table_name' => 'civicrm_queue',
+          'entity' => 'Queue',
+          'bao' => 'CRM_Queue_BAO_Queue',
+          'localizable' => 0,
+          'html' => [
+            'type' => 'Text',
+          ],
+          'pseudoconstant' => [
+            'callback' => 'CRM_Queue_BAO_Queue::getTypes',
+          ],
+          'add' => '5.47',
+        ],
+        'is_autorun' => [
+          'name' => 'is_autorun',
+          'type' => CRM_Utils_Type::T_BOOLEAN,
+          'title' => ts('Enable Autorun'),
+          'description' => ts('Should the standard background attempt to autorun tasks in this queue?'),
+          'where' => 'civicrm_queue.is_autorun',
+          'table_name' => 'civicrm_queue',
+          'entity' => 'Queue',
+          'bao' => 'CRM_Queue_BAO_Queue',
+          'localizable' => 0,
+          'html' => [
+            'type' => 'CheckBox',
+            'label' => ts("Auto Run"),
+          ],
+          'add' => NULL,
+        ],
+      ];
+      CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
+    }
+    return Civi::$statics[__CLASS__]['fields'];
+  }
+
+  /**
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
+   *
+   * @return array
+   *   Array(string $name => string $uniqueName).
+   */
+  public static function &fieldKeys() {
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
+    }
+    return Civi::$statics[__CLASS__]['fieldKeys'];
+  }
+
+  /**
+   * Returns the names of this table
+   *
+   * @return string
+   */
+  public static function getTableName() {
+    return self::$_tableName;
+  }
+
+  /**
+   * Returns if this table needs to be logged
+   *
+   * @return bool
+   */
+  public function getLog() {
+    return self::$_log;
+  }
+
+  /**
+   * Returns the list of fields that can be imported
+   *
+   * @param bool $prefix
+   *
+   * @return array
+   */
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'queue', $prefix, []);
+    return $r;
+  }
+
+  /**
+   * Returns the list of fields that can be exported
+   *
+   * @param bool $prefix
+   *
+   * @return array
+   */
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'queue', $prefix, []);
+    return $r;
+  }
+
+  /**
+   * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
+   */
+  public static function indices($localize = TRUE) {
+    $indices = [
+      'UI_name' => [
+        'name' => 'UI_name',
+        'field' => [
+          0 => 'name',
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
+        'sig' => 'civicrm_queue::1::name',
+      ],
+    ];
+    return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
+  }
+
+}
diff --git a/civicrm/CRM/Queue/DAO/QueueItem.php b/civicrm/CRM/Queue/DAO/QueueItem.php
index db5d14ab80749e97c9c95fa4022acf93641db959..7d4979ca9576d043807344f9cbfb23ac494656b9 100644
--- a/civicrm/CRM/Queue/DAO/QueueItem.php
+++ b/civicrm/CRM/Queue/DAO/QueueItem.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Queue/QueueItem.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:c509d1bc7563d1cddf1b5c823520b32c)
+ * (GenCodeChecksum:36871610524adb64bc8aa3bb24b295f4)
  */
 
 /**
@@ -31,7 +31,9 @@ class CRM_Queue_DAO_QueueItem extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -39,32 +41,42 @@ class CRM_Queue_DAO_QueueItem extends CRM_Core_DAO {
    * Name of the queue which includes this item
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $queue_name;
 
   /**
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * date on which this item was submitted to the queue
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $submit_time;
 
   /**
    * date on which this job becomes available; null if ASAP
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $release_time;
 
   /**
    * Serialized queue data
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data;
 
@@ -97,7 +109,7 @@ class CRM_Queue_DAO_QueueItem extends CRM_Core_DAO {
         'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Queue ID'),
+          'title' => ts('Queue Item ID'),
           'required' => TRUE,
           'where' => 'civicrm_queue_item.id',
           'table_name' => 'civicrm_queue_item',
diff --git a/civicrm/CRM/Queue/Queue/Sql.php b/civicrm/CRM/Queue/Queue/Sql.php
index 3f6c474a9468fb204db677d8ea919ac24a6089c6..1cee3894c3cb35f56d0c8763e4b1a876b2fd63b6 100644
--- a/civicrm/CRM/Queue/Queue/Sql.php
+++ b/civicrm/CRM/Queue/Queue/Sql.php
@@ -14,6 +14,8 @@
  */
 class CRM_Queue_Queue_Sql extends CRM_Queue_Queue {
 
+  use CRM_Queue_Queue_SqlTrait;
+
   /**
    * Create a reference to queue. After constructing the queue, one should
    * usually call createQueue (if it's a new queue) or loadQueue (if it's
@@ -32,74 +34,6 @@ class CRM_Queue_Queue_Sql extends CRM_Queue_Queue {
     parent::__construct($queueSpec);
   }
 
-  /**
-   * Perform any registation or resource-allocation for a new queue
-   */
-  public function createQueue() {
-    // nothing to do -- just start CRUDing items in the appropriate table
-  }
-
-  /**
-   * Perform any loading or pre-fetch for an existing queue.
-   */
-  public function loadQueue() {
-    // nothing to do -- just start CRUDing items in the appropriate table
-  }
-
-  /**
-   * Release any resources claimed by the queue (memory, DB rows, etc)
-   */
-  public function deleteQueue() {
-    return CRM_Core_DAO::singleValueQuery("
-      DELETE FROM civicrm_queue_item
-      WHERE queue_name = %1
-    ", [
-      1 => [$this->getName(), 'String'],
-    ]);
-  }
-
-  /**
-   * Check if the queue exists.
-   *
-   * @return bool
-   */
-  public function existsQueue() {
-    return ($this->numberOfItems() > 0);
-  }
-
-  /**
-   * Add a new item to the queue.
-   *
-   * @param mixed $data
-   *   Serializable PHP object or array.
-   * @param array $options
-   *   Queue-dependent options; for example, if this is a
-   *   priority-queue, then $options might specify the item's priority.
-   */
-  public function createItem($data, $options = []) {
-    $dao = new CRM_Queue_DAO_QueueItem();
-    $dao->queue_name = $this->getName();
-    $dao->submit_time = CRM_Utils_Time::getTime('YmdHis');
-    $dao->data = serialize($data);
-    $dao->weight = CRM_Utils_Array::value('weight', $options, 0);
-    $dao->save();
-  }
-
-  /**
-   * Determine number of items remaining in the queue.
-   *
-   * @return int
-   */
-  public function numberOfItems() {
-    return CRM_Core_DAO::singleValueQuery("
-      SELECT count(*)
-      FROM civicrm_queue_item
-      WHERE queue_name = %1
-    ", [
-      1 => [$this->getName(), 'String'],
-    ]);
-  }
-
   /**
    * Get the next item.
    *
@@ -185,28 +119,4 @@ class CRM_Queue_Queue_Sql extends CRM_Queue_Queue {
     }
   }
 
-  /**
-   * Remove an item from the queue.
-   *
-   * @param CRM_Core_DAO $dao
-   *   The item returned by claimItem.
-   */
-  public function deleteItem($dao) {
-    $dao->delete();
-  }
-
-  /**
-   * Return an item that could not be processed.
-   *
-   * @param CRM_Core_DAO $dao
-   *   The item returned by claimItem.
-   */
-  public function releaseItem($dao) {
-    $sql = "UPDATE civicrm_queue_item SET release_time = NULL WHERE id = %1";
-    $params = [
-      1 => [$dao->id, 'Integer'],
-    ];
-    CRM_Core_DAO::executeQuery($sql, $params);
-  }
-
 }
diff --git a/civicrm/CRM/Queue/Queue/SqlParallel.php b/civicrm/CRM/Queue/Queue/SqlParallel.php
index 369e7d2cef638f6a03fcf13d2f821d983f67ab61..bf48d45e9386702b29e2d4c80dad70e68588aeda 100644
--- a/civicrm/CRM/Queue/Queue/SqlParallel.php
+++ b/civicrm/CRM/Queue/Queue/SqlParallel.php
@@ -14,6 +14,8 @@
  */
 class CRM_Queue_Queue_SqlParallel extends CRM_Queue_Queue {
 
+  use CRM_Queue_Queue_SqlTrait;
+
   /**
    * Create a reference to queue. After constructing the queue, one should
    * usually call createQueue (if it's a new queue) or loadQueue (if it's
@@ -32,74 +34,6 @@ class CRM_Queue_Queue_SqlParallel extends CRM_Queue_Queue {
     parent::__construct($queueSpec);
   }
 
-  /**
-   * Perform any registation or resource-allocation for a new queue
-   */
-  public function createQueue() {
-    // nothing to do -- just start CRUDing items in the appropriate table
-  }
-
-  /**
-   * Perform any loading or pre-fetch for an existing queue.
-   */
-  public function loadQueue() {
-    // nothing to do -- just start CRUDing items in the appropriate table
-  }
-
-  /**
-   * Release any resources claimed by the queue (memory, DB rows, etc)
-   */
-  public function deleteQueue() {
-    return CRM_Core_DAO::singleValueQuery("
-      DELETE FROM civicrm_queue_item
-      WHERE queue_name = %1
-    ", [
-      1 => [$this->getName(), 'String'],
-    ]);
-  }
-
-  /**
-   * Check if the queue exists.
-   *
-   * @return bool
-   */
-  public function existsQueue() {
-    return ($this->numberOfItems() > 0);
-  }
-
-  /**
-   * Add a new item to the queue.
-   *
-   * @param mixed $data
-   *   Serializable PHP object or array.
-   * @param array $options
-   *   Queue-dependent options; for example, if this is a
-   *   priority-queue, then $options might specify the item's priority.
-   */
-  public function createItem($data, $options = []) {
-    $dao = new CRM_Queue_DAO_QueueItem();
-    $dao->queue_name = $this->getName();
-    $dao->submit_time = CRM_Utils_Time::getTime('YmdHis');
-    $dao->data = serialize($data);
-    $dao->weight = CRM_Utils_Array::value('weight', $options, 0);
-    $dao->save();
-  }
-
-  /**
-   * Determine number of items remaining in the queue.
-   *
-   * @return int
-   */
-  public function numberOfItems() {
-    return CRM_Core_DAO::singleValueQuery("
-      SELECT count(*)
-      FROM civicrm_queue_item
-      WHERE queue_name = %1
-    ", [
-      1 => [$this->getName(), 'String'],
-    ]);
-  }
-
   /**
    * Get the next item.
    *
@@ -182,30 +116,4 @@ class CRM_Queue_Queue_SqlParallel extends CRM_Queue_Queue {
     }
   }
 
-  /**
-   * Remove an item from the queue.
-   *
-   * @param CRM_Core_DAO $dao
-   *   The item returned by claimItem.
-   */
-  public function deleteItem($dao) {
-    $dao->delete();
-    $dao->free();
-  }
-
-  /**
-   * Return an item that could not be processed.
-   *
-   * @param CRM_Core_DAO $dao
-   *   The item returned by claimItem.
-   */
-  public function releaseItem($dao) {
-    $sql = "UPDATE civicrm_queue_item SET release_time = NULL WHERE id = %1";
-    $params = [
-      1 => [$dao->id, 'Integer'],
-    ];
-    CRM_Core_DAO::executeQuery($sql, $params);
-    $dao->free();
-  }
-
 }
diff --git a/civicrm/CRM/Queue/Queue/SqlTrait.php b/civicrm/CRM/Queue/Queue/SqlTrait.php
new file mode 100644
index 0000000000000000000000000000000000000000..4c93e2d320d27537e98c68c387793dc078c37171
--- /dev/null
+++ b/civicrm/CRM/Queue/Queue/SqlTrait.php
@@ -0,0 +1,112 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+/**
+ * Trait defines methods that are commonly used to implement a SQL-backed queue.
+ */
+trait CRM_Queue_Queue_SqlTrait {
+
+  /**
+   * Perform any registation or resource-allocation for a new queue
+   */
+  public function createQueue() {
+    // nothing to do -- just start CRUDing items in the appropriate table
+  }
+
+  /**
+   * Perform any loading or pre-fetch for an existing queue.
+   */
+  public function loadQueue() {
+    // nothing to do -- just start CRUDing items in the appropriate table
+  }
+
+  /**
+   * Release any resources claimed by the queue (memory, DB rows, etc)
+   */
+  public function deleteQueue() {
+    return CRM_Core_DAO::singleValueQuery("
+      DELETE FROM civicrm_queue_item
+      WHERE queue_name = %1
+    ", [
+      1 => [$this->getName(), 'String'],
+    ]);
+  }
+
+  /**
+   * Check if the queue exists.
+   *
+   * @return bool
+   */
+  public function existsQueue() {
+    return ($this->numberOfItems() > 0);
+  }
+
+  /**
+   * Determine number of items remaining in the queue.
+   *
+   * @return int
+   */
+  public function numberOfItems() {
+    return CRM_Core_DAO::singleValueQuery("
+      SELECT count(*)
+      FROM civicrm_queue_item
+      WHERE queue_name = %1
+    ", [
+      1 => [$this->getName(), 'String'],
+    ]);
+  }
+
+  /**
+   * Add a new item to the queue.
+   *
+   * @param mixed $data
+   *   Serializable PHP object or array.
+   * @param array $options
+   *   Queue-dependent options; for example, if this is a
+   *   priority-queue, then $options might specify the item's priority.
+   */
+  public function createItem($data, $options = []) {
+    $dao = new CRM_Queue_DAO_QueueItem();
+    $dao->queue_name = $this->getName();
+    $dao->submit_time = CRM_Utils_Time::getTime('YmdHis');
+    $dao->data = serialize($data);
+    $dao->weight = CRM_Utils_Array::value('weight', $options, 0);
+    $dao->save();
+  }
+
+  /**
+   * Remove an item from the queue.
+   *
+   * @param CRM_Core_DAO|stdClass $dao
+   *   The item returned by claimItem.
+   */
+  public function deleteItem($dao) {
+    $dao->delete();
+    $dao->free();
+  }
+
+  /**
+   * Return an item that could not be processed.
+   *
+   * @param CRM_Core_DAO $dao
+   *   The item returned by claimItem.
+   */
+  public function releaseItem($dao) {
+    $sql = "UPDATE civicrm_queue_item SET release_time = NULL WHERE id = %1";
+    $params = [
+      1 => [$dao->id, 'Integer'],
+    ];
+    CRM_Core_DAO::executeQuery($sql, $params);
+    $dao->free();
+  }
+
+}
diff --git a/civicrm/CRM/Queue/Runner.php b/civicrm/CRM/Queue/Runner.php
index 0652629c15b9dbfe908532466b57d01ef6d02bc5..4985bda7680ea349f4c63b29629885a2697dfe61 100644
--- a/civicrm/CRM/Queue/Runner.php
+++ b/civicrm/CRM/Queue/Runner.php
@@ -10,11 +10,25 @@
  */
 
 /**
- * The queue runner is a helper which runs all jobs in a queue.
+ * `CRM_Queue_Runner` runs a list tasks from a queue. It originally supported the database-upgrade
+ * queue. Consequently, this runner is optimal for queues which are:
  *
- * The queue runner is most useful for one-off queues (such as an upgrade);
- * if the intention is to develop a dedicated, long-running worker thread,
- * then one should consider writing a new queue consumer.
+ * - Short lived and discrete. You have a fixed list of tasks that will be run to completion.
+ * - Strictly linear. Tasks must run 1-by-1. Often, one task depends on the success of a previous task.
+ * - Slightly dangerous. An error, omission, or mistake indicates that the database is in an
+ *   inconsistent state. Errors call for skilled human intervention.
+ *
+ * This runner supports a few modes of operation, eg
+ *
+ * - `runAllViaWeb()`: Use a web-browser and a series of AJAX requests to perform all steps.
+ *   If there is an error, prompt the sysadmin/user to decide how to handle it.
+ * - `runAll()`: Run all tasks, 1-by-1, back-to-back. If there is an error, give up.
+ *   This is used by some CLI upgrades.
+ *
+ * This runner is not appropriate for all queues or workloads, so you might choose or create
+ * a different runner. For example, `CRM_Queue_Autorunner` is geared toward background task lists.
+ *
+ * @see CRM_Queue_Autorunner
  */
 class CRM_Queue_Runner {
 
@@ -203,7 +217,7 @@ class CRM_Queue_Runner {
           $exception = new Exception('Task returned false');
         }
       }
-      catch (Exception$e) {
+      catch (Exception $e) {
         $isOK = FALSE;
         $exception = $e;
       }
@@ -302,7 +316,7 @@ class CRM_Queue_Runner {
    *
    * @param bool $isOK
    *   TRUE if the task completed successfully.
-   * @param Exception|NULL $exception
+   * @param Exception|null $exception
    *   If applicable, an unhandled exception that arose during execution.
    *
    * @return array
diff --git a/civicrm/CRM/Queue/Service.php b/civicrm/CRM/Queue/Service.php
index 119c76efe16a91c8ffe8fc29a6513392a65aea91..576f76cdf2daede1fc8fad8960e9b9aef40251c7 100644
--- a/civicrm/CRM/Queue/Service.php
+++ b/civicrm/CRM/Queue/Service.php
@@ -74,12 +74,14 @@ class CRM_Queue_Service {
    *
    * @param array $queueSpec
    *   Array with keys:
-   *   - type: string, required, e.g. "interactive", "immediate", "stomp",
-   *    "beanstalk"
+   *   - type: string, required, e.g. `Sql`, `SqlParallel`, `Memory`
    *   - name: string, required, e.g. "upgrade-tasks"
    *   - reset: bool, optional; if a queue is found, then it should be
    *     flushed; default to TRUE
    *   - (additional keys depending on the queue provider).
+   *   - is_persistent: bool, optional; if true, then this queue is loaded from `civicrm_queue` list
+   *   - is_autorun: bool, optional; if true, then this queue will be auto-scanned
+   *     by background task-runners
    *
    * @return CRM_Queue_Queue
    */
@@ -88,6 +90,9 @@ class CRM_Queue_Service {
       return $this->queues[$queueSpec['name']];
     }
 
+    if (!empty($queueSpec['is_persistent'])) {
+      $queueSpec = $this->findCreateQueueSpec($queueSpec);
+    }
     $queue = $this->instantiateQueueObject($queueSpec);
     $exists = $queue->existsQueue();
     if (!$exists) {
@@ -104,15 +109,45 @@ class CRM_Queue_Service {
     return $queue;
   }
 
+  /**
+   * Find/create the queue-spec. Specifically:
+   *
+   * - If there is a stored queue, use its spec.
+   * - If there is no stored queue, and if we have enough information, then create queue.
+   *
+   * @param array $queueSpec
+   * @return array
+   *   Updated queueSpec.
+   * @throws \CRM_Core_Exception
+   */
+  protected function findCreateQueueSpec(array $queueSpec): array {
+    $storageFields = ['type', 'is_autorun'];
+    $dao = new CRM_Queue_DAO_Queue();
+    $dao->name = $queueSpec['name'];
+    if ($dao->find(TRUE)) {
+      return array_merge($queueSpec, CRM_Utils_Array::subset($dao->toArray(), $storageFields));
+    }
+
+    if (empty($queueSpec['type'])) {
+      throw new \CRM_Core_Exception(sprintf('Failed to find or create persistent queue "%s". Missing field "%s".',
+        $queueSpec['name'], 'type'));
+    }
+    $queueSpec = array_merge(['is_autorun' => FALSE], $queueSpec);
+    $dao->copyValues($queueSpec);
+    $dao->insert();
+
+    return $queueSpec;
+  }
+
   /**
    * Look up an existing queue.
    *
    * @param array $queueSpec
    *   Array with keys:
-   *   - type: string, required, e.g. "interactive", "immediate", "stomp",
-   *     "beanstalk"
+   *   - type: string, required, e.g. `Sql`, `SqlParallel`, `Memory`
    *   - name: string, required, e.g. "upgrade-tasks"
    *   - (additional keys depending on the queue provider).
+   *   - is_persistent: bool, optional; if true, then this queue is loaded from `civicrm_queue` list
    *
    * @return CRM_Queue_Queue
    */
@@ -120,6 +155,9 @@ class CRM_Queue_Service {
     if (is_object($this->queues[$queueSpec['name']] ?? NULL)) {
       return $this->queues[$queueSpec['name']];
     }
+    if (!empty($queueSpec['is_persistent'])) {
+      $queueSpec = $this->findCreateQueueSpec($queueSpec);
+    }
     $queue = $this->instantiateQueueObject($queueSpec);
     $queue->loadQueue();
     $this->queues[$queueSpec['name']] = $queue;
@@ -130,8 +168,7 @@ class CRM_Queue_Service {
    * Convert a queue "type" name to a class name.
    *
    * @param string $type
-   *   E.g. "interactive", "immediate", "stomp", "beanstalk".
-   *
+   *   - type: string, required, e.g. `Sql`, `SqlParallel`, `Memory`
    * @return string
    *   Class-name
    */
diff --git a/civicrm/CRM/Queue/Task.php b/civicrm/CRM/Queue/Task.php
index b2d74b393ad71aa7773e6b84b9c680addef99297..cb510da2058079e2b4a2030367829b2ba7a717f7 100644
--- a/civicrm/CRM/Queue/Task.php
+++ b/civicrm/CRM/Queue/Task.php
@@ -59,12 +59,11 @@ class CRM_Queue_Task {
   /**
    * Perform the task.
    *
-   * @param array $taskCtx
-   *   Array with keys:
-   *   - log: object 'Log'
-   *
+   * @param \CRM_Queue_TaskContext $taskCtx
    * @throws Exception
-   * @return bool, TRUE if task completes successfully
+   * @return bool
+   *   TRUE if task completes successfully.
+   *   FALSE or exception if task fails.
    */
   public function run($taskCtx) {
     $args = $this->arguments;
diff --git a/civicrm/CRM/Report/DAO/ReportInstance.php b/civicrm/CRM/Report/DAO/ReportInstance.php
index 2a1de9cd4575a4db8062cd56533bb91d1e34a316..f5ce8c71717caec3f69f51aebd1402b0f79a78e3 100644
--- a/civicrm/CRM/Report/DAO/ReportInstance.php
+++ b/civicrm/CRM/Report/DAO/ReportInstance.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Report/ReportInstance.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:8119de0836afac038bfa8eeed2c0fb63)
+ * (GenCodeChecksum:0cc1db696d0899940ac62d266cb55a0a)
  */
 
 /**
@@ -41,21 +41,27 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
   /**
    * Report Instance ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this instance for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * Report Instance Title.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
@@ -63,123 +69,159 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
    * FK to civicrm_option_value for the report template
    *
    * @var string
+   *   (SQL type: varchar(512))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $report_id;
 
   /**
    * when combined with report_id/template uniquely identifies the instance
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * arguments that are passed in the url when invoking the instance
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $args;
 
   /**
    * Report Instance description.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * permission required to be able to run this instance
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $permission;
 
   /**
    * role required to be able to run this instance
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(1024))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $grouprole;
 
   /**
    * Submitted form values for this report
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $form_values;
 
   /**
    * Is this entry active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * FK to contact table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * FK to contact table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $owner_id;
 
   /**
    * Subject of email
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_subject;
 
   /**
    * comma-separated list of email addresses to send the report to
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_to;
 
   /**
    * comma-separated list of email addresses to send the report to
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_cc;
 
   /**
    * comma-separated list of email addresses to send the report to
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $header;
 
   /**
    * comma-separated list of email addresses to send the report to
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $footer;
 
   /**
    * FK to navigation ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $navigation_id;
 
   /**
    * FK to instance ID drilldown to
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $drilldown_id;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
diff --git a/civicrm/CRM/Report/Form.php b/civicrm/CRM/Report/Form.php
index 78ba43e17b3c252539c3a5f6c74a0c8864ecfa49..692894151b16b4c543a60d906cb816f8f22a9dee 100644
--- a/civicrm/CRM/Report/Form.php
+++ b/civicrm/CRM/Report/Form.php
@@ -555,7 +555,7 @@ class CRM_Report_Form extends CRM_Core_Form {
 
   /**
    * set the number of rows to show
-   * @param $rowCount int
+   * @param int $rowCount
    */
   public function setRowCount($rowCount): void {
     $this->_rowCount = $rowCount;
@@ -1115,7 +1115,7 @@ class CRM_Report_Form extends CRM_Core_Form {
    * @param string $group
    * @param string $grpFieldName
    *
-   * @return bool
+   * @return object|bool
    */
   public function getElementFromGroup($group, $grpFieldName) {
     $eleObj = $this->getElement($group);
@@ -1841,7 +1841,7 @@ class CRM_Report_Form extends CRM_Core_Form {
    *
    * Note: $fieldName param allows inheriting class to build operationPairs specific to a field.
    *
-   * @param string $type
+   * @param int|string $type
    * @param string $fieldName
    *
    * @return array
@@ -2224,7 +2224,7 @@ class CRM_Report_Form extends CRM_Core_Form {
 
   /**
    * Get SQL where clause for contact subtypes
-   * @param string $field
+   * @param array $field Field specifications
    * @param mixed $value
    * @param string $op SQL Operator
    *
@@ -3742,7 +3742,7 @@ WHERE cg.extends IN ('" . implode("','", $this->_customGroupExtends) . "') AND
    *
    * @deprecated
    *
-   * @param string $field
+   * @param array $field
    * @param mixed $value
    * @param string $op
    *
@@ -3797,7 +3797,7 @@ WHERE cg.extends IN ('" . implode("','", $this->_customGroupExtends) . "') AND
   /**
    * Build where clause for groups.
    *
-   * @param string $field
+   * @param array $field
    * @param mixed $value
    * @param string $op
    *
@@ -3847,7 +3847,7 @@ WHERE cg.extends IN ('" . implode("','", $this->_customGroupExtends) . "') AND
   /**
    * Build where clause for tags.
    *
-   * @param string $field
+   * @param array $field
    * @param mixed $value
    * @param string $op
    *
@@ -4267,7 +4267,7 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a
    */
   public function preProcessOrderBy(&$formValues) {
     // Object to show/hide form elements
-    $_showHide = new CRM_Core_ShowHideBlocks('', '');
+    $_showHide = new CRM_Core_ShowHideBlocks();
 
     $_showHide->addShow('optionField_1');
 
@@ -4399,9 +4399,7 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a
    */
   public function addCampaignFields($entityTable = 'civicrm_contribution', $groupBy = FALSE, $orderBy = FALSE, $filters = TRUE) {
     // Check if CiviCampaign is a) enabled and b) has active campaigns
-    $config = CRM_Core_Config::singleton();
-    $campaignEnabled = in_array('CiviCampaign', $config->enableComponents);
-    if ($campaignEnabled) {
+    if (CRM_Core_Component::isEnabled('CiviCampaign')) {
       $getCampaigns = CRM_Campaign_BAO_Campaign::getPermissionedCampaigns(NULL, NULL, FALSE, FALSE, TRUE);
       // If we have a campaign, build out the relevant elements
       if (!empty($getCampaigns['campaigns'])) {
@@ -4587,8 +4585,8 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a
    * @param array $row
    * @param array $rows
    * @param int $rowNum
-   * @param string $baseUrl
-   * @param string $linkText
+   * @param string|null $baseUrl
+   * @param string|null $linkText
    * @param string $separator
    *
    * @return bool
@@ -4637,8 +4635,8 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a
    * @param array $row
    * @param array $rows
    * @param int $rowNum
-   * @param string $baseUrl
-   * @param string $linkText
+   * @param string|null $baseUrl
+   * @param string|null $linkText
    *
    * @return bool
    */
@@ -5221,7 +5219,7 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a
    *
    * @param string $baseTable
    * @param string $field
-   * @param null $tableAlias
+   * @param string|null $tableAlias
    */
   public function setFromBase($baseTable, $field = 'id', $tableAlias = NULL) {
     if (!$tableAlias) {
diff --git a/civicrm/CRM/Report/Form/Activity.php b/civicrm/CRM/Report/Form/Activity.php
index d85edac156e175b1f4d3ecb49ec39ec930453fd7..9fda9efae5f821f0b7806785494981d557f7b688 100644
--- a/civicrm/CRM/Report/Form/Activity.php
+++ b/civicrm/CRM/Report/Form/Activity.php
@@ -397,7 +397,7 @@ class CRM_Report_Form_Activity extends CRM_Report_Form {
    * @todo get rid of $recordType param. It's only because 3 separate contact tables
    * are mis-declared as one that we need it.
    *
-   * @param null $recordType deprecated
+   * @param string $recordType deprecated
    *   Parameter to hack around the bad decision made in construct to misrepresent
    *   different tables as the same table.
    */
@@ -619,7 +619,7 @@ class CRM_Report_Form_Activity extends CRM_Report_Form {
   /**
    * Build ACL clause.
    *
-   * @param string $tableAlias
+   * @param array $tableAlias
    *
    * @throws \CRM_Core_Exception
    */
@@ -694,14 +694,13 @@ GROUP BY civicrm_activity_id $having {$this->_orderBy}";
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
   public static function formRule($fields, $files, $self) {
     $errors = [];
-    $config = CRM_Core_Config::singleton();
-    if (in_array("CiviCase", $config->enableComponents)) {
+    if (CRM_Core_Component::isEnabled('CiviCase')) {
       $componentId = CRM_Core_Component::getComponentID('CiviCase');
       $caseActivityTypes = CRM_Core_OptionGroup::values('activity_type', TRUE, FALSE, FALSE, " AND v.component_id={$componentId}");
       if (!empty($fields['activity_type_id_value']) && is_array($fields['activity_type_id_value']) && empty($fields['include_case_activities_value'])) {
diff --git a/civicrm/CRM/Report/Form/ActivitySummary.php b/civicrm/CRM/Report/Form/ActivitySummary.php
index 38e20f360ee6bca04f837aeb9710847f9c5f3f5d..d66b710d7a496b44c0dfe5b235e06bbfaaa2a960 100644
--- a/civicrm/CRM/Report/Form/ActivitySummary.php
+++ b/civicrm/CRM/Report/Form/ActivitySummary.php
@@ -561,7 +561,7 @@ class CRM_Report_Form_ActivitySummary extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
@@ -602,7 +602,7 @@ class CRM_Report_Form_ActivitySummary extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Campaign/SurveyDetails.php b/civicrm/CRM/Report/Form/Campaign/SurveyDetails.php
index b7a34aec01773ab4b1f0a21332614666ef3d335f..32ccc018049c269d54ff091f576854f0360b2d50 100644
--- a/civicrm/CRM/Report/Form/Campaign/SurveyDetails.php
+++ b/civicrm/CRM/Report/Form/Campaign/SurveyDetails.php
@@ -493,7 +493,7 @@ INNER JOIN  civicrm_option_value val ON ( val.option_group_id = survey.result_id
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    */
   private function _formatSurveyResult(&$rows) {
     $surveyIds = $this->_params['survey_id_value'] ?? NULL;
@@ -544,7 +544,7 @@ INNER JOIN  civicrm_survey survey ON ( survey.result_id = grp.id )
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    */
   private function _formatSurveyResponseData(&$rows) {
     $surveyIds = $this->_params['survey_id_value'] ?? NULL;
diff --git a/civicrm/CRM/Report/Form/Case/Demographics.php b/civicrm/CRM/Report/Form/Case/Demographics.php
index 99346e02e79ea0239e91ec2cf423f48920ef85c6..b24b06443ba7f4c67ce0bb623ad20710a45e0788 100644
--- a/civicrm/CRM/Report/Form/Case/Demographics.php
+++ b/civicrm/CRM/Report/Form/Case/Demographics.php
@@ -263,7 +263,7 @@ where (cg.extends='Contact' OR cg.extends='Individual' OR cg.extends_entity_colu
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Case/Detail.php b/civicrm/CRM/Report/Form/Case/Detail.php
index 053e21c540210359a5675da169dc882dfa9fa0c9..bf13f2934ade29c4acf8379d319c8e55f94ca8b6 100644
--- a/civicrm/CRM/Report/Form/Case/Detail.php
+++ b/civicrm/CRM/Report/Form/Case/Detail.php
@@ -468,7 +468,7 @@ class CRM_Report_Form_Case_Detail extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Case/Summary.php b/civicrm/CRM/Report/Form/Case/Summary.php
index 52fb291cc17da0c6337bba7c7eebc6e5f9326aab..7f2114988d86d837d843f517283267583ac70963 100644
--- a/civicrm/CRM/Report/Form/Case/Summary.php
+++ b/civicrm/CRM/Report/Form/Case/Summary.php
@@ -223,7 +223,7 @@ class CRM_Report_Form_Case_Summary extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Case/TimeSpent.php b/civicrm/CRM/Report/Form/Case/TimeSpent.php
index 53572ae20b945aa03ea91996759469b6e68b43c3..25a4eaded29d602517f7bc39854d59a3934196a4 100644
--- a/civicrm/CRM/Report/Form/Case/TimeSpent.php
+++ b/civicrm/CRM/Report/Form/Case/TimeSpent.php
@@ -307,7 +307,7 @@ class CRM_Report_Form_Case_TimeSpent extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contact/Detail.php b/civicrm/CRM/Report/Form/Contact/Detail.php
index 56fcb47c60786ba0f6f14d96d35d330f9c411ba8..e0a59e9c414b8032903a683fd721d520007597dc 100644
--- a/civicrm/CRM/Report/Form/Contact/Detail.php
+++ b/civicrm/CRM/Report/Form/Contact/Detail.php
@@ -440,7 +440,7 @@ class CRM_Report_Form_Contact_Detail extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
@@ -785,7 +785,7 @@ HERESQL;
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contact/Log.php b/civicrm/CRM/Report/Form/Contact/Log.php
index 3fbec112126477917e5c5353301167fbbfdc78b3..61c2b161d43ce88f29779b1fe2f710c8fdea8bbc 100644
--- a/civicrm/CRM/Report/Form/Contact/Log.php
+++ b/civicrm/CRM/Report/Form/Contact/Log.php
@@ -149,7 +149,7 @@ class CRM_Report_Form_Contact_Log extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contact/Relationship.php b/civicrm/CRM/Report/Form/Contact/Relationship.php
index 7937353467612ab1fee6d2968c229dd13c846e0c..6db13e2822563d0a426af970ad32e945bc63505b 100644
--- a/civicrm/CRM/Report/Form/Contact/Relationship.php
+++ b/civicrm/CRM/Report/Form/Contact/Relationship.php
@@ -414,11 +414,7 @@ class CRM_Report_Form_Contact_Relationship extends CRM_Report_Form {
 
     // Include Email Field.
     if ($this->_emailField_a) {
-      $this->_from .= "
-             LEFT JOIN civicrm_email {$this->_aliases['civicrm_email']}
-                       ON ( {$this->_aliases['civicrm_contact']}.id =
-                            {$this->_aliases['civicrm_email']}.contact_id AND
-                            {$this->_aliases['civicrm_email']}.is_primary = 1 )";
+      $this->joinEmailFromContact();
     }
     if ($this->_emailField_b) {
       $this->_from .= "
@@ -429,11 +425,7 @@ class CRM_Report_Form_Contact_Relationship extends CRM_Report_Form {
     }
     // Include Phone Field.
     if ($this->_phoneField_a) {
-      $this->_from .= "
-             LEFT JOIN civicrm_phone {$this->_aliases['civicrm_phone']}
-                       ON ( {$this->_aliases['civicrm_contact']}.id =
-                            {$this->_aliases['civicrm_phone']}.contact_id AND
-                            {$this->_aliases['civicrm_phone']}.is_primary = 1 )";
+      $this->joinPhoneFromContact();
     }
     if ($this->_phoneField_b) {
       $this->_from .= "
@@ -561,7 +553,7 @@ class CRM_Report_Form_Contact_Relationship extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contact/Summary.php b/civicrm/CRM/Report/Form/Contact/Summary.php
index 2adf144166e79648f0c86155228f146c6a222fc7..0d330b3ae743d0cfd1e7c16c0a020c747d22999e 100644
--- a/civicrm/CRM/Report/Form/Contact/Summary.php
+++ b/civicrm/CRM/Report/Form/Contact/Summary.php
@@ -128,7 +128,7 @@ class CRM_Report_Form_Contact_Summary extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/Bookkeeping.php b/civicrm/CRM/Report/Form/Contribute/Bookkeeping.php
index b96c804409c6b2eb35a676ac3b6ac546138fdf7d..31869ac265d700df4a386d69ed4b5ed0f26a53d4 100644
--- a/civicrm/CRM/Report/Form/Contribute/Bookkeeping.php
+++ b/civicrm/CRM/Report/Form/Contribute/Bookkeeping.php
@@ -480,7 +480,7 @@ class CRM_Report_Form_Contribute_Bookkeeping extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/Detail.php b/civicrm/CRM/Report/Form/Contribute/Detail.php
index 219f4f3d8221ac93aa94217bb735474fbd5de4d6..70965b4bd5e43df9ba400bfb248d271e51a90503 100644
--- a/civicrm/CRM/Report/Form/Contribute/Detail.php
+++ b/civicrm/CRM/Report/Form/Contribute/Detail.php
@@ -408,7 +408,7 @@ class CRM_Report_Form_Contribute_Detail extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    * @throws \CRM_Core_Exception
diff --git a/civicrm/CRM/Report/Form/Contribute/History.php b/civicrm/CRM/Report/Form/Contribute/History.php
index ba2dd4212cbb0451f89823656cb6063ba0846d10..b97f1adb5c3cc38b30eac26eaed559ab2d3baadd 100644
--- a/civicrm/CRM/Report/Form/Contribute/History.php
+++ b/civicrm/CRM/Report/Form/Contribute/History.php
@@ -164,6 +164,14 @@ class CRM_Report_Form_Contribute_History extends CRM_Report_Form {
             'no_repeat' => TRUE,
           ],
         ],
+        'filters' => [
+          'on_hold' => [
+            'title' => ts('On Hold'),
+            'type' => CRM_Utils_Type::T_INT,
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options' => ['' => ts('Any')] + CRM_Core_PseudoConstant::emailOnHoldOptions(),
+          ],
+        ],
         'grouping' => 'contact-fields',
       ],
       'civicrm_phone' => [
@@ -497,7 +505,7 @@ class CRM_Report_Form_Contribute_History extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
@@ -527,7 +535,7 @@ class CRM_Report_Form_Contribute_History extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/HouseholdSummary.php b/civicrm/CRM/Report/Form/Contribute/HouseholdSummary.php
index 13e028a1a94c47e46d6d3ee400b137e34c0b3434..64537a2c6431f5a489a9dc2384f92c44b003d798 100644
--- a/civicrm/CRM/Report/Form/Contribute/HouseholdSummary.php
+++ b/civicrm/CRM/Report/Form/Contribute/HouseholdSummary.php
@@ -183,6 +183,14 @@ class CRM_Report_Form_Contribute_HouseholdSummary extends CRM_Report_Form {
         'fields' => [
           'email' => NULL,
         ],
+        'filters' => [
+          'on_hold' => [
+            'title' => ts('On Hold'),
+            'type' => CRM_Utils_Type::T_INT,
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options' => ['' => ts('Any')] + CRM_Core_PseudoConstant::emailOnHoldOptions(),
+          ],
+        ],
         'grouping' => 'contact-fields',
       ],
     ];
@@ -307,7 +315,7 @@ class CRM_Report_Form_Contribute_HouseholdSummary extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/Lybunt.php b/civicrm/CRM/Report/Form/Contribute/Lybunt.php
index 782ade73c46fed1a6897bc8e479ef3f38a697af4..5ab5423e2e5bf52b464e5297771e539a7d2ac70e 100644
--- a/civicrm/CRM/Report/Form/Contribute/Lybunt.php
+++ b/civicrm/CRM/Report/Form/Contribute/Lybunt.php
@@ -147,8 +147,9 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form {
         'filters' => [
           'on_hold' => [
             'title' => ts('On Hold'),
-            'type' => CRM_Utils_Type::T_BOOLEAN,
-            'options' => ['' => ts('Any')] + CRM_Core_SelectValues::boolean(),
+            'type' => CRM_Utils_Type::T_INT,
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options' => ['' => ts('Any')] + CRM_Core_PseudoConstant::emailOnHoldOptions(),
           ],
         ],
       ],
@@ -483,7 +484,7 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/OrganizationSummary.php b/civicrm/CRM/Report/Form/Contribute/OrganizationSummary.php
index 1da83c809a9145386c3e86679da4bc5e63fafd25..6f030d62f0cee323c58df199002e4cbe0843d65d 100644
--- a/civicrm/CRM/Report/Form/Contribute/OrganizationSummary.php
+++ b/civicrm/CRM/Report/Form/Contribute/OrganizationSummary.php
@@ -168,6 +168,14 @@ class CRM_Report_Form_Contribute_OrganizationSummary extends CRM_Report_Form {
       'civicrm_email' => [
         'dao' => 'CRM_Core_DAO_Email',
         'fields' => ['email' => NULL],
+        'filters' => [
+          'on_hold' => [
+            'title' => ts('On Hold'),
+            'type' => CRM_Utils_Type::T_INT,
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options' => ['' => ts('Any')] + CRM_Core_PseudoConstant::emailOnHoldOptions(),
+          ],
+        ],
         'grouping' => 'contact-fields',
       ],
       'civicrm_financial_trxn' => [
@@ -315,7 +323,7 @@ class CRM_Report_Form_Contribute_OrganizationSummary extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/PCP.php b/civicrm/CRM/Report/Form/Contribute/PCP.php
index d2ec81d21c389e5ee9c157aacf586f7f304f56f9..37edb4eedc78a067c217b922be020753ce4a6415 100644
--- a/civicrm/CRM/Report/Form/Contribute/PCP.php
+++ b/civicrm/CRM/Report/Form/Contribute/PCP.php
@@ -296,7 +296,7 @@ LEFT JOIN civicrm_event {$this->_aliases['civicrm_event']}
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/Repeat.php b/civicrm/CRM/Report/Form/Contribute/Repeat.php
index 3f3bc2d6d9ff940309277fb4b0f0cbd8b13f8452..54656a052831845671754ec840bcb220166601c9 100644
--- a/civicrm/CRM/Report/Form/Contribute/Repeat.php
+++ b/civicrm/CRM/Report/Form/Contribute/Repeat.php
@@ -144,6 +144,14 @@ class CRM_Report_Form_Contribute_Repeat extends CRM_Report_Form {
             'no_repeat' => TRUE,
           ),
         ),
+        'filters' => [
+          'on_hold' => [
+            'title' => ts('On Hold'),
+            'type' => CRM_Utils_Type::T_INT,
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options' => ['' => ts('Any')] + CRM_Core_PseudoConstant::emailOnHoldOptions(),
+          ],
+        ],
         'grouping' => 'contact-fields',
       ),
       'civicrm_phone' => array(
@@ -602,7 +610,7 @@ LEFT JOIN $this->tempTableRepeat2 {$this->_aliases['civicrm_contribution']}2
 
     foreach ($checkDate as $date_range => $range_data) {
       foreach ($range_data as $key => $value) {
-        if (CRM_Utils_Date::isDate($value)) {
+        if (!CRM_Utils_System::isNull($value)) {
           $errorCount[$date_range][$key]['valid'] = 'true';
           $errorCount[$date_range][$key]['is_empty'] = 'false';
         }
@@ -664,7 +672,7 @@ LEFT JOIN $this->tempTableRepeat2 {$this->_aliases['civicrm_contribution']}2
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/SoftCredit.php b/civicrm/CRM/Report/Form/Contribute/SoftCredit.php
index 15db3e5c938f58a9e3a7c8d13bd0af839ae47dac..3def8e31888ed08f9ef95563cce7f4d5d7b8e543 100644
--- a/civicrm/CRM/Report/Form/Contribute/SoftCredit.php
+++ b/civicrm/CRM/Report/Form/Contribute/SoftCredit.php
@@ -468,7 +468,7 @@ GROUP BY {$this->_aliases['civicrm_contribution_soft']}.contact_id, constituentn
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/Sybunt.php b/civicrm/CRM/Report/Form/Contribute/Sybunt.php
index 7b77b6827eee30451712f8fcbba173774a7a5a26..6c83f631135050044cc71136bc3cfacdbde7e4d3 100644
--- a/civicrm/CRM/Report/Form/Contribute/Sybunt.php
+++ b/civicrm/CRM/Report/Form/Contribute/Sybunt.php
@@ -154,6 +154,14 @@ class CRM_Report_Form_Contribute_Sybunt extends CRM_Report_Form {
             'default' => TRUE,
           ],
         ],
+        'filters' => [
+          'on_hold' => [
+            'title' => ts('On Hold'),
+            'type' => CRM_Utils_Type::T_INT,
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options' => ['' => ts('Any')] + CRM_Core_PseudoConstant::emailOnHoldOptions(),
+          ],
+        ],
       ],
       'civicrm_phone' => [
         'dao' => 'CRM_Core_DAO_Phone',
@@ -392,7 +400,7 @@ class CRM_Report_Form_Contribute_Sybunt extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/TopDonor.php b/civicrm/CRM/Report/Form/Contribute/TopDonor.php
index 4f11326c08788f478a06495718afdef8f41678c7..fa40ee3d8b621047154ff9abe7734a2316bc2577 100644
--- a/civicrm/CRM/Report/Form/Contribute/TopDonor.php
+++ b/civicrm/CRM/Report/Form/Contribute/TopDonor.php
@@ -167,6 +167,14 @@ class CRM_Report_Form_Contribute_TopDonor extends CRM_Report_Form {
             'no_repeat' => TRUE,
           ],
         ],
+        'filters' => [
+          'on_hold' => [
+            'title' => ts('On Hold'),
+            'type' => CRM_Utils_Type::T_INT,
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options' => ['' => ts('Any')] + CRM_Core_PseudoConstant::emailOnHoldOptions(),
+          ],
+        ],
         'grouping' => 'email-fields',
       ],
       'civicrm_phone' => [
@@ -198,7 +206,7 @@ class CRM_Report_Form_Contribute_TopDonor extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Event/Income.php b/civicrm/CRM/Report/Form/Event/Income.php
index d25a8400542d110d646fa5d8ecad7d12e48d9b50..24c6cead3710de7f6b6c33727aaf9c48b8e98ac2 100644
--- a/civicrm/CRM/Report/Form/Event/Income.php
+++ b/civicrm/CRM/Report/Form/Event/Income.php
@@ -206,7 +206,7 @@ class CRM_Report_Form_Event_Income extends CRM_Report_Form {
   }
 
   /**
-   * @param $eventIDs
+   * @param array $eventIDs
    *
    * @return array
    */
@@ -298,6 +298,7 @@ class CRM_Report_Form_Event_Income extends CRM_Report_Form {
       $numRows = $this->_limit;
 
       if (CRM_Utils_Array::value('id_op', $this->_params, 'in') == 'in' || $noSelection) {
+        $rowCount = $this->getRowCount();
         while ($count < $rowCount) {
           if (!isset($this->_params['id_value'][$numRows])) {
             break;
diff --git a/civicrm/CRM/Report/Form/Event/IncomeCountSummary.php b/civicrm/CRM/Report/Form/Event/IncomeCountSummary.php
index c5b7bb2705b6d55d475416c3adec1b9fbde82340..68e78f34281d9d75c889605cf28edddbeab25bbe 100644
--- a/civicrm/CRM/Report/Form/Event/IncomeCountSummary.php
+++ b/civicrm/CRM/Report/Form/Event/IncomeCountSummary.php
@@ -247,7 +247,7 @@ class CRM_Report_Form_Event_IncomeCountSummary extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Event/ParticipantListCount.php b/civicrm/CRM/Report/Form/Event/ParticipantListCount.php
index 6e98f4be8be66a758946b6762d2c416846234571..4e3bdc277e3f046f57ee2906f62f0f5417d5ac56 100644
--- a/civicrm/CRM/Report/Form/Event/ParticipantListCount.php
+++ b/civicrm/CRM/Report/Form/Event/ParticipantListCount.php
@@ -335,8 +335,7 @@ class CRM_Report_Form_Event_ParticipantListCount extends CRM_Report_Form {
   }
 
   /**
-   * Add The statistics.
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
@@ -426,7 +425,7 @@ class CRM_Report_Form_Event_ParticipantListCount extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Event/ParticipantListing.php b/civicrm/CRM/Report/Form/Event/ParticipantListing.php
index c302223728b7e0f1c5e7adc8d2e47b7e110ab528..8404338b26432faf4a853c9849b6910182ce4eed 100644
--- a/civicrm/CRM/Report/Form/Event/ParticipantListing.php
+++ b/civicrm/CRM/Report/Form/Event/ParticipantListing.php
@@ -476,7 +476,7 @@ ORDER BY  cv.label
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Mailing/Bounce.php b/civicrm/CRM/Report/Form/Mailing/Bounce.php
index 27027d3586106e04391663fce985bed06b7ab11d..45f23d00cae3bb33f4a48feb05c0e57a4c79be95 100644
--- a/civicrm/CRM/Report/Form/Mailing/Bounce.php
+++ b/civicrm/CRM/Report/Form/Mailing/Bounce.php
@@ -291,7 +291,7 @@ class CRM_Report_Form_Mailing_Bounce extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Mailing/Clicks.php b/civicrm/CRM/Report/Form/Mailing/Clicks.php
index d56739014c7081019599c8d3e22a11f587d5fef9..d4cd2cec113168bbbac45ea60c1da8e296bd68aa 100644
--- a/civicrm/CRM/Report/Form/Mailing/Clicks.php
+++ b/civicrm/CRM/Report/Form/Mailing/Clicks.php
@@ -247,7 +247,7 @@ class CRM_Report_Form_Mailing_Clicks extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Mailing/Opened.php b/civicrm/CRM/Report/Form/Mailing/Opened.php
index c7a68f2cb45cbdc67c5f7b5c6ac66c5117287ba3..4f5b76d6557d431e637db88ef892e8134b377da3 100644
--- a/civicrm/CRM/Report/Form/Mailing/Opened.php
+++ b/civicrm/CRM/Report/Form/Mailing/Opened.php
@@ -238,7 +238,7 @@ class CRM_Report_Form_Mailing_Opened extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Mailing/Summary.php b/civicrm/CRM/Report/Form/Mailing/Summary.php
index 4b3f5a2b8e95cbf2600339021ddefa4edd810a5e..1521f737c7aa324aa88938c7c6acf04fe5a5df82 100644
--- a/civicrm/CRM/Report/Form/Mailing/Summary.php
+++ b/civicrm/CRM/Report/Form/Mailing/Summary.php
@@ -515,7 +515,7 @@ class CRM_Report_Form_Mailing_Summary extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Member/ContributionDetail.php b/civicrm/CRM/Report/Form/Member/ContributionDetail.php
index b032020a9f4d91c72b8119636b16b8048d36f539..985b55ca5c92726ebabc2a8cf74152342252a544 100644
--- a/civicrm/CRM/Report/Form/Member/ContributionDetail.php
+++ b/civicrm/CRM/Report/Form/Member/ContributionDetail.php
@@ -576,7 +576,7 @@ class CRM_Report_Form_Member_ContributionDetail extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Member/Lapse.php b/civicrm/CRM/Report/Form/Member/Lapse.php
index dad64c28fb5d89ef04e9efcdcdfb5a215539db2d..236c4cd30987d0b2f45cc5b246bad08d375f48e9 100644
--- a/civicrm/CRM/Report/Form/Member/Lapse.php
+++ b/civicrm/CRM/Report/Form/Member/Lapse.php
@@ -181,7 +181,7 @@ class CRM_Report_Form_Member_Lapse extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Member/Summary.php b/civicrm/CRM/Report/Form/Member/Summary.php
index 38ca5d7f8b60c9dfbd8b00b5a90e3f2a0c3a5e7b..2bacccf5a826a844dd3c302fc1d9cbc7402b7f93 100644
--- a/civicrm/CRM/Report/Form/Member/Summary.php
+++ b/civicrm/CRM/Report/Form/Member/Summary.php
@@ -363,7 +363,7 @@ class CRM_Report_Form_Member_Summary extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Pledge/Detail.php b/civicrm/CRM/Report/Form/Pledge/Detail.php
index 75de4ab4e77c5c92285832e950810fef8eb3472c..599d65b4bc3be02e082830c30f198e836118f1ad 100644
--- a/civicrm/CRM/Report/Form/Pledge/Detail.php
+++ b/civicrm/CRM/Report/Form/Pledge/Detail.php
@@ -255,7 +255,7 @@ class CRM_Report_Form_Pledge_Detail extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Pledge/Summary.php b/civicrm/CRM/Report/Form/Pledge/Summary.php
index d3f853e806bad38f772ba285c1b9296c6494c4e4..c49e7b5a7f302d46e0966f204db9982e73197271 100644
--- a/civicrm/CRM/Report/Form/Pledge/Summary.php
+++ b/civicrm/CRM/Report/Form/Pledge/Summary.php
@@ -261,7 +261,7 @@ class CRM_Report_Form_Pledge_Summary extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Register.php b/civicrm/CRM/Report/Form/Register.php
index f1ccbfc59d9e9aa8ea1af1b4ced19ef501abcab6..c4a8f659458a027420ae3543769fe823cf450969 100644
--- a/civicrm/CRM/Report/Form/Register.php
+++ b/civicrm/CRM/Report/Form/Register.php
@@ -116,7 +116,7 @@ class CRM_Report_Form_Register extends CRM_Core_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Page/InstanceList.php b/civicrm/CRM/Report/Page/InstanceList.php
index 96c31a479987b0c27e7ca928247e63ef32615f2e..a327304d375a82bb5bd48121293198f4058bbc0a 100644
--- a/civicrm/CRM/Report/Page/InstanceList.php
+++ b/civicrm/CRM/Report/Page/InstanceList.php
@@ -134,7 +134,6 @@ class CRM_Report_Page_InstanceList extends CRM_Core_Page {
 
     $dao = CRM_Core_DAO::executeQuery($sql, $queryParams);
 
-    $config = CRM_Core_Config::singleton();
     $rows = [];
     $url = 'civicrm/report/instance';
     $my_reports_grouping = 'My';
@@ -143,7 +142,7 @@ class CRM_Report_Page_InstanceList extends CRM_Core_Page {
         continue;
       }
 
-      $enabled = in_array("Civi{$dao->compName}", $config->enableComponents);
+      $enabled = CRM_Core_Component::isEnabled("Civi{$dao->compName}");
       if ($dao->compName == 'Contact' || $dao->compName == $dao->grouping) {
         $enabled = TRUE;
       }
diff --git a/civicrm/CRM/Report/Page/Options.php b/civicrm/CRM/Report/Page/Options.php
index 894ba22e3a13a314070a37710744ba3e93445389..f0d88838ddd298c4f794ab825b8bede872ac6cdb 100644
--- a/civicrm/CRM/Report/Page/Options.php
+++ b/civicrm/CRM/Report/Page/Options.php
@@ -32,21 +32,21 @@ class CRM_Report_Page_Options extends CRM_Core_Page_Basic {
   /**
    * The option group name.
    *
-   * @var array
+   * @var string|null
    */
   public static $_gName = NULL;
 
   /**
    * The option group name in display format (capitalized, without underscores...etc)
    *
-   * @var array
+   * @var string|null
    */
-  public static $_GName = NULL;
+  public static $_gLabel = NULL;
 
   /**
    * The option group id.
    *
-   * @var array
+   * @var int|null
    */
   public static $_gId = NULL;
 
@@ -58,17 +58,11 @@ class CRM_Report_Page_Options extends CRM_Core_Page_Basic {
     $this->_id = CRM_Utils_Request::retrieve('id', 'String', $this, FALSE);
 
     self::$_gName = "report_template";
+    self::$_gLabel = ts("Report Template");
+    self::$_gId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionGroup', self::$_gName, 'id', 'name');
 
-    if (self::$_gName) {
-      self::$_gId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionGroup', self::$_gName, 'id', 'name');
-    }
-    else {
-      CRM_Core_Error::statusBounce(ts('Unable to determine the Option Group'));
-    }
-
-    self::$_GName = ucwords(str_replace('_', ' ', self::$_gName));
-
-    $this->assign('GName', self::$_GName);
+    $this->assign('gName', self::$_gName);
+    $this->assign('gLabel', self::$_gLabel);
     $newReportURL = CRM_Utils_System::url("civicrm/admin/report/register",
       'reset=1'
     );
@@ -99,23 +93,23 @@ class CRM_Report_Page_Options extends CRM_Core_Page_Basic {
           'name' => ts('Edit'),
           'url' => 'civicrm/admin/report/register/' . self::$_gName,
           'qs' => 'action=update&id=%%id%%&reset=1',
-          'title' => ts('Edit %1', [1 => self::$_gName]),
+          'title' => ts('Edit %1', [1 => self::$_gLabel]),
         ],
         CRM_Core_Action::DISABLE => [
           'name' => ts('Disable'),
           'ref' => 'crm-enable-disable',
-          'title' => ts('Disable %1', [1 => self::$_gName]),
+          'title' => ts('Disable %1', [1 => self::$_gLabel]),
         ],
         CRM_Core_Action::ENABLE => [
           'name' => ts('Enable'),
           'ref' => 'crm-enable-disable',
-          'title' => ts('Enable %1', [1 => self::$_gName]),
+          'title' => ts('Enable %1', [1 => self::$_gLabel]),
         ],
         CRM_Core_Action::DELETE => [
           'name' => ts('Delete'),
           'url' => 'civicrm/admin/report/register/' . self::$_gName,
           'qs' => 'action=delete&id=%%id%%&reset=1',
-          'title' => ts('Delete %1 Type', [1 => self::$_gName]),
+          'title' => ts('Delete %1 Type', [1 => self::$_gLabel]),
         ],
       ];
     }
@@ -168,7 +162,7 @@ class CRM_Report_Page_Options extends CRM_Core_Page_Basic {
    *   name of this page.
    */
   public function editName() {
-    return self::$_GName;
+    return self::$_gLabel;
   }
 
   /**
diff --git a/civicrm/CRM/Report/Page/TemplateList.php b/civicrm/CRM/Report/Page/TemplateList.php
index 289b8175984ed1fafee61d2c76f907378145f985..2b69ada6f5cd895bb67774dae739e54b8c284666 100644
--- a/civicrm/CRM/Report/Page/TemplateList.php
+++ b/civicrm/CRM/Report/Page/TemplateList.php
@@ -22,7 +22,7 @@ class CRM_Report_Page_TemplateList extends CRM_Core_Page {
 
   /**
    * @param int $compID
-   * @param null $grouping
+   * @param string|null $grouping
    *
    * @return array
    */
@@ -68,10 +68,9 @@ LEFT  JOIN civicrm_component comp
 
     $dao = CRM_Core_DAO::executeQuery($sql);
     $rows = [];
-    $config = CRM_Core_Config::singleton();
     while ($dao->fetch()) {
       if ($dao->component_name != 'Contact' && $dao->component_name != $dao->grouping &&
-        !in_array("Civi{$dao->component_name}", $config->enableComponents)
+        !CRM_Core_Component::isEnabled("Civi{$dao->component_name}")
       ) {
         continue;
       }
diff --git a/civicrm/CRM/SMS/BAO/Provider.php b/civicrm/CRM/SMS/BAO/Provider.php
index b2c2e45e2267048f46d5473a2ed915c15d262de6..0c205bc0c30b74b7435ebfde2c856da57761dfb1 100644
--- a/civicrm/CRM/SMS/BAO/Provider.php
+++ b/civicrm/CRM/SMS/BAO/Provider.php
@@ -16,13 +16,6 @@
  */
 class CRM_SMS_BAO_Provider extends CRM_SMS_DAO_Provider {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * @return null|string
    */
@@ -141,8 +134,8 @@ class CRM_SMS_BAO_Provider extends CRM_SMS_DAO_Provider {
 
   /**
    * @param int $providerID
-   * @param null $returnParam
-   * @param null $returnDefaultString
+   * @param string|null $returnParam
+   * @param string|null $returnDefaultString
    *
    * @return mixed
    */
diff --git a/civicrm/CRM/SMS/DAO/Provider.php b/civicrm/CRM/SMS/DAO/Provider.php
index 37ed7ffcc5f95a6e48ababa552aa177d2e2eb547..290bcf09559197ba6df8d481384d79b0a163f8f7 100644
--- a/civicrm/CRM/SMS/DAO/Provider.php
+++ b/civicrm/CRM/SMS/DAO/Provider.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/SMS/Provider.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0411ce23fd693f810e4b17271b84e567)
+ * (GenCodeChecksum:0fc3229e1bb7ff0e9203e6c5c7ba3d6a)
  */
 
 /**
@@ -33,67 +33,89 @@ class CRM_SMS_DAO_Provider extends CRM_Core_DAO {
   /**
    * SMS Provider ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Provider internal name points to option_value of option_group sms_provider_name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Provider name visible to user
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $username;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $password;
 
   /**
    * points to value in civicrm_option_value for group sms_api_type
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $api_type;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $api_url;
 
   /**
    * the api params in xml, http or smtp format
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $api_params;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Which Domain is this sms provider for
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
diff --git a/civicrm/CRM/SMS/Form/Schedule.php b/civicrm/CRM/SMS/Form/Schedule.php
index 04d68bda9f85001b7542fa0b8551d0a43a8383ee..00afbb84e8bb9b47cff112b29c84ea3c1cd271f4 100644
--- a/civicrm/CRM/SMS/Form/Schedule.php
+++ b/civicrm/CRM/SMS/Form/Schedule.php
@@ -100,7 +100,7 @@ class CRM_SMS_Form_Schedule extends CRM_Core_Form {
    *   The form values.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return bool
    *   True if either we deliver immediately, or the date is properly
diff --git a/civicrm/CRM/SMS/Form/Upload.php b/civicrm/CRM/SMS/Form/Upload.php
index 64078f123c390a7bf2a19dae70ed0a7ee54356a2..e33c9244a79f0c660fd4aa1bb7062d84048ae74f 100644
--- a/civicrm/CRM/SMS/Form/Upload.php
+++ b/civicrm/CRM/SMS/Form/Upload.php
@@ -245,7 +245,7 @@ class CRM_SMS_Form_Upload extends CRM_Core_Form {
    *   (ref.) an assoc array of name/value pairs.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   mixed true or array of errors
diff --git a/civicrm/CRM/SMS/Provider.php b/civicrm/CRM/SMS/Provider.php
index 896302ea13eec13b4a9b2f8186e1d75521316fff..c1f740b5b2c1526c30caa97a6f6f31ee7b8f82ea 100644
--- a/civicrm/CRM/SMS/Provider.php
+++ b/civicrm/CRM/SMS/Provider.php
@@ -88,7 +88,7 @@ abstract class CRM_SMS_Provider {
    *
    * Child class could override this function to have better control over the message being sent.
    *
-   * @param string $message
+   * @param Mail_mime $message
    * @param int $contactID
    * @param array $contactDetails
    *
diff --git a/civicrm/CRM/UF/Form/Field.php b/civicrm/CRM/UF/Form/Field.php
index b639b71b1496c6bd894744c0d72702ae938ee4d5..f6376d67808aea4ab18dd15d84c96e8883c5bd86 100644
--- a/civicrm/CRM/UF/Form/Field.php
+++ b/civicrm/CRM/UF/Form/Field.php
@@ -464,17 +464,6 @@ class CRM_UF_Form_Field extends CRM_Core_Form {
 
     $this->addFormRule(['CRM_UF_Form_Field', 'formRule'], $this);
 
-    // if view mode pls freeze it with the done button.
-    if ($this->_action & CRM_Core_Action::VIEW) {
-      $this->freeze();
-      $this->addElement('xbutton', 'done', ts('Done'),
-        [
-          'type' => 'button',
-          'onclick' => "location.href='civicrm/admin/uf/group/field?reset=1&action=browse&gid=" . $this->_gid . "'",
-        ]
-      );
-    }
-
     $this->setDefaults($defaults);
   }
 
@@ -728,7 +717,7 @@ class CRM_UF_Form_Field extends CRM_Core_Form {
    *   Posted values of the form.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/UF/Form/Group.php b/civicrm/CRM/UF/Form/Group.php
index a270ae03edec60928372c8d1eef7520571c0171c..3b9b39132dcd4474662c825f6d422841bc68bd30 100644
--- a/civicrm/CRM/UF/Form/Group.php
+++ b/civicrm/CRM/UF/Form/Group.php
@@ -235,15 +235,6 @@ class CRM_UF_Form_Group extends CRM_Core_Form {
       ],
     ]);
 
-    // views are implemented as frozen form
-    if ($this->_action & CRM_Core_Action::VIEW) {
-      $this->freeze();
-      $this->addElement('xbutton', 'done', ts('Done'), [
-        'type' => 'button',
-        'onclick' => "location.href='civicrm/admin/uf/group?reset=1&action=browse'",
-      ]);
-    }
-
     $this->addFormRule(['CRM_UF_Form_Group', 'formRule'], $this);
   }
 
@@ -326,7 +317,7 @@ class CRM_UF_Form_Group extends CRM_Core_Form {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param array $self
+   * @param self $self
    *   Current form object.
    *
    * @return bool|array
diff --git a/civicrm/CRM/Upgrade/Controller.php b/civicrm/CRM/Upgrade/Controller.php
index d79428795546fffc68bde3e98356a67429df578f..081d99e7b647637024ef4875912d746d95e62ebd 100644
--- a/civicrm/CRM/Upgrade/Controller.php
+++ b/civicrm/CRM/Upgrade/Controller.php
@@ -19,7 +19,7 @@ class CRM_Upgrade_Controller extends CRM_Core_Controller {
   /**
    * Class constructor.
    *
-   * @param null $title
+   * @param string $title
    * @param bool|int $action
    * @param bool $modal
    */
diff --git a/civicrm/CRM/Upgrade/Form.php b/civicrm/CRM/Upgrade/Form.php
index d69e9bd20b9dc910f381a253470ca66caa01576c..bd8e609cc2f373e4538f34f8afa21ed7a94aff25 100644
--- a/civicrm/CRM/Upgrade/Form.php
+++ b/civicrm/CRM/Upgrade/Form.php
@@ -499,6 +499,14 @@ SET    version = '$version'
   /**
    * Fill the queue with upgrade tasks.
    *
+   * The queue is a priority-queue (sorted by tuple weight+id). Here are some common weights:
+   *
+   * - `weight=0`: Add a typical upgrade step for revising core schema.
+   * - `weight=-1`: In the middle of the upgrade, add an extra step for immediate execution.
+   * - `weight=1000`: Add some general core upgrade-logic that runs after all schema have change.d
+   * - `weight=2000`: Add some post-upgrade logic. If a task absolutely requires full system services
+   *    (eg enabling a new extension), then place it here.
+   *
    * @param string $currentVer
    *   the original revision.
    * @param string $latestVer
@@ -526,14 +534,14 @@ SET    version = '$version'
       [$postUpgradeMessageFile],
       "Cleanup old files"
     );
-    $queue->createItem($task);
+    $queue->createItem($task, ['weight' => 0]);
 
     $task = new CRM_Queue_Task(
       ['CRM_Upgrade_Form', 'disableOldExtensions'],
       [$postUpgradeMessageFile],
       "Checking extensions"
     );
-    $queue->createItem($task);
+    $queue->createItem($task, ['weight' => 0]);
 
     $revisions = $upgrade->getRevisionSequence();
     $maxRevision = empty($revisions) ? NULL : end($revisions);
@@ -552,7 +560,7 @@ SET    version = '$version'
           [$rev],
           "Begin Upgrade to $rev"
         );
-        $queue->createItem($beginTask);
+        $queue->createItem($beginTask, ['weight' => 0]);
 
         $task = new CRM_Queue_Task(
         // callback
@@ -561,7 +569,7 @@ SET    version = '$version'
           [$rev, $currentVer, $latestVer, $postUpgradeMessageFile],
           "Upgrade DB to $rev"
         );
-        $queue->createItem($task);
+        $queue->createItem($task, ['weight' => 0]);
 
         $task = new CRM_Queue_Task(
         // callback
@@ -570,7 +578,7 @@ SET    version = '$version'
           [$rev, $currentVer, $latestVer, $postUpgradeMessageFile],
           "Finish Upgrade DB to $rev"
         );
-        $queue->createItem($task);
+        $queue->createItem($task, ['weight' => 0]);
       }
     }
 
@@ -581,9 +589,16 @@ SET    version = '$version'
         [$rev, $latestVer, $latestVer, $postUpgradeMessageFile],
         "Finish Upgrade DB to $latestVer"
       );
-      $queue->createItem($task);
+      $queue->createItem($task, ['weight' => 0]);
     }
 
+    $task = new CRM_Queue_Task(
+      ['CRM_Upgrade_Form', 'doCoreFinish'],
+      [$rev, $latestVer, $latestVer, $postUpgradeMessageFile],
+      "Finish core DB updates $latestVer"
+    );
+    $queue->createItem($task, ['weight' => 1000]);
+
     return $queue;
   }
 
@@ -780,7 +795,13 @@ SET    version = '$version'
     return TRUE;
   }
 
-  public static function doFinish() {
+  /**
+   * Finalize the core upgrade.
+   *
+   * @return bool
+   * @throws \CRM_Core_Exception
+   */
+  public static function doCoreFinish(): bool {
     Civi::dispatcher()->setDispatchPolicy(\CRM_Upgrade_DispatchPolicy::get('upgrade.finish'));
     $restore = \CRM_Utils_AutoClean::with(function() {
       Civi::dispatcher()->setDispatchPolicy(\CRM_Upgrade_DispatchPolicy::get('upgrade.main'));
@@ -805,6 +826,21 @@ SET    version = '$version'
     $logging->fixSchemaDifferences();
     // Force a rebuild of CiviCRM asset cache in case things have changed.
     \Civi::service('asset_builder')->clear(FALSE);
+
+    return TRUE;
+  }
+
+  /**
+   * After finishing the queue, the upgrade-runner calls `doFinish()`.
+   *
+   * This is called by all upgrade-runners (inside or outside of `civicrm-core.git`).
+   * Removing it would be a breaky-annoying process; it would foreclose future use;
+   * and it would produce no tangible benefits.
+   *
+   * @return bool
+   */
+  public static function doFinish(): bool {
+    return TRUE;
   }
 
   /**
diff --git a/civicrm/CRM/Upgrade/Incremental/Base.php b/civicrm/CRM/Upgrade/Incremental/Base.php
index 49568dc51a0bca92dc5c1e59c27fc145e244320c..be5e72d90ffc5b64b12a181bf7e8874a68d44f89 100644
--- a/civicrm/CRM/Upgrade/Incremental/Base.php
+++ b/civicrm/CRM/Upgrade/Incremental/Base.php
@@ -158,6 +158,48 @@ class CRM_Upgrade_Incremental_Base {
     $queue->createItem($task, ['weight' => -1]);
   }
 
+  /**
+   * Add a task to activate an extension. This task will run post-upgrade (after all
+   * changes to core DB are settled).
+   *
+   * @param string $title
+   * @param string[] $keys
+   *   List of extensions to enable.
+   */
+  protected function addExtensionTask(string $title, array $keys): void {
+    Civi::queue(CRM_Upgrade_Form::QUEUE_NAME)->createItem(
+      new CRM_Queue_Task([static::CLASS, 'enableExtension'], [$keys], $title),
+      ['weight' => 2000]
+    );
+  }
+
+  /**
+   * @param \CRM_Queue_TaskContext $ctx
+   * @param string[] $keys
+   *   List of extensions to enable.
+   * @return bool
+   */
+  public static function enableExtension(CRM_Queue_TaskContext $ctx, array $keys): bool {
+    // The `enableExtension` has a very high value of `weight`, so this runs after all
+    // core DB schema updates have been resolved. We can use high-level services.
+
+    Civi::dispatcher()->setDispatchPolicy(\CRM_Upgrade_DispatchPolicy::get('upgrade.finish'));
+    $restore = \CRM_Utils_AutoClean::with(function() {
+      Civi::dispatcher()->setDispatchPolicy(\CRM_Upgrade_DispatchPolicy::get('upgrade.main'));
+    });
+
+    $manager = CRM_Extension_System::singleton()->getManager();
+    $manager->enable($manager->findInstallRequirements($keys));
+
+    // Hrm, `enable()` normally does these things... but not during upgrade...
+    // Note: A good test-scenario is to install 5.45; enable logging and CiviGrant; disable searchkit+afform; then upgrade to 5.47.
+    $schema = new CRM_Logging_Schema();
+    $schema->fixSchemaDifferences();
+    CRM_Core_Invoke::rebuildMenuAndCaches(FALSE, TRUE);
+
+    return TRUE;
+  }
+
   /**
    * Remove a payment processor if not in use
    *
diff --git a/civicrm/CRM/Upgrade/Incremental/MessageTemplates.php b/civicrm/CRM/Upgrade/Incremental/MessageTemplates.php
index 8de89e46b97d30a8df76608803f0b66ebb3dca22..54f37cee5a1090a4812f713fc722c4ad2618cecf 100644
--- a/civicrm/CRM/Upgrade/Incremental/MessageTemplates.php
+++ b/civicrm/CRM/Upgrade/Incremental/MessageTemplates.php
@@ -314,6 +314,26 @@ class CRM_Upgrade_Incremental_MessageTemplates {
           ['name' => 'participant_confirm', 'type' => 'html'],
         ],
       ],
+      [
+        'version' => '5.47.alpha1',
+        'upgrade_descriptor' => ts('Add time zone to Event dates'),
+        'templates' => [
+          ['name' => 'event_online_receipt', 'type' => 'html'],
+          ['name' => 'event_online_receipt', 'type' => 'text'],
+          ['name' => 'event_offline_receipt', 'type' => 'html'],
+          ['name' => 'event_offline_receipt', 'type' => 'text'],
+          ['name' => 'participant_cancelled', 'type' => 'html'],
+          ['name' => 'participant_cancelled', 'type' => 'text'],
+          ['name' => 'participant_confirm', 'type' => 'html'],
+          ['name' => 'participant_confirm', 'type' => 'text'],
+          ['name' => 'participant_expired', 'type' => 'html'],
+          ['name' => 'participant_expired', 'type' => 'text'],
+          ['name' => 'participant_transferred', 'type' => 'html'],
+          ['name' => 'participant_transferred', 'type' => 'text'],
+          ['name' => 'payment_or_refund_notification', 'type' => 'html'],
+          ['name' => 'payment_or_refund_notification', 'type' => 'text'],
+        ],
+      ],
     ];
   }
 
diff --git a/civicrm/CRM/Upgrade/Incremental/php/FiveFortySeven.php b/civicrm/CRM/Upgrade/Incremental/php/FiveFortySeven.php
new file mode 100644
index 0000000000000000000000000000000000000000..4cc9616442e931913d67b84ebca55cf696f60a11
--- /dev/null
+++ b/civicrm/CRM/Upgrade/Incremental/php/FiveFortySeven.php
@@ -0,0 +1,361 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+/**
+ * Upgrade logic for the 5.47.x series.
+ *
+ * Each minor version in the series is handled by either a `5.47.x.mysql.tpl` file,
+ * or a function in this class named `upgrade_5_47_x`.
+ * If only a .tpl file exists for a version, it will be run automatically.
+ * If the function exists, it must explicitly add the 'runSql' task if there is a corresponding .mysql.tpl.
+ *
+ * This class may also implement `setPreUpgradeMessage()` and `setPostUpgradeMessage()` functions.
+ */
+class CRM_Upgrade_Incremental_php_FiveFortySeven extends CRM_Upgrade_Incremental_Base {
+
+  /**
+   * Compute any messages which should be displayed before upgrade.
+   *
+   * Note: This function is called iteratively for each incremental upgrade step.
+   * There must be a concrete step (eg 'X.Y.Z.mysql.tpl' or 'upgrade_X_Y_Z()').
+   *
+   * @param string $preUpgradeMessage
+   * @param string $rev
+   *   a version number, e.g. '4.4.alpha1', '4.4.beta3', '4.4.0'.
+   * @param null $currentVer
+   */
+  public function setPreUpgradeMessage(&$preUpgradeMessage, $rev, $currentVer = NULL): void {
+    if ($rev === '5.47.alpha1') {
+      $count = CRM_Core_DAO::singleValueQuery('SELECT count(*) FROM civicrm_contact WHERE preferred_mail_format != "Both"');
+      if ($count) {
+        $preUpgradeMessage .= '<p>' . ts('The contact field preferred mail format is being phased out. Modern email clients can handle receiving both formats so CiviCRM is moving towards always sending both and the field will be incrementally removed from the UI.')
+        . ' <a href="https://lab.civicrm.org/dev/core/-/issues/2866">' . ts('See the issue for more detail') . '</a></p>';
+      }
+      // Check for custom groups with duplicate names
+      $dupes = CRM_Core_DAO::singleValueQuery('SELECT COUNT(g1.id) FROM civicrm_custom_group g1, civicrm_custom_group g2 WHERE g1.name = g2.name AND g1.id > g2.id');
+      if ($dupes) {
+        $preUpgradeMessage .= '<p>' .
+          ts('Your system has custom field groups with duplicate internal names. To ensure data integrity, the internal names will be automatically changed; user-facing titles will not be affected. Please review any custom code you may be using which relies on custom field group names.') .
+          '</p>';
+      }
+    }
+  }
+
+  /**
+   * Upgrade step; adds tasks including 'runSql'.
+   *
+   * @param string $rev
+   *   The version number matching this function name
+   */
+  public function upgrade_5_47_alpha1($rev): void {
+    $this->addTask(ts('Upgrade DB to %1: SQL', [1 => $rev]), 'runSql', $rev);
+    $this->addTask('Migrate CiviGrant component to an extension', 'migrateCiviGrant');
+    if (CRM_Core_Component::isEnabled('CiviGrant')) {
+      $this->addExtensionTask('Enable CiviGrant extension', ['civigrant']);
+    }
+    $this->addTask('Add created_date to civicrm_relationship', 'addColumn', 'civicrm_relationship', 'created_date',
+      "timestamp NOT NULL  DEFAULT CURRENT_TIMESTAMP COMMENT 'Relationship created date'"
+    );
+    $this->addTask('Add modified_date column to civicrm_relationship', 'addColumn',
+      'civicrm_relationship', 'modified_date',
+      "timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Relationship last modified.'"
+    );
+    $this->addTask('Set initial value for relationship created_date and modified_date to start_date', 'updateRelationshipDates');
+    $this->addTask('core-issue#2122 - Add timezone column to Events', 'addColumn',
+      'civicrm_event', 'event_tz', "text NULL DEFAULT NULL COMMENT 'Event\'s native time zone'"
+    );
+    $this->addTask('core-issue#2122 - Set the timezone to the default for existing Events', 'setEventTZDefault');
+    $this->addTask('Drop CustomGroup UI_name_extends index', 'dropIndex', 'civicrm_custom_group', 'UI_name_extends');
+    $this->addTask('Add CustomGroup UI_name index', 'addIndex', 'civicrm_custom_group', ['name'], 'UI');
+    if (CRM_Core_DAO::checkTableExists('civicrm_search_display')) {
+      $this->addTask('Add SearchDisplay.acl_bypass', 'addColumn',
+        'civicrm_search_display', 'acl_bypass',
+        "tinyint DEFAULT 0 COMMENT 'Skip permission checks and ACLs when running this display.'"
+      );
+    }
+  }
+
+  /**
+   * @param \CRM_Queue_TaskContext $ctx
+   *
+   * @return bool
+   */
+  public static function updateRelationshipDates(CRM_Queue_TaskContext $ctx): bool {
+    CRM_Core_DAO::executeQuery('
+      UPDATE civicrm_relationship SET created_date = start_date, modified_date = start_date
+      WHERE start_date IS NOT NULL AND start_date > "1970-01-01"
+    ');
+    return TRUE;
+  }
+
+  /**
+   * @param \CRM_Queue_TaskContext $ctx
+   *
+   * @return bool
+   * @throws \API_Exception
+   * @throws \CRM_Core_Exception
+   * @throws \Civi\API\Exception\NotImplementedException
+   */
+  public static function migrateCiviGrant(CRM_Queue_TaskContext $ctx): bool {
+    $civiGrantEnabled = CRM_Core_Component::isEnabled('CiviGrant');
+    if ($civiGrantEnabled) {
+      CRM_Core_BAO_ConfigSetting::disableComponent('CiviGrant');
+    }
+    $civiGrantId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Component', 'CiviGrant', 'id', 'name');
+    if ($civiGrantId) {
+      foreach (['civicrm_menu', 'civicrm_option_value'] as $table) {
+        CRM_Core_DAO::executeQuery("UPDATE $table SET component_id = NULL WHERE component_id = $civiGrantId", [], TRUE, NULL, FALSE, FALSE);
+      }
+      CRM_Core_DAO::executeQuery("DELETE FROM civicrm_component WHERE name = 'CiviGrant'", [], TRUE, NULL, FALSE, FALSE);
+    }
+
+    // There are existing records which should be managed by `civigrant`. To assign ownership, we need
+    // placeholders in `civicrm_extension` and `civicrm_managed`.
+    $ext = new CRM_Core_DAO_Extension();
+    $ext->full_name = 'civigrant';
+    if (!$ext->find(TRUE)) {
+      $ext->type = 'module';
+      $ext->name = 'CiviGrant';
+      $ext->label = ts('CiviGrant');
+      $ext->file = 'civigrant';
+      $ext->is_active = 0; /* Not active _yet_. If site uses CiviGrant, we will re-activate once the core-schema has been revised. */
+      $ext->save();
+      CRM_Extension_System::singleton()->getManager()->refresh();
+
+      $managedItems = [
+        'OptionGroup_advanced_search_options_OptionValue_CiviGrant' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'advanced_search_options',
+            'name' => 'CiviGrant',
+          ],
+        ],
+        'OptionGroup_contact_view_options_OptionValue_CiviGrant' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'contact_view_options',
+            'name' => 'CiviGrant',
+          ],
+        ],
+        'OptionGroup_mapping_type_OptionValue_Export Grant' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'mapping_type',
+            'name' => 'Export Grant',
+          ],
+        ],
+        'OptionGroup_grant_status' => [
+          'entity' => 'OptionGroup',
+          'values' => [
+            'name' => 'grant_status',
+          ],
+        ],
+        'OptionGroup_grant_status_OptionValue_Submitted' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_status',
+            'name' => 'Submitted',
+          ],
+        ],
+        'OptionGroup_grant_status_OptionValue_Eligible' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_status',
+            'name' => 'Eligible',
+          ],
+        ],
+        'OptionGroup_grant_status_OptionValue_Ineligible' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_status',
+            'name' => 'Ineligible',
+          ],
+        ],
+        'OptionGroup_grant_status_OptionValue_Paid' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_status',
+            'name' => 'Paid',
+          ],
+        ],
+        'OptionGroup_grant_status_OptionValue_Awaiting Information' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_status',
+            'name' => 'Awaiting Information',
+          ],
+        ],
+        'OptionGroup_grant_status_OptionValue_Withdrawn' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_status',
+            'name' => 'Withdrawn',
+          ],
+        ],
+        'OptionGroup_grant_status_OptionValue_Approved for Payment' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_status',
+            'name' => 'Approved for Payment',
+          ],
+        ],
+        'OptionGroup_grant_type' => [
+          'entity' => 'OptionGroup',
+          'values' => [
+            'name' => 'grant_type',
+          ],
+        ],
+        'OptionGroup_grant_type_OptionValue_Emergency' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_type',
+            'name' => 'Emergency',
+          ],
+        ],
+        'OptionGroup_grant_type_OptionValue_Family Support' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_type',
+            'name' => 'Family Support',
+          ],
+        ],
+        'OptionGroup_grant_type_OptionValue_General Protection' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_type',
+            'name' => 'General Protection',
+          ],
+        ],
+        'OptionGroup_grant_type_OptionValue_Impunity' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_type',
+            'name' => 'Impunity',
+          ],
+        ],
+        'OptionGroup_report_template_OptionValue_CRM_Report_Form_Grant_Detail' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'report_template',
+            'name' => 'CRM_Report_Form_Grant_Detail',
+          ],
+        ],
+        'OptionGroup_report_template_OptionValue_CRM_Report_Form_Grant_Statistics' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'report_template',
+            'name' => 'CRM_Report_Form_Grant_Statistics',
+          ],
+        ],
+        'Navigation_Grants' => [
+          'entity' => 'Navigation',
+          'values' => [
+            'name' => 'Grants',
+            'domain_id' => 'current_domain',
+          ],
+        ],
+        'Navigation_Grants_Navigation_Dashboard' => [
+          'entity' => 'Navigation',
+          'values' => [
+            'name' => 'Dashboard',
+            'url' => 'civicrm/grant?reset=1',
+            'domain_id' => 'current_domain',
+          ],
+        ],
+        'Navigation_Grants_Navigation_New_Grant' => [
+          'entity' => 'Navigation',
+          'values' => [
+            'name' => 'New Grant',
+            'url' => 'civicrm/grant/add?reset=1&action=add&context=standalone',
+            'domain_id' => 'current_domain',
+          ],
+        ],
+        'Navigation_Grants_Navigation_Find_Grants' => [
+          'entity' => 'Navigation',
+          'values' => [
+            'name' => 'Find Grants',
+            'url' => 'civicrm/grant/search?reset=1',
+            'domain_id' => 'current_domain',
+          ],
+        ],
+        'Navigation_CiviGrant' => [
+          'entity' => 'Navigation',
+          'values' => [
+            'name' => 'CiviGrant',
+            'domain_id' => 'current_domain',
+          ],
+        ],
+        'Navigation_CiviGrant_Navigation_Grant_Types' => [
+          'entity' => 'Navigation',
+          'values' => [
+            'name' => 'Grant Types',
+            'domain_id' => 'current_domain',
+          ],
+        ],
+        'Navigation_CiviGrant_Navigation_Grant_Status' => [
+          'entity' => 'Navigation',
+          'values' => [
+            'name' => 'Grant Status',
+            'domain_id' => 'current_domain',
+          ],
+        ],
+        'Navigation_Grants_Navigation_Grant_Reports' => [
+          'entity' => 'Navigation',
+          'values' => [
+            'name' => 'Grant Reports',
+            'domain_id' => 'current_domain',
+          ],
+        ],
+      ];
+      // Create an entry in civicrm_managed for each existing record that will be managed by the extension
+      foreach ($managedItems as $name => $item) {
+        $params = ['checkPermissions' => FALSE];
+        foreach ($item['values'] as $k => $v) {
+          $params['where'][] = [$k, '=', $v];
+        }
+        $record = civicrm_api4($item['entity'], 'get', $params)->first();
+        if ($record) {
+          $mgd = new CRM_Core_DAO_Managed();
+          $mgd->name = $name;
+          $mgd->module = 'civigrant';
+          $mgd->entity_type = $item['entity'];
+          if (!$mgd->find(TRUE)) {
+            $mgd->entity_id = $record['id'];
+            $mgd->cleanup = 'unused';
+            $mgd->save();
+          }
+          // Disable record if CiviGrant disabled
+          if (!$civiGrantEnabled && !empty($record['is_active'])) {
+            civicrm_api4($item['entity'], 'update', [
+              'checkPermissions' => FALSE,
+              'values' => ['id' => $record['id'], 'is_active' => FALSE],
+            ]);
+          }
+        }
+      }
+    }
+    return TRUE;
+  }
+
+  /**
+   * Set the timezone to the default for existing Events.
+   *
+   * @param \CRM_Queue_TaskContext $ctx
+   * @return bool
+   */
+  public static function setEventTZDefault(CRM_Queue_TaskContext $ctx) {
+    // Set default for CiviCRM Events to user system timezone (most reasonable default);
+    $defaultTZ = CRM_Core_Config::singleton()->userSystem->getTimeZoneString();
+    CRM_Core_DAO::executeQuery('UPDATE `civicrm_event` SET `event_tz` = %1 WHERE `event_tz` IS NULL;', [1 => [$defaultTZ, 'String']]);
+    return TRUE;
+  }
+
+}
diff --git a/civicrm/CRM/Upgrade/Incremental/php/FiveFortyThree.php b/civicrm/CRM/Upgrade/Incremental/php/FiveFortyThree.php
index 5262a52fc126645bdb1815ec079fe73d326c60b7..b1c0a42c7637906445ad078f816d22ffe6f94863 100644
--- a/civicrm/CRM/Upgrade/Incremental/php/FiveFortyThree.php
+++ b/civicrm/CRM/Upgrade/Incremental/php/FiveFortyThree.php
@@ -26,7 +26,7 @@ class CRM_Upgrade_Incremental_php_FiveFortyThree extends CRM_Upgrade_Incremental
    * @param null $currentVer
    */
   public function setPreUpgradeMessage(&$preUpgradeMessage, $rev, $currentVer = NULL): void {
-    if ($rev === '5.43.alpha1' && !empty(CRM_Core_Component::getEnabledComponents()['CiviCase'])) {
+    if ($rev === '5.43.alpha1' && CRM_Core_Component::isEnabled('CiviCase')) {
       $preUpgradeMessage .= '<p>' . ts('Minor changes have been made to how the tokens to render case.is_deleted, case.created_date and case.modified_date. See https://docs.civicrm.org/sysadmin/en/latest/upgrade/version-specific/ for more') . '</p>';
     }
   }
diff --git a/civicrm/CRM/Upgrade/Incremental/php/FiveThirteen.php b/civicrm/CRM/Upgrade/Incremental/php/FiveThirteen.php
index c898677d069bbb09f756d2a0e67091328b96e856..74fc0321bf8a50ab6748613930891afbf916f14f 100644
--- a/civicrm/CRM/Upgrade/Incremental/php/FiveThirteen.php
+++ b/civicrm/CRM/Upgrade/Incremental/php/FiveThirteen.php
@@ -23,9 +23,7 @@ class CRM_Upgrade_Incremental_php_FiveThirteen extends CRM_Upgrade_Incremental_B
    *   an intermediate version; note that setPostUpgradeMessage is called repeatedly with different $revs.
    */
   public function setPostUpgradeMessage(&$postUpgradeMessage, $rev) {
-    $config = CRM_Core_Config::singleton();
-    $campaignEnabled = in_array("CiviCampaign", $config->enableComponents);
-    if ($rev == '5.13.alpha1' && $campaignEnabled) {
+    if ($rev == '5.13.alpha1' && CRM_Core_Component::isEnabled('CiviCampaign')) {
       $postUpgradeMessage .= '<br /><br />' . ts("If you have created a report based on the Mailing Summary Report template and it outputs or filters on campaigns, You will need to go back to that report and re-save the report after selecting and or setting the campaign filters up again");
     }
   }
diff --git a/civicrm/CRM/Upgrade/Incremental/php/FiveTwenty.php b/civicrm/CRM/Upgrade/Incremental/php/FiveTwenty.php
index df77f052c8a16fce342b22af572f2b62a8013a34..1edbef463cd71e3cf98867c6cbbdb4f2ca6921f8 100644
--- a/civicrm/CRM/Upgrade/Incremental/php/FiveTwenty.php
+++ b/civicrm/CRM/Upgrade/Incremental/php/FiveTwenty.php
@@ -39,8 +39,7 @@ class CRM_Upgrade_Incremental_php_FiveTwenty extends CRM_Upgrade_Incremental_Bas
         ]);
       }
 
-      $config = CRM_Core_Config::singleton();
-      if (in_array('CiviCase', $config->enableComponents)) {
+      if (CRM_Core_Component::isEnabled('CiviCase')) {
         // Do dry-run to get warning messages.
         $messages = self::_changeCaseTypeLabelToName(TRUE);
         foreach ($messages as $message) {
@@ -62,8 +61,7 @@ class CRM_Upgrade_Incremental_php_FiveTwenty extends CRM_Upgrade_Incremental_Bas
       "tinyint(4) DEFAULT '0' COMMENT 'Shows this is a template for recurring contributions.'", FALSE, '5.20.alpha1');
     $this->addTask('Add order_reference field to civicrm_financial_trxn', 'addColumn', 'civicrm_financial_trxn', 'order_reference',
       "varchar(255) COMMENT 'Payment Processor external order reference'", FALSE, '5.20.alpha1');
-    $config = CRM_Core_Config::singleton();
-    if (in_array('CiviCase', $config->enableComponents)) {
+    if (CRM_Core_Component::isEnabled('CiviCase')) {
       $this->addTask('Change direction of autoassignees in case type xml', 'changeCaseTypeAutoassignee');
       $this->addTask('Change labels back to names in case type xml', 'changeCaseTypeLabelToName');
     }
@@ -118,8 +116,8 @@ class CRM_Upgrade_Incremental_php_FiveTwenty extends CRM_Upgrade_Incremental_Bas
   /**
    * Process a single case type
    *
-   * @param $caseTypeId int
-   * @param $definition string
+   * @param int $caseTypeId
+   * @param string $definition
    *   xml string
    */
   public static function processCaseTypeAutoassignee($caseTypeId, $definition) {
@@ -160,7 +158,7 @@ class CRM_Upgrade_Incremental_php_FiveTwenty extends CRM_Upgrade_Incremental_Bas
    * we're using this we don't care too much about the edge case where name
    * might not also be bidirectional.
    *
-   * @param $relationshipTypeId int
+   * @param int $relationshipTypeId
    *
    * @return bool
    */
@@ -190,7 +188,7 @@ class CRM_Upgrade_Incremental_php_FiveTwenty extends CRM_Upgrade_Incremental_Bas
    * ONLY for ones using database storage - don't want to "fork" case types
    * that aren't currently forked.
    *
-   * @param $isDryRun bool
+   * @param bool $isDryRun
    *   If TRUE then don't actually change anything just report warnings.
    *
    * @return array List of warning messages.
@@ -213,9 +211,9 @@ class CRM_Upgrade_Incremental_php_FiveTwenty extends CRM_Upgrade_Incremental_Bas
   /**
    * Process a single case type for _changeCaseTypeLabelToName()
    *
-   * @param $isDryRun bool
+   * @param bool $isDryRun
    *   If TRUE then don't actually change anything just report warnings.
-   * @param $caseTypeId int
+   * @param int $caseTypeId
    */
   private static function _processCaseTypeLabelName($isDryRun, $caseTypeId) {
     $messages = [];
@@ -326,9 +324,9 @@ class CRM_Upgrade_Incremental_php_FiveTwenty extends CRM_Upgrade_Incremental_Bas
    * If it's unidirectional, we can't convert it if there's an edge case
    * where there's another type that has the same label.
    *
-   * @param $relationshipType array
-   * @param $caseTypeName string
-   * @param $xmlRoleName string
+   * @param array $relationshipType
+   * @param string $caseTypeName
+   * @param string $xmlRoleName
    *
    * @return string|NULL
    */
diff --git a/civicrm/CRM/Upgrade/Incremental/php/Template.php b/civicrm/CRM/Upgrade/Incremental/php/Template.php
index 8400001ecfa6b54334108e09bb254bcbbe49dba6..4cefb200aabe404c8313232a1fcc7345f1d18809 100644
--- a/civicrm/CRM/Upgrade/Incremental/php/Template.php
+++ b/civicrm/CRM/Upgrade/Incremental/php/Template.php
@@ -22,7 +22,7 @@ echo "<?php\n";
  * If only a .tpl file exists for a version, it will be run automatically.
  * If the function exists, it must explicitly add the 'runSql' task if there is a corresponding .mysql.tpl.
  *
- * This class may also implement `setPreUpgradeMessage()` and `setPreUpgradeMessage()` functions.
+ * This class may also implement `setPreUpgradeMessage()` and `setPostUpgradeMessage()` functions.
  */
 class CRM_Upgrade_Incremental_php_<?php echo $camelNumber; ?> extends CRM_Upgrade_Incremental_Base {
 
diff --git a/civicrm/CRM/Upgrade/Incremental/sql/5.47.alpha1.mysql.tpl b/civicrm/CRM/Upgrade/Incremental/sql/5.47.alpha1.mysql.tpl
new file mode 100644
index 0000000000000000000000000000000000000000..3943ae4308730cf3cbce2c9841494f9078609f5a
--- /dev/null
+++ b/civicrm/CRM/Upgrade/Incremental/sql/5.47.alpha1.mysql.tpl
@@ -0,0 +1,31 @@
+{* file to handle db changes in 5.47.alpha1 during upgrade *}
+
+CREATE TABLE IF NOT EXISTS `civicrm_queue` (
+  `id` int unsigned NOT NULL AUTO_INCREMENT,
+  `name` varchar(64) NOT NULL COMMENT 'Name of the queue',
+  `type` varchar(64) NOT NULL COMMENT 'Type of the queue',
+  `is_autorun` tinyint COMMENT 'Should the standard background attempt to autorun tasks in this queue?',
+  PRIMARY KEY (`id`),
+  UNIQUE INDEX `UI_name`(name)
+)
+ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+UPDATE `civicrm_navigation` SET `is_active` = 0 WHERE `is_active` IS NULL;
+UPDATE `civicrm_navigation` SET `weight` = 0 WHERE `weight` IS NULL;
+ALTER TABLE `civicrm_navigation`
+  MODIFY COLUMN `is_active` tinyint NOT NULL DEFAULT 1 COMMENT 'Is this navigation item active?',
+  MODIFY COLUMN `weight` int NOT NULL DEFAULT 0 COMMENT 'Ordering of the navigation items in various blocks.';
+
+{* https://lab.civicrm.org/dev/core/-/issues/2122 *}
+UPDATE `civicrm_event` SET `start_date` = NULL WHERE `start_date` < 19700102;
+UPDATE `civicrm_event` SET `end_date` = NULL WHERE `end_date` < 19700102;
+UPDATE `civicrm_event` SET `registration_start_date` = NULL WHERE `registration_start_date` < 19700102;
+UPDATE `civicrm_event` SET `registration_end_date` = NULL WHERE `registration_end_date` < 19700102;
+ALTER TABLE `civicrm_event`
+  MODIFY COLUMN `start_date` timestamp NULL DEFAULT NULL COMMENT 'Date and time that event starts.',
+  MODIFY COLUMN `end_date` timestamp NULL DEFAULT NULL COMMENT 'Date and time that event ends. May be NULL if no defined end date/time',
+  MODIFY COLUMN `registration_start_date` timestamp NULL DEFAULT NULL COMMENT 'Date and time that online registration starts.',
+  MODIFY COLUMN `registration_end_date` timestamp NULL DEFAULT NULL COMMENT 'Date and time that online registration ends.';
+
+{* Ensure CustomGroup.name is unique *}
+UPDATE civicrm_custom_group g1, civicrm_custom_group g2 SET g1.name = CONCAT(g1.name, '_1') WHERE g1.name = g2.name AND g1.id > g2.id;
diff --git a/civicrm/CRM/Utils/Address.php b/civicrm/CRM/Utils/Address.php
index 5b8331ec6029ba27b00689eb25bc6237adca9e33..efba5738dc16b4462c8fd69753336463ccecb958 100644
--- a/civicrm/CRM/Utils/Address.php
+++ b/civicrm/CRM/Utils/Address.php
@@ -34,7 +34,7 @@ class CRM_Utils_Address {
    *   If true indicates, the address to be built in hcard-microformat standard.
    * @param bool $mailing
    *   If true indicates, the call has been made from mailing label.
-   * @param null $tokenFields
+   * @param string[] $tokenFields
    *
    * @return string
    *   formatted address string
@@ -265,7 +265,7 @@ class CRM_Utils_Address {
   }
 
   /**
-   * @param $format
+   * @param string $format
    *
    * @return array
    */
diff --git a/civicrm/CRM/Utils/Array.php b/civicrm/CRM/Utils/Array.php
index a4778fe2866e8e5133e29ab8d6f3a4b73bd06093..627e27d0c1c4041383bb3dad7a6c3f175ad66b54 100644
--- a/civicrm/CRM/Utils/Array.php
+++ b/civicrm/CRM/Utils/Array.php
@@ -109,8 +109,8 @@ class CRM_Utils_Array {
   /**
    * Recursively searches through a given array for all matches
    *
-   * @param $collection
-   * @param $predicate
+   * @param array|null $collection
+   * @param array|callable|string $predicate
    * @return array
    */
   public static function findAll($collection, $predicate) {
diff --git a/civicrm/CRM/Utils/Cache.php b/civicrm/CRM/Utils/Cache.php
index 6243a72bf3d89e446c669a9d2aada9e6d9e47afa..1497d323d939b8ae656b4b04c2f13e6eca7373e9 100644
--- a/civicrm/CRM/Utils/Cache.php
+++ b/civicrm/CRM/Utils/Cache.php
@@ -65,7 +65,7 @@ class CRM_Utils_Cache {
   /**
    * Get cache relevant settings.
    *
-   * @param $cachePlugin
+   * @param string $cachePlugin
    *
    * @return array
    *   associative array of settings for the cache
diff --git a/civicrm/CRM/Utils/Cache/SqlGroup.php b/civicrm/CRM/Utils/Cache/SqlGroup.php
index 8d0205a8e666d42d601c1440a307c301bc1b91ce..84618bd26358d589a0ed12e407f28668a8cf9803 100644
--- a/civicrm/CRM/Utils/Cache/SqlGroup.php
+++ b/civicrm/CRM/Utils/Cache/SqlGroup.php
@@ -185,7 +185,7 @@ class CRM_Utils_Cache_SqlGroup implements CRM_Utils_Cache_Interface {
 
   /**
    * @param string $key
-   * @param null $default
+   * @param mixed $default
    *
    * @return mixed
    */
diff --git a/civicrm/CRM/Utils/Chart.php b/civicrm/CRM/Utils/Chart.php
index 9a5b90a71c51a9571f6239170e60f1dcc03f123c..ff74cf8fbfdfe6564921801b0597874e17989e43 100644
--- a/civicrm/CRM/Utils/Chart.php
+++ b/civicrm/CRM/Utils/Chart.php
@@ -21,26 +21,7 @@
 class CRM_Utils_Chart {
 
   /**
-   * Colours.
-   * @var array
-   */
-  private static $_colours = [
-    "#C3CC38",
-    "#C8B935",
-    "#CEA632",
-    "#D3932F",
-    "#D9802C",
-    "#FA6900",
-    "#DC9B57",
-    "#F78F01",
-    "#5AB56E",
-    "#6F8069",
-    "#C92200",
-    "#EB6C5C",
-  ];
-
-  /**
-   * Build The Bar Gharph.
+   * Build The Bar Graph.
    *
    * @param array $params
    *   Assoc array of name/value pairs.
@@ -145,9 +126,9 @@ class CRM_Utils_Chart {
   }
 
   /**
-   * @param $rows
-   * @param $chart
-   * @param $interval
+   * @param array $rows
+   * @param string $chart
+   * @param string $interval
    *
    * @return array
    */
@@ -229,10 +210,10 @@ class CRM_Utils_Chart {
   }
 
   /**
-   * @param $rows
-   * @param $chart
-   * @param $interval
-   * @param $chartInfo
+   * @param array $rows
+   * @param string $chart
+   * @param array $interval
+   * @param array $chartInfo
    *
    * @return array
    */
@@ -270,7 +251,7 @@ class CRM_Utils_Chart {
 
   /**
    * @param array $params
-   * @param $chart
+   * @param string $chart
    *
    * @return array
    */
diff --git a/civicrm/CRM/Utils/Check.php b/civicrm/CRM/Utils/Check.php
index 618b332b7b3f0fcdae40b76339a8c6babe4fc445..08dd65b5beb5d3f0b9de15a6f57ff53d0e26d247 100644
--- a/civicrm/CRM/Utils/Check.php
+++ b/civicrm/CRM/Utils/Check.php
@@ -146,7 +146,7 @@ class CRM_Utils_Check {
   /**
    * Throw an exception if any of the checks fail.
    *
-   * @param array|NULL $messages
+   * @param array|null $messages
    *   [CRM_Utils_Check_Message]
    * @param string $threshold
    *
diff --git a/civicrm/CRM/Utils/Check/Component/Env.php b/civicrm/CRM/Utils/Check/Component/Env.php
index 9324a631256f236e21737d7debcdd472f67999c4..064f5f01229570988121fe7756b269508d9c87c8 100644
--- a/civicrm/CRM/Utils/Check/Component/Env.php
+++ b/civicrm/CRM/Utils/Check/Component/Env.php
@@ -251,9 +251,7 @@ class CRM_Utils_Check_Component_Env extends CRM_Utils_Check_Component {
       return $messages;
     }
 
-    $config = CRM_Core_Config::singleton();
-
-    if (in_array('CiviMail', $config->enableComponents) &&
+    if (CRM_Core_Component::isEnabled('CiviMail') &&
       CRM_Core_BAO_MailSettings::defaultDomain() == "EXAMPLE.ORG"
     ) {
       $message = new CRM_Utils_Check_Message(
@@ -1044,4 +1042,26 @@ class CRM_Utils_Check_Component_Env extends CRM_Utils_Check_Component {
     return $messages;
   }
 
+  /**
+   * Ensure that the CMS is providing a supported timezone.
+   *
+   * @return CRM_Utils_Check_Message[]
+   */
+  public function checkUFTimezoneValid() {
+    $messages = [];
+    $check_tz = CRM_Core_Config::singleton()->userSystem->getTimeZoneString();
+
+    if (!array_key_exists($check_tz, CRM_Core_SelectValues::timezone())) {
+      $messages[] = new CRM_Utils_Check_Message(
+        __FUNCTION__,
+        ts('This system has an invalid timezone set. Please verify that your CMS has a timezone configured that is listed under the <a href="%1">PHP List of Supported Timezones</a>.', [1 => 'https://www.php.net/manual/en/timezones.php']),
+        ts('Missing or Invalid Timezone'),
+        \Psr\Log\LogLevel::ERROR,
+        'fa-clock-o'
+      );
+    }
+
+    return $messages;
+  }
+
 }
diff --git a/civicrm/CRM/Utils/Check/Component/Event.php b/civicrm/CRM/Utils/Check/Component/Event.php
new file mode 100644
index 0000000000000000000000000000000000000000..1ac9f94d26d687a5af3ddf43f8eb5f4333d724ac
--- /dev/null
+++ b/civicrm/CRM/Utils/Check/Component/Event.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * @package CRM
+ */
+class CRM_Utils_Check_Component_Event extends CRM_Utils_Check_Component {
+
+  /**
+   * Check events have timezone set.
+   *
+   * @return CRM_Utils_Check_Message[]
+   * @throws \API_Exception
+   */
+  public function checkTimezones() {
+    $messages = [];
+
+    try {
+      $count = \Civi\Api4\Event::get(FALSE)
+        ->selectRowCount()
+        ->addWhere('event_tz', 'IS EMPTY')
+        ->execute()
+        ->rowCount;
+
+      if ($count) {
+        $msg = new CRM_Utils_Check_Message(
+          __FUNCTION__,
+          '<p>' . ts('%count Event has no timezone set', ['count' => $count, 'plural' => '%count Events have no timezone set.']) . '</p>',
+          ts('Events with Missing Timezone'),
+          \Psr\Log\LogLevel::WARNING,
+          'fa-calendar'
+        );
+        $msg->addAction(
+          ts('Fix Events with Missing Timezone'),
+          ts('This will set the system default timezone "%1" for all Events with no timezone set.', [1 => CRM_Core_Config::singleton()->userSystem->getTimeZoneString()]),
+          'api3',
+          ['Event', 'addMissingTimezones']
+        );
+        $messages[] = $msg;
+      }
+    }
+    catch (API_Exception $e) {
+      $messages[] = new CRM_Utils_Check_Message(
+        __FUNCTION__,
+        ts('API Exception: %1 while checking events for timezones.', ['1' => $e->getMessage()]),
+        ts('Event timezone check failed'),
+        \Psr\Log\LogLevel::ERROR,
+        'fa-calendar'
+      );
+    }
+
+    return $messages;
+  }
+
+}
diff --git a/civicrm/CRM/Utils/Check/Component/Security.php b/civicrm/CRM/Utils/Check/Component/Security.php
index 2036e1b01526df32c86235f65445f484726116a4..e6ce5a07096a5d9e8dbd1951d91ef59290e4f2bd 100644
--- a/civicrm/CRM/Utils/Check/Component/Security.php
+++ b/civicrm/CRM/Utils/Check/Component/Security.php
@@ -362,7 +362,7 @@ class CRM_Utils_Check_Component_Security extends CRM_Utils_Check_Component {
   }
 
   /**
-   * @param $topic
+   * @param string $topic
    *
    * @return string
    */
diff --git a/civicrm/CRM/Utils/Check/Message.php b/civicrm/CRM/Utils/Check/Message.php
index e0a7d51d7b308c53d5b2ad7638ef50c376737b18..770d14d3eaf0b2f0ef68ec8de57b74976be38c79 100644
--- a/civicrm/CRM/Utils/Check/Message.php
+++ b/civicrm/CRM/Utils/Check/Message.php
@@ -149,7 +149,7 @@ class CRM_Utils_Check_Message {
    *
    * @param string $title
    *   Text displayed on the status message as a link or button.
-   * @param string $confirmation
+   * @param string|false $confirmation
    *   Optional confirmation message before performing action
    * @param string $type
    *   Currently supports: api3 or href
diff --git a/civicrm/CRM/Utils/Color.php b/civicrm/CRM/Utils/Color.php
index 35e99371327f5dc472380616642b96df115e2211..e7a231b7eac6ca0172629df48042da63c74b9601 100644
--- a/civicrm/CRM/Utils/Color.php
+++ b/civicrm/CRM/Utils/Color.php
@@ -74,7 +74,7 @@ class CRM_Utils_Color {
   /**
    * Calculate a highlight color from a base color
    *
-   * @param $color
+   * @param string $color
    * @return string
    */
   public static function getHighlight($color) {
@@ -96,7 +96,7 @@ class CRM_Utils_Color {
   /**
    * Convert named color (e.g. springgreen) to hex
    *
-   * @param $colorName
+   * @param string $colorName
    * @return string|null
    */
   public static function nameToHex($colorName) {
diff --git a/civicrm/CRM/Utils/Date.php b/civicrm/CRM/Utils/Date.php
index d2a7bab78daaa66d81e460af5e209bfb1a71d886..b050ace270347e45c9f6b338ccfe64c8eff6aa18 100644
--- a/civicrm/CRM/Utils/Date.php
+++ b/civicrm/CRM/Utils/Date.php
@@ -267,7 +267,7 @@ class CRM_Utils_Date {
   }
 
   /**
-   * @param $string
+   * @param string $string
    *
    * @return int
    */
@@ -540,8 +540,6 @@ class CRM_Utils_Date {
    */
   public static function convertToDefaultDate(&$params, $dateType, $dateParam) {
     $now = getdate();
-    $cen = substr($now['year'], 0, 2);
-    $prevCen = $cen - 1;
 
     $value = NULL;
     if (!empty($params[$dateParam])) {
@@ -693,15 +691,15 @@ class CRM_Utils_Date {
     $month = ($month < 10) ? "0" . "$month" : $month;
     $day = ($day < 10) ? "0" . "$day" : $day;
 
-    $year = (int ) $year;
-    // simple heuristic to determine what century to use
-    // 00 - 20 is always 2000 - 2020
-    // 21 - 99 is always 1921 - 1999
-    if ($year < 21) {
-      $year = (strlen($year) == 1) ? $cen . '0' . $year : $cen . $year;
-    }
-    elseif ($year < 100) {
-      $year = $prevCen . $year;
+    $year = (int) $year;
+    if ($year < 100) {
+      $year = substr($now['year'], 0, 2) * 100 + $year;
+      if ($year > ($now['year'] + 5)) {
+        $year = $year - 100;
+      }
+      elseif ($year <= ($now['year'] - 95)) {
+        $year = $year + 100;
+      }
     }
 
     if ($params[$dateParam]) {
@@ -714,22 +712,10 @@ class CRM_Utils_Date {
     return FALSE;
   }
 
-  /**
-   * @param $date
-   *
-   * @return bool
-   */
-  public static function isDate(&$date) {
-    if (CRM_Utils_System::isNull($date)) {
-      return FALSE;
-    }
-    return TRUE;
-  }
-
   /**
    * Translate a TTL to a concrete expiration time.
    *
-   * @param NULL|int|DateInterval $ttl
+   * @param null|int|DateInterval $ttl
    * @param int $default
    *   The value to use if $ttl is not specified (NULL).
    * @return int
@@ -755,7 +741,7 @@ class CRM_Utils_Date {
   /**
    * Normalize a TTL.
    *
-   * @param NULL|int|DateInterval $ttl
+   * @param null|int|DateInterval $ttl
    * @param int $default
    *   The value to use if $ttl is not specified (NULL).
    * @return int
@@ -778,7 +764,7 @@ class CRM_Utils_Date {
   }
 
   /**
-   * @param null $timeStamp
+   * @param int|false|null $timeStamp
    *
    * @return bool|string
    */
@@ -913,7 +899,7 @@ class CRM_Utils_Date {
    * @param date $targetDate
    *   Target Date. (show age on specific date)
    *
-   * @return int
+   * @return array
    *   array $results contains years or months
    */
   public static function calculateAge($birthDate, $targetDate = NULL) {
@@ -2229,4 +2215,72 @@ class CRM_Utils_Date {
     return $dateObject->format($format);
   }
 
+  /**
+   * Convert a date string between time zones
+   *
+   * @param string $date - date string using $format
+   * @param string $tz_to - new time zone for date
+   * @param string $tz_from - current time zone for date
+   * @param string $format - format string specification as per DateTime::createFromFormat; defaults to 'Y-m-d H:i:s'
+   *
+   * @throws \CRM_Core_Exception
+   *
+   * @return string;
+   */
+  public static function convertTimeZone(string $date, string $tz_to = NULL, string $tz_from = NULL, $format = NULL) {
+    if (!$tz_from) {
+      $tz_from = CRM_Core_Config::singleton()->userSystem->getTimeZoneString();
+    }
+    if (!$tz_to) {
+      $tz_to = CRM_Core_Config::singleton()->userSystem->getTimeZoneString();
+    }
+
+    // Return early if both timezones are the same.
+    if ($tz_from == $tz_to) {
+      return $date;
+    }
+
+    $tz_from = new DateTimeZone($tz_from);
+    $tz_to = new DateTimeZone($tz_to);
+
+    if (is_null($format)) {
+      // Detect "mysql" format dates and adjust format accordingly
+      $format = preg_match('/^(\d{4})(\d{2}){0,5}$/', $date, $m) ? 'YmdHis' : 'Y-m-d H:i:s';
+    }
+
+    try {
+      $date_object = DateTime::createFromFormat('!' . $format, $date, $tz_from);
+      $dt_errors = DateTime::getLastErrors();
+
+      if (!$date_object) {
+        Civi::log()->warning(ts('Attempted to convert time zone with incorrect date format %1', ['%1' => $date]));
+
+        $dt_errors = DateTime::getLastErrors();
+
+        $date_object = new DateTime($date, $tz_from);
+      }
+      elseif ($dt_errors['warning_count'] && array_intersect($dt_errors['warnings'], ['The parsed date was invalid'])) {
+        throw new Exception('The parsed date was invalid');
+      }
+
+      $date_object->setTimezone($tz_to);
+
+      return $date_object->format($format);
+    }
+    catch (Exception $e) {
+      if ($dt_errors['error_count'] || $dt_errors['warning_count']) {
+        throw new CRM_Core_Exception(ts(
+          'Failed to parse date with %1 errors and %2 warnings',
+          [
+            '%1' => $dt_errors['error_count'],
+            '%2' => $dt_errors['warning_count'],
+          ]
+        ), 0, ['format' => $format, 'date' => $date] + $dt_errors);
+      }
+      else {
+        throw $e;
+      }
+    }
+  }
+
 }
diff --git a/civicrm/CRM/Utils/DeprecatedUtils.php b/civicrm/CRM/Utils/DeprecatedUtils.php
index d7e4fcbce7bee36d5f1fc442ab424df94b185b62..f2b718c06d2bb25851c61b0a6008939a862a6fe9 100644
--- a/civicrm/CRM/Utils/DeprecatedUtils.php
+++ b/civicrm/CRM/Utils/DeprecatedUtils.php
@@ -24,350 +24,6 @@
 
 require_once 'api/v3/utils.php';
 
-/**
- * This function adds the contact variable in $values to the
- * parameter list $params.  For most cases, $values should have length 1.  If
- * the variable being added is a child of Location, a location_type_id must
- * also be included.  If it is a child of phone, a phone_type must be included.
- *
- * @param array $values
- *   The variable(s) to be added.
- * @param array $params
- *   The structured parameter list.
- *
- * @return bool|CRM_Utils_Error
- */
-function _civicrm_api3_deprecated_add_formatted_param(&$values, &$params) {
-  // Crawl through the possible classes:
-  // Contact
-  //      Individual
-  //      Household
-  //      Organization
-  //          Location
-  //              Address
-  //              Email
-  //              Phone
-  //              IM
-  //      Note
-  //      Custom
-
-  // Cache the various object fields
-  static $fields = NULL;
-
-  if ($fields == NULL) {
-    $fields = [];
-  }
-
-  // first add core contact values since for other Civi modules they are not added
-  require_once 'CRM/Contact/BAO/Contact.php';
-  $contactFields = CRM_Contact_DAO_Contact::fields();
-  _civicrm_api3_store_values($contactFields, $values, $params);
-
-  if (isset($values['contact_type'])) {
-    // we're an individual/household/org property
-
-    $fields[$values['contact_type']] = CRM_Contact_DAO_Contact::fields();
-
-    _civicrm_api3_store_values($fields[$values['contact_type']], $values, $params);
-    return TRUE;
-  }
-
-  if (isset($values['individual_prefix'])) {
-    if (!empty($params['prefix_id'])) {
-      $prefixes = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'prefix_id');
-      $params['prefix'] = $prefixes[$params['prefix_id']];
-    }
-    else {
-      $params['prefix'] = $values['individual_prefix'];
-    }
-    return TRUE;
-  }
-
-  if (isset($values['individual_suffix'])) {
-    if (!empty($params['suffix_id'])) {
-      $suffixes = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'suffix_id');
-      $params['suffix'] = $suffixes[$params['suffix_id']];
-    }
-    else {
-      $params['suffix'] = $values['individual_suffix'];
-    }
-    return TRUE;
-  }
-
-  // CRM-4575
-  if (isset($values['email_greeting'])) {
-    if (!empty($params['email_greeting_id'])) {
-      $emailGreetingFilter = [
-        'contact_type' => $params['contact_type'] ?? NULL,
-        'greeting_type' => 'email_greeting',
-      ];
-      $emailGreetings = CRM_Core_PseudoConstant::greeting($emailGreetingFilter);
-      $params['email_greeting'] = $emailGreetings[$params['email_greeting_id']];
-    }
-    else {
-      $params['email_greeting'] = $values['email_greeting'];
-    }
-
-    return TRUE;
-  }
-
-  if (isset($values['postal_greeting'])) {
-    if (!empty($params['postal_greeting_id'])) {
-      $postalGreetingFilter = [
-        'contact_type' => $params['contact_type'] ?? NULL,
-        'greeting_type' => 'postal_greeting',
-      ];
-      $postalGreetings = CRM_Core_PseudoConstant::greeting($postalGreetingFilter);
-      $params['postal_greeting'] = $postalGreetings[$params['postal_greeting_id']];
-    }
-    else {
-      $params['postal_greeting'] = $values['postal_greeting'];
-    }
-    return TRUE;
-  }
-
-  if (isset($values['addressee'])) {
-    $params['addressee'] = $values['addressee'];
-    return TRUE;
-  }
-
-  if (isset($values['gender'])) {
-    if (!empty($params['gender_id'])) {
-      $genders = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'gender_id');
-      $params['gender'] = $genders[$params['gender_id']];
-    }
-    else {
-      $params['gender'] = $values['gender'];
-    }
-    return TRUE;
-  }
-
-  if (!empty($values['preferred_communication_method'])) {
-    $comm = [];
-    $pcm = array_change_key_case(array_flip(CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'preferred_communication_method')), CASE_LOWER);
-
-    $preffComm = explode(',', $values['preferred_communication_method']);
-    foreach ($preffComm as $v) {
-      $v = strtolower(trim($v));
-      if (array_key_exists($v, $pcm)) {
-        $comm[$pcm[$v]] = 1;
-      }
-    }
-
-    $params['preferred_communication_method'] = $comm;
-    return TRUE;
-  }
-
-  // format the website params.
-  if (!empty($values['url'])) {
-    static $websiteFields;
-    if (!is_array($websiteFields)) {
-      require_once 'CRM/Core/DAO/Website.php';
-      $websiteFields = CRM_Core_DAO_Website::fields();
-    }
-    if (!array_key_exists('website', $params) ||
-      !is_array($params['website'])
-    ) {
-      $params['website'] = [];
-    }
-
-    $websiteCount = count($params['website']);
-    _civicrm_api3_store_values($websiteFields, $values,
-      $params['website'][++$websiteCount]
-    );
-
-    return TRUE;
-  }
-
-  // get the formatted location blocks into params - w/ 3.0 format, CRM-4605
-  if (!empty($values['location_type_id'])) {
-    static $fields = NULL;
-    if ($fields == NULL) {
-      $fields = [];
-    }
-
-    foreach ([
-      'Phone',
-      'Email',
-      'IM',
-      'OpenID',
-      'Phone_Ext',
-    ] as $block) {
-      $name = strtolower($block);
-      if (!array_key_exists($name, $values)) {
-        continue;
-      }
-
-      if ($name == 'phone_ext') {
-        $block = 'Phone';
-      }
-
-      // block present in value array.
-      if (!array_key_exists($name, $params) || !is_array($params[$name])) {
-        $params[$name] = [];
-      }
-
-      if (!array_key_exists($block, $fields)) {
-        $className = "CRM_Core_DAO_$block";
-        $fields[$block] =& $className::fields();
-      }
-
-      $blockCnt = count($params[$name]);
-
-      // copy value to dao field name.
-      if ($name == 'im') {
-        $values['name'] = $values[$name];
-      }
-
-      _civicrm_api3_store_values($fields[$block], $values,
-        $params[$name][++$blockCnt]
-      );
-
-      if (empty($params['id']) && ($blockCnt == 1)) {
-        $params[$name][$blockCnt]['is_primary'] = TRUE;
-      }
-
-      // we only process single block at a time.
-      return TRUE;
-    }
-
-    // handle address fields.
-    if (!array_key_exists('address', $params) || !is_array($params['address'])) {
-      $params['address'] = [];
-    }
-
-    $addressCnt = 1;
-    foreach ($params['address'] as $cnt => $addressBlock) {
-      if (CRM_Utils_Array::value('location_type_id', $values) ==
-        CRM_Utils_Array::value('location_type_id', $addressBlock)
-      ) {
-        $addressCnt = $cnt;
-        break;
-      }
-      $addressCnt++;
-    }
-
-    if (!array_key_exists('Address', $fields)) {
-      $fields['Address'] = CRM_Core_DAO_Address::fields();
-    }
-
-    // Note: we doing multiple value formatting here for address custom fields, plus putting into right format.
-    // The actual formatting (like date, country ..etc) for address custom fields is taken care of while saving
-    // the address in CRM_Core_BAO_Address::create method
-    if (!empty($values['location_type_id'])) {
-      static $customFields = [];
-      if (empty($customFields)) {
-        $customFields = CRM_Core_BAO_CustomField::getFields('Address');
-      }
-      // make a copy of values, as we going to make changes
-      $newValues = $values;
-      foreach ($values as $key => $val) {
-        $customFieldID = CRM_Core_BAO_CustomField::getKeyID($key);
-        if ($customFieldID && array_key_exists($customFieldID, $customFields)) {
-          // mark an entry in fields array since we want the value of custom field to be copied
-          $fields['Address'][$key] = NULL;
-
-          $htmlType = $customFields[$customFieldID]['html_type'] ?? NULL;
-          if (CRM_Core_BAO_CustomField::isSerialized($customFields[$customFieldID]) && $val) {
-            $mulValues = explode(',', $val);
-            $customOption = CRM_Core_BAO_CustomOption::getCustomOption($customFieldID, TRUE);
-            $newValues[$key] = [];
-            foreach ($mulValues as $v1) {
-              foreach ($customOption as $v2) {
-                if ((strtolower($v2['label']) == strtolower(trim($v1))) ||
-                  (strtolower($v2['value']) == strtolower(trim($v1)))
-                ) {
-                  if ($htmlType == 'CheckBox') {
-                    $newValues[$key][$v2['value']] = 1;
-                  }
-                  else {
-                    $newValues[$key][] = $v2['value'];
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-      // consider new values
-      $values = $newValues;
-    }
-
-    _civicrm_api3_store_values($fields['Address'], $values, $params['address'][$addressCnt]);
-
-    $addressFields = [
-      'county',
-      'country',
-      'state_province',
-      'supplemental_address_1',
-      'supplemental_address_2',
-      'supplemental_address_3',
-      'StateProvince.name',
-    ];
-
-    foreach ($addressFields as $field) {
-      if (array_key_exists($field, $values)) {
-        if (!array_key_exists('address', $params)) {
-          $params['address'] = [];
-        }
-        $params['address'][$addressCnt][$field] = $values[$field];
-      }
-    }
-
-    if ($addressCnt == 1) {
-
-      $params['address'][$addressCnt]['is_primary'] = TRUE;
-    }
-    return TRUE;
-  }
-
-  if (isset($values['note'])) {
-    // add a note field
-    if (!isset($params['note'])) {
-      $params['note'] = [];
-    }
-    $noteBlock = count($params['note']) + 1;
-
-    $params['note'][$noteBlock] = [];
-    if (!isset($fields['Note'])) {
-      $fields['Note'] = CRM_Core_DAO_Note::fields();
-    }
-
-    // get the current logged in civicrm user
-    $session = CRM_Core_Session::singleton();
-    $userID = $session->get('userID');
-
-    if ($userID) {
-      $values['contact_id'] = $userID;
-    }
-
-    _civicrm_api3_store_values($fields['Note'], $values, $params['note'][$noteBlock]);
-
-    return TRUE;
-  }
-
-  // Check for custom field values
-
-  if (empty($fields['custom'])) {
-    $fields['custom'] = &CRM_Core_BAO_CustomField::getFields(CRM_Utils_Array::value('contact_type', $values),
-      FALSE, FALSE, NULL, NULL, FALSE, FALSE, FALSE
-    );
-  }
-
-  foreach ($values as $key => $value) {
-    if ($customFieldID = CRM_Core_BAO_CustomField::getKeyID($key)) {
-      // check if it's a valid custom field id
-
-      if (!array_key_exists($customFieldID, $fields['custom'])) {
-        return civicrm_api3_create_error('Invalid custom field ID');
-      }
-      else {
-        $params[$key] = $value;
-      }
-    }
-  }
-}
-
 /**
  *
  * @param array $params
diff --git a/civicrm/CRM/Utils/File.php b/civicrm/CRM/Utils/File.php
index dbdcca1608e8f8a11b7709323855d515a3b1cef9..cdda9aa217a92b69825e989ce6e87e445bf08ec7 100644
--- a/civicrm/CRM/Utils/File.php
+++ b/civicrm/CRM/Utils/File.php
@@ -293,7 +293,7 @@ class CRM_Utils_File {
   }
 
   /**
-   * @param string|NULL $dsn
+   * @param string|null $dsn
    *   Use NULL to load the default/active connection from CRM_Core_DAO.
    *   Otherwise, give a full DSN string.
    * @param string $fileName
@@ -312,7 +312,7 @@ class CRM_Utils_File {
 
   /**
    *
-   * @param string|NULL $dsn
+   * @param string|null $dsn
    * @param string $queryString
    * @param string $prefix
    * @param bool $dieOnErrors
@@ -377,7 +377,7 @@ class CRM_Utils_File {
   }
 
   /**
-   * @param $ext
+   * @param string $ext
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Utils/Hook.php b/civicrm/CRM/Utils/Hook.php
index 641e28c4e2ebc9ea6520a4edc538b7920d3563f8..a9679480a0c1d101502309dea4938a5fc619929c 100644
--- a/civicrm/CRM/Utils/Hook.php
+++ b/civicrm/CRM/Utils/Hook.php
@@ -331,7 +331,7 @@ abstract class CRM_Utils_Hook {
    *   The type of operation being performed.
    * @param string $objectName
    *   The name of the object.
-   * @param int $id
+   * @param int|null $id
    *   The object id if available.
    * @param array $params
    *   The parameters used for object creation / editing.
@@ -2361,12 +2361,12 @@ abstract class CRM_Utils_Hook {
    * Issue CRM-14276
    * Add a hook for altering the display name
    *
-   * hook_civicrm_contact_get_displayname(&$display_name, $objContact)
+   * hook_civicrm_contact_get_displayname(&$display_name, $contactId, $dao)
    *
    * @param string $displayName
    * @param int $contactId
-   * @param object $dao
-   *   The contact object.
+   * @param CRM_Core_DAO $dao
+   *   A DAO object containing contact fields + primary email field as "email".
    *
    * @return mixed
    */
@@ -2589,11 +2589,8 @@ abstract class CRM_Utils_Hook {
    * inserted in civicrm_financial_trxn table
    *
    * @param array $deferredRevenues
-   *
-   * @param array $contributionDetails
-   *
+   * @param CRM_Contribute_BAO_Contribution $contributionDetails
    * @param bool $update
-   *
    * @param string $context
    *
    * @return mixed
diff --git a/civicrm/CRM/Utils/HttpClient.php b/civicrm/CRM/Utils/HttpClient.php
index 0286c4f793263d50225ab2106091b1d7881bff8f..3a34e18970c665a5c3b3e68a6871ec71863c27f0 100644
--- a/civicrm/CRM/Utils/HttpClient.php
+++ b/civicrm/CRM/Utils/HttpClient.php
@@ -48,7 +48,8 @@ class CRM_Utils_HttpClient {
   }
 
   /**
-   * @param null $connectionTimeout
+   * @param int|null $connectionTimeout
+   *   seconds; or NULL to use system default
    */
   public function __construct($connectionTimeout = NULL) {
     $this->connectionTimeout = $connectionTimeout;
diff --git a/civicrm/CRM/Utils/ICalendar.php b/civicrm/CRM/Utils/ICalendar.php
index 3e2d0a84e34966c1915795b019ee9cc5a9b4b676..7eee09c9ebc777a001860a5c3061e281c6aece5a 100644
--- a/civicrm/CRM/Utils/ICalendar.php
+++ b/civicrm/CRM/Utils/ICalendar.php
@@ -61,7 +61,7 @@ class CRM_Utils_ICalendar {
   /**
    * Escape date elements for safe ICalendar use.
    *
-   * @param $date
+   * @param string $date
    *   Date to escape.
    *
    * @param bool $gdata
diff --git a/civicrm/CRM/Utils/JS.php b/civicrm/CRM/Utils/JS.php
index dbb5644a0988be4b5e218231977216ced1760182..27c4d4524525724a1d52b16eb9941e8da45d9b60 100644
--- a/civicrm/CRM/Utils/JS.php
+++ b/civicrm/CRM/Utils/JS.php
@@ -218,7 +218,7 @@ class CRM_Utils_JS {
    *   'bar' => 'function() {return "bar";}',
    * ]
    *
-   * @param $js
+   * @param string $js
    * @return array
    * @throws Exception
    */
diff --git a/civicrm/CRM/Utils/Mail.php b/civicrm/CRM/Utils/Mail.php
index 2043f9494dfb6f58cbbd9d46e8737700444e1bd0..beb0ad3263b8116ebcb3515a4a3b34097a778358 100644
--- a/civicrm/CRM/Utils/Mail.php
+++ b/civicrm/CRM/Utils/Mail.php
@@ -159,6 +159,7 @@ class CRM_Utils_Mail {
    *   fullPath : complete pathname to the file
    *   mime_type: mime type of the attachment
    *   cleanName: the user friendly name of the attachmment
+   * contactId : contact id to send the email to (optional)
    *
    * @param array $params
    *   (by reference).
@@ -183,14 +184,20 @@ class CRM_Utils_Mail {
       return FALSE;
     }
 
-    $textMessage = $params['text'] ?? NULL;
-    $htmlMessage = $params['html'] ?? NULL;
-    $attachments = $params['attachments'] ?? NULL;
-
-    // CRM-6224
-    if (trim(CRM_Utils_String::htmlToText($htmlMessage)) == '') {
+    $htmlMessage = $params['html'] ?? FALSE;
+    if (trim(CRM_Utils_String::htmlToText((string) $htmlMessage)) === '') {
       $htmlMessage = FALSE;
     }
+    $attachments = $params['attachments'] ?? NULL;
+    if (!empty($params['text'])) {
+      $textMessage = $params['text'];
+    }
+    else {
+      $textMessage = CRM_Utils_String::htmlToText($htmlMessage);
+      // Render the &amp; entities in text mode, so that the links work.
+      // This is copied from the Action Schedule send code.
+      $textMessage = str_replace('&amp;', '&', $textMessage);
+    }
 
     $headers = [];
     // CRM-10699 support custom email headers
@@ -436,7 +443,7 @@ class CRM_Utils_Mail {
 
   /**
    * @param string $name
-   * @param $email
+   * @param string $email
    * @param bool $useQuote
    *
    * @return null|string
diff --git a/civicrm/CRM/Utils/Mail/Incoming.php b/civicrm/CRM/Utils/Mail/Incoming.php
index cf2f7978b1291fc8821d0548851df983a40a4827..77b2c020cc94a415d6d614cc02ddf4e1cfbf708a 100644
--- a/civicrm/CRM/Utils/Mail/Incoming.php
+++ b/civicrm/CRM/Utils/Mail/Incoming.php
@@ -76,7 +76,7 @@ class CRM_Utils_Mail_Incoming {
       return NULL;
     }
 
-    return self::formatMailUnrecognisedPart($part);
+    return self::formatUnrecognisedPart($part);
   }
 
   /**
@@ -110,7 +110,7 @@ class CRM_Utils_Mail_Incoming {
       return self::formatMailDeliveryStatus($part);
     }
 
-    return self::formatMailUnrecognisedPart($part);
+    return self::formatUnrecognisedPart($part);
   }
 
   /**
@@ -452,7 +452,8 @@ class CRM_Utils_Mail_Incoming {
     $contactID = NULL;
     if ($dao) {
       $contactID = $dao->contact_id;
-    } else {
+    }
+    else {
       $dao = CRM_Contact_BAO_Contact::matchContactOnEmail($email, 'Organization');
 
       if ($dao) {
diff --git a/civicrm/CRM/Utils/Mail/Logger.php b/civicrm/CRM/Utils/Mail/Logger.php
index 453554eddd413efd27f33e7d8e0fa1286a096428..7290609c21a1e4894afde4db50e660d4f807f7a1 100644
--- a/civicrm/CRM/Utils/Mail/Logger.php
+++ b/civicrm/CRM/Utils/Mail/Logger.php
@@ -40,9 +40,9 @@ class CRM_Utils_Mail_Logger {
   }
 
   /**
-   * @param $to
-   * @param $headers
-   * @param $message
+   * @param string|string[] $to
+   * @param string[] $headers
+   * @param string $message
    */
   public static function log(&$to, &$headers, &$message) {
     if (is_array($to)) {
diff --git a/civicrm/CRM/Utils/Migrate/Export.php b/civicrm/CRM/Utils/Migrate/Export.php
index 9e88893bd13ce140ba2b94d70b5f60d6c48f942c..60f5724eb24b6f6d34265e04063467323918cb80 100644
--- a/civicrm/CRM/Utils/Migrate/Export.php
+++ b/civicrm/CRM/Utils/Migrate/Export.php
@@ -383,7 +383,7 @@ class CRM_Utils_Migrate_Export {
   /**
    * @param string $groupName
    * @param string $daoName
-   * @param null $sql
+   * @param string $sql
    */
   public function fetch($groupName, $daoName, $sql = NULL) {
     $idNameFields = $this->_xml[$groupName]['idNameFields'] ?? NULL;
@@ -443,7 +443,7 @@ class CRM_Utils_Migrate_Export {
    * @param string $objectName
    *   Business-entity/xml-tag name.
    * @param CRM_Core_DAO $object
-   * @param $mappedFields
+   * @param array $mappedFields
    *
    * @return array
    */
diff --git a/civicrm/CRM/Utils/Migrate/ExportJSON.php b/civicrm/CRM/Utils/Migrate/ExportJSON.php
index a472aa44e65ab49ae1cf1c49b711f5ef380b639e..accde154a0d38c6510a17d29f12d4ed90f61de9e 100644
--- a/civicrm/CRM/Utils/Migrate/ExportJSON.php
+++ b/civicrm/CRM/Utils/Migrate/ExportJSON.php
@@ -127,7 +127,7 @@ class CRM_Utils_Migrate_ExportJSON {
   }
 
   /**
-   * @param $tables
+   * @param array $tables
    */
   public function auxTable($tables) {
     foreach ($tables as $tableName => $daoName) {
@@ -139,7 +139,7 @@ class CRM_Utils_Migrate_ExportJSON {
   }
 
   /**
-   * @param $optionGroupVars
+   * @param array $optionGroupVars
    */
   public function optionGroup($optionGroupVars) {
     $names = array_values($optionGroupVars);
@@ -168,11 +168,11 @@ WHERE      g.name IN ( $nameString )
   }
 
   /**
-   * @param $ids
+   * @param array $ids
    * @param string $tableName
-   * @param $fields
-   * @param $whereField
-   * @param null $additionalWhereCond
+   * @param array $fields
+   * @param string $whereField
+   * @param string|null $additionalWhereCond
    */
   public function table(
     &$ids,
@@ -201,9 +201,9 @@ SELECT *
   }
 
   /**
-   * @param $sql
+   * @param string $sql
    * @param string $tableName
-   * @param $fields
+   * @param array $fields
    */
   public function sql($sql, $tableName, &$fields) {
     $dao = &CRM_Core_DAO::executeQuery($sql);
@@ -223,7 +223,7 @@ SELECT *
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function contact(&$contactIDs) {
     $fields = &$this->dbFields('CRM_Contact_DAO_Contact', TRUE);
@@ -231,7 +231,7 @@ SELECT *
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function note(&$contactIDs) {
     $fields = &$this->dbFields('CRM_Core_DAO_Note', TRUE);
@@ -239,7 +239,7 @@ SELECT *
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function phone(&$contactIDs) {
     $fields = &$this->dbFields('CRM_Core_DAO_Phone', TRUE);
@@ -247,7 +247,7 @@ SELECT *
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function email(&$contactIDs) {
     $fields = &$this->dbFields('CRM_Core_DAO_Email', TRUE);
@@ -255,7 +255,7 @@ SELECT *
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function im(&$contactIDs) {
     $fields = &$this->dbFields('CRM_Core_DAO_IM', TRUE);
@@ -263,7 +263,7 @@ SELECT *
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function website(&$contactIDs) {
     $fields = &$this->dbFields('CRM_Core_DAO_Website', TRUE);
@@ -271,7 +271,7 @@ SELECT *
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function address(&$contactIDs) {
     $fields = &$this->dbFields('CRM_Core_DAO_Email', TRUE);
@@ -279,7 +279,7 @@ SELECT *
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function groupContact(&$contactIDs) {
     $fields = &$this->dbFields('CRM_Contact_DAO_GroupContact', TRUE);
@@ -291,7 +291,7 @@ SELECT *
    *
    * Parent child group ids are encoded in a text string
    *
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function group(&$contactIDs) {
     // handle groups only once
@@ -321,7 +321,7 @@ WHERE  contact_id IN ( $ids )
 
   /**
    * @todo support search builder and custom saved searches
-   * @param $groupIDs
+   * @param array $groupIDs
    */
   public function savedSearch(&$groupIDs) {
     if (empty($groupIDs)) {
@@ -341,7 +341,7 @@ WHERE      g.id IN ( $idString )
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function entityTag(&$contactIDs) {
     $fields = &$this->dbFields('CRM_Core_DAO_EntityTag', TRUE);
@@ -349,7 +349,7 @@ WHERE      g.id IN ( $idString )
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function tag(&$contactIDs) {
     // handle tags only once
@@ -377,7 +377,7 @@ AND    entity_table = 'civicrm_contact'
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    * @param $additionalContacts
    */
   public function relationship(&$contactIDs, &$additionalContacts) {
@@ -426,7 +426,7 @@ AND    entity_table = 'civicrm_contact'
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    * @param $additionalContacts
    */
   public function activity(&$contactIDs, &$additionalContacts) {
@@ -486,7 +486,7 @@ WHERE ac.contact_id IN ( $ids )
   /**
    * @param int $id
    * @param string $name
-   * @param $value
+   * @param array $value
    */
   public function appendValue($id, $name, $value) {
     if (empty($value)) {
@@ -537,8 +537,8 @@ WHERE ac.contact_id IN ( $ids )
   }
 
   /**
-   * @param $contactIDs
-   * @param $additionalContacts
+   * @param array $contactIDs
+   * @param array $additionalContacts
    */
   public function addAdditionalContacts($contactIDs, &$additionalContacts) {
     if (!$this->_discoverContacts) {
@@ -556,7 +556,7 @@ WHERE ac.contact_id IN ( $ids )
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function export(&$contactIDs) {
     $chunks = &$this->splitContactIDs($contactIDs);
@@ -575,7 +575,7 @@ WHERE ac.contact_id IN ( $ids )
 
   /**
    * @param string $fileName
-   * @param null $lastExportTime
+   * @param string $lastExportTime
    * @param bool $discoverContacts
    */
   public function run(
diff --git a/civicrm/CRM/Utils/Migrate/Import.php b/civicrm/CRM/Utils/Migrate/Import.php
index aa4b937ef91e77443c913536be3fae3951b600a0..33154adbaf2346502e2f3234e7f6c2d14e00262c 100644
--- a/civicrm/CRM/Utils/Migrate/Import.php
+++ b/civicrm/CRM/Utils/Migrate/Import.php
@@ -76,9 +76,9 @@ class CRM_Utils_Migrate_Import {
 
   /**
    * @param CRM_Core_DAO $dao
-   * @param $xml
+   * @param SimpleXMLElement $xml
    * @param bool $save
-   * @param null $keyName
+   * @param string $keyName
    *
    * @return bool
    */
@@ -117,8 +117,8 @@ class CRM_Utils_Migrate_Import {
   }
 
   /**
-   * @param $xml
-   * @param $idMap
+   * @param SimpleXMLElement $xml
+   * @param array $idMap
    */
   public function optionGroups(&$xml, &$idMap) {
     foreach ($xml->OptionGroups as $optionGroupsXML) {
@@ -131,8 +131,8 @@ class CRM_Utils_Migrate_Import {
   }
 
   /**
-   * @param $xml
-   * @param $idMap
+   * @param SimpleXMLElement $xml
+   * @param array $idMap
    */
   public function optionValues(&$xml, &$idMap) {
     foreach ($xml->OptionValues as $optionValuesXML) {
@@ -159,7 +159,7 @@ WHERE      v.option_group_id = %1
   }
 
   /**
-   * @param $xml
+   * @param SimpleXMLElement $xml
    */
   public function relationshipTypes(&$xml) {
 
@@ -172,7 +172,7 @@ WHERE      v.option_group_id = %1
   }
 
   /**
-   * @param $xml
+   * @param SimpleXMLElement $xml
    */
   public function contributionTypes(&$xml) {
 
@@ -185,8 +185,8 @@ WHERE      v.option_group_id = %1
   }
 
   /**
-   * @param $xml
-   * @param $idMap
+   * @param SimpleXMLElement $xml
+   * @param array $idMap
    */
   public function customGroups(&$xml, &$idMap) {
     foreach ($xml->CustomGroups as $customGroupsXML) {
@@ -327,8 +327,8 @@ AND        v.name = %1
   }
 
   /**
-   * @param $xml
-   * @param $idMap
+   * @param SimpleXMLElement $xml
+   * @param array $idMap
    */
   public function customFields(&$xml, &$idMap) {
     // Re-index by group id so we can build out the custom fields one table
@@ -362,7 +362,7 @@ AND        v.name = %1
    * Returns an option group's ID, given its name.
    *
    * @param $groupName
-   * @param $idMap
+   * @param array $idMap
    *
    * @return int|null
    */
@@ -379,8 +379,8 @@ AND        v.name = %1
   }
 
   /**
-   * @param $xml
-   * @param $idMap
+   * @param SimpleXMLElement $xml
+   * @param array $idMap
    */
   public function profileGroups(&$xml, &$idMap) {
     foreach ($xml->ProfileGroups as $profileGroupsXML) {
@@ -394,8 +394,8 @@ AND        v.name = %1
   }
 
   /**
-   * @param $xml
-   * @param $idMap
+   * @param SimpleXMLElement $xml
+   * @param array $idMap
    *
    * @throws CRM_Core_Exception
    */
@@ -438,8 +438,8 @@ AND        f.column_name = %2
   }
 
   /**
-   * @param $xml
-   * @param $idMap
+   * @param SimpleXMLElement $xml
+   * @param array $idMap
    */
   public function profileJoins(&$xml, &$idMap) {
     foreach ($xml->ProfileJoins as $profileJoinsXML) {
diff --git a/civicrm/CRM/Utils/Migrate/ImportJSON.php b/civicrm/CRM/Utils/Migrate/ImportJSON.php
index 5f7f64dc5f33d73925bf2129a8ddf4fde7dc686d..bceb75c1480c40e184f883407627a92dca6c3ac5 100644
--- a/civicrm/CRM/Utils/Migrate/ImportJSON.php
+++ b/civicrm/CRM/Utils/Migrate/ImportJSON.php
@@ -189,8 +189,8 @@ class CRM_Utils_Migrate_ImportJSON {
   /**
    * @param $chunk
    * @param string $daoName
-   * @param null $lookUpMapping
-   * @param null $dateFields
+   * @param array|null $lookUpMapping
+   * @param array|null $dateFields
    */
   public function restore(&$chunk, $daoName, $lookUpMapping = NULL, $dateFields = NULL) {
     $object = new $daoName();
diff --git a/civicrm/CRM/Utils/Money.php b/civicrm/CRM/Utils/Money.php
index 2d5974867841682f468bfaf5ea2e5abd889b8b2e..3cc33e4226cc7757f95b975aa93afeb7e2109033 100644
--- a/civicrm/CRM/Utils/Money.php
+++ b/civicrm/CRM/Utils/Money.php
@@ -146,9 +146,9 @@ class CRM_Utils_Money {
    * 1.234 != 1.236 with a currency precision of 2 decimal points
    * 1.300 != 1.200 with a currency precision of 2 decimal points
    *
-   * @param $value1
-   * @param $value2
-   * @param $currency
+   * @param int|float $value1
+   * @param int|float $value2
+   * @param string $currency
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Utils/Network.php b/civicrm/CRM/Utils/Network.php
index fea2788711cbc7e5e01e6ff2e72d96b19bd01779..a9437cba43c727f4c5b885146e53745970cef1e3 100644
--- a/civicrm/CRM/Utils/Network.php
+++ b/civicrm/CRM/Utils/Network.php
@@ -22,8 +22,8 @@ class CRM_Utils_Network {
   /**
    * Try connecting to a TCP service; if it fails, retry. Repeat until serverStartupTimeOut elapses.
    *
-   * @param $host
-   * @param $port
+   * @param string $host
+   * @param string $port
    * @param int $serverStartupTimeOut
    *   Seconds.
    * @param float $interval
diff --git a/civicrm/CRM/Utils/OptionBag.php b/civicrm/CRM/Utils/OptionBag.php
index 10000dbb6705688b1e500128e8164e54cafee874..c6c1ca20e986f5060666bb8bc5e00b30693c4cb2 100644
--- a/civicrm/CRM/Utils/OptionBag.php
+++ b/civicrm/CRM/Utils/OptionBag.php
@@ -61,7 +61,7 @@ class CRM_Utils_OptionBag implements ArrayAccess, IteratorAggregate, Countable {
   }
 
   /**
-   * @param $key
+   * @param mixed $key
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Utils/PDF/Document.php b/civicrm/CRM/Utils/PDF/Document.php
index 0b796322a2e82210d5b1b56689a99f27830bdca9..f0f623bc869b3bbe14c12327b399d9cd3814a039 100644
--- a/civicrm/CRM/Utils/PDF/Document.php
+++ b/civicrm/CRM/Utils/PDF/Document.php
@@ -127,9 +127,9 @@ class CRM_Utils_PDF_Document {
   }
 
   /**
-   * @param $value
-   * @param $metric
-   * @return int
+   * @param int $value
+   * @param string $metric
+   * @return float
    */
   public static function toTwip($value, $metric) {
     $point = CRM_Utils_PDF_Utils::convertMetric($value, $metric, 'pt');
diff --git a/civicrm/CRM/Utils/PDF/Utils.php b/civicrm/CRM/Utils/PDF/Utils.php
index 8c97d681a80569fe7fb17460ffde7d3568969215..a751baa1e38b9b72825d80d38a2c2e270598eaa3 100644
--- a/civicrm/CRM/Utils/PDF/Utils.php
+++ b/civicrm/CRM/Utils/PDF/Utils.php
@@ -28,7 +28,7 @@ class CRM_Utils_PDF_Utils {
    *   Ex: "HelloWorld.pdf".
    * @param bool $output
    *   FALSE to display PDF. TRUE to return as string.
-   * @param null $pdfFormat
+   * @param array|int|null $pdfFormat
    *   Unclear. Possibly PdfFormat or formValues.
    *
    * @return string|void
@@ -202,11 +202,11 @@ class CRM_Utils_PDF_Utils {
   }
 
   /**
-   * @param $paper_size
-   * @param $orientation
-   * @param $margins
-   * @param $html
-   * @param $output
+   * @param float|int[] $paper_size
+   * @param string $orientation
+   * @param array $margins
+   * @param string $html
+   * @param bool $output
    * @param string $fileName
    */
   public static function _html2pdf_wkhtmltopdf($paper_size, $orientation, $margins, $html, $output, $fileName) {
@@ -234,10 +234,10 @@ class CRM_Utils_PDF_Utils {
   /**
    * convert value from one metric to another.
    *
-   * @param $value
-   * @param $from
-   * @param $to
-   * @param null $precision
+   * @param int $value
+   * @param string $from
+   * @param string $to
+   * @param int|null $precision
    *
    * @return float|int
    */
diff --git a/civicrm/CRM/Utils/QueryFormatter.php b/civicrm/CRM/Utils/QueryFormatter.php
index d54cc0e78236cd8aa4617354e3fbe422092837a1..e11fdced70cecd0d2d8d1a3622ee1f0039ee6349 100644
--- a/civicrm/CRM/Utils/QueryFormatter.php
+++ b/civicrm/CRM/Utils/QueryFormatter.php
@@ -219,7 +219,7 @@ class CRM_Utils_QueryFormatter {
    * Format Fts.
    *
    * @param string $text
-   * @param $mode
+   * @param string $mode
    *
    * @return mixed
    */
@@ -270,7 +270,7 @@ class CRM_Utils_QueryFormatter {
    * Format FTS.
    *
    * @param string $text
-   * @param $mode
+   * @param string $mode
    *
    * @return mixed
    */
@@ -342,8 +342,8 @@ class CRM_Utils_QueryFormatter {
   /**
    * Format like.
    *
-   * @param $text
-   * @param $mode
+   * @param string $text
+   * @param string $mode
    *
    * @return mixed
    */
@@ -425,9 +425,9 @@ class CRM_Utils_QueryFormatter {
   }
 
   /**
-   * @param $text
-   * @param $wildcard
-   * @return mixed
+   * @param string|null $text
+   * @param string $wildcard
+   * @return string|null
    */
   protected function dedupeWildcards($text, $wildcard) {
     if ($text === NULL) {
@@ -471,7 +471,7 @@ class CRM_Utils_QueryFormatter {
   }
 
   /**
-   * @param $text
+   * @param string $text
    *
    * Ex: drush eval 'civicrm_initialize(); CRM_Utils_QueryFormatter::dumpExampleTable("firstword secondword");'
    */
diff --git a/civicrm/CRM/Utils/REST.php b/civicrm/CRM/Utils/REST.php
index 03c7c26d1c0db6530ec04308b7c4aa298b621934..c34b9e1be3ac51c1ece992a2b325134eb2d8be1c 100644
--- a/civicrm/CRM/Utils/REST.php
+++ b/civicrm/CRM/Utils/REST.php
@@ -48,7 +48,7 @@ class CRM_Utils_REST {
    * @param string $var
    *   The string to be echoed.
    *
-   * @return string
+   * @return array
    */
   public static function ping($var = NULL) {
     $session = CRM_Core_Session::singleton();
@@ -399,9 +399,7 @@ class CRM_Utils_REST {
     unset($param['q']);
     $smarty->assign_by_ref("request", $param);
 
-    if (!array_key_exists('HTTP_X_REQUESTED_WITH', $_SERVER) ||
-      $_SERVER['HTTP_X_REQUESTED_WITH'] != "XMLHttpRequest"
-    ) {
+    if (!self::isWebServiceRequest()) {
 
       $smarty->assign('tplFile', $tpl);
       $config = CRM_Core_Config::singleton();
@@ -434,10 +432,7 @@ class CRM_Utils_REST {
 
     require_once 'api/v3/utils.php';
     $config = CRM_Core_Config::singleton();
-    if (!$config->debug && (!array_key_exists('HTTP_X_REQUESTED_WITH', $_SERVER) ||
-        $_SERVER['HTTP_X_REQUESTED_WITH'] != "XMLHttpRequest"
-      )
-    ) {
+    if (!$config->debug && !self::isWebServiceRequest()) {
       $error = civicrm_api3_create_error("SECURITY ALERT: Ajax requests can only be issued by javascript clients, eg. CRM.api3().",
         [
           'IP' => $_SERVER['REMOTE_ADDR'],
@@ -499,11 +494,7 @@ class CRM_Utils_REST {
     // restrict calls to this etc
     // the request has to be sent by an ajax call. First line of protection against csrf
     $config = CRM_Core_Config::singleton();
-    if (!$config->debug &&
-      (!array_key_exists('HTTP_X_REQUESTED_WITH', $_SERVER) ||
-        $_SERVER['HTTP_X_REQUESTED_WITH'] != "XMLHttpRequest"
-      )
-    ) {
+    if (!$config->debug && !self::isWebServiceRequest()) {
       require_once 'api/v3/utils.php';
       $error = civicrm_api3_create_error("SECURITY ALERT: Ajax requests can only be issued by javascript clients, eg. CRM.api3().",
         [
@@ -636,4 +627,51 @@ class CRM_Utils_REST {
     }
   }
 
+  /**
+   * Does this request appear to be a web-service request?
+   *
+   * It is important to distinguish regular browser-page-loads from web-service-requests. Regular
+   * page-loads can be CSRF vectors, and we don't web-services to run via CSRF.
+   *
+   * @return bool
+   *   TRUE if the current request appears to either XMLHttpRequest or non-browser-based.
+   *       Indicated by either (a) custom headers like `X-Request-With`/`X-Civi-Auth`
+   *       or (b) strong-secret-params that could theoretically appear in URL bar but which
+   *       cannot be meaningfully forged for CSRF purposes (like `?api_key=SECRET` or `?_authx=SECRET`).
+   *   FALSE if the current request looks like a standard browser request. This request may be generated by
+   *       <A HREF>, <IFRAME>, <IMG>, `Location:`, or similar CSRF vector.
+   */
+  public static function isWebServiceRequest(): bool {
+    if (($_SERVER['HTTP_X_REQUESTED_WITH'] ?? NULL) === 'XMLHttpRequest') {
+      return TRUE;
+    }
+
+    // If authx is enabled, and if the user gives a credential, it will store metadata.
+    $authx = \CRM_Core_Session::singleton()->get('authx');
+    $allowFlows = [
+      // Some flows are resistant to CSRF. Allow these:
+
+      // <legacyrest> Current request has valid `?api_key=SECRET&key=SECRET` ==> Strong-secret params
+      'legacyrest',
+
+      // <param> Current request has valid `?_authx=SECRET` ==> Strong-secret param
+      'param',
+
+      // <xheader> Current request has valid `X-Civi-Auth:` ==> Custom header AND strong-secret param
+      'xheader',
+
+      // Other flows are not resistant to CSRF on their own (need combo w/`X-Requested-With:`).
+      // Ignore these:
+      // <login> Relies on a session `Cookie:` (which browsers re-send automatically).
+      // <auto> First request might be resistant, but all others use session `Cookie:`.
+      // <header> Browsers often retain list of credentials and re-send automatically.
+    ];
+
+    if (!empty($authx) && in_array($authx['flow'], $allowFlows)) {
+      return TRUE;
+    }
+
+    return FALSE;
+  }
+
 }
diff --git a/civicrm/CRM/Utils/Recent.php b/civicrm/CRM/Utils/Recent.php
index d4fcf923ec698f0b17e6a53d69bfd552db8e4130..aed16f4132f9efa9b9b2ed69dddcf3f70343ea6c 100644
--- a/civicrm/CRM/Utils/Recent.php
+++ b/civicrm/CRM/Utils/Recent.php
@@ -24,7 +24,14 @@ class CRM_Utils_Recent {
    *
    * @var string
    */
-  const MAX_ITEMS = 30, STORE_NAME = 'CRM_Utils_Recent';
+  const STORE_NAME = 'CRM_Utils_Recent';
+
+  /**
+   * Max number of recent items to store
+   *
+   * @var int
+   */
+  const MAX_ITEMS = 30;
 
   /**
    * The list of recently viewed items.
@@ -76,7 +83,7 @@ class CRM_Utils_Recent {
    *   The link for the above title.
    * @param string $id
    *   Object id.
-   * @param $type
+   * @param string $type
    * @param int $contactId
    * @param string $contactName
    * @param array $others
diff --git a/civicrm/CRM/Utils/Rule.php b/civicrm/CRM/Utils/Rule.php
index 862e4603f74740b6c3137c55609e2e3d226d00fd..79004f5ec1174b0a3098b654d1c79df5fdd2ec04 100644
--- a/civicrm/CRM/Utils/Rule.php
+++ b/civicrm/CRM/Utils/Rule.php
@@ -23,7 +23,7 @@ require_once 'HTML/QuickForm/Rule/Email.php';
 class CRM_Utils_Rule {
 
   /**
-   * @param $str
+   * @param string|null $str
    * @param int $maxLength
    *
    * @return bool
@@ -44,7 +44,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $str
+   * @param string|null $str
    *
    * @return bool
    */
@@ -53,7 +53,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $str
+   * @param string|null $str
    *
    * @return bool
    */
@@ -74,7 +74,7 @@ class CRM_Utils_Rule {
   /**
    * Validate that a string is a valid MySQL column name or alias.
    *
-   * @param $str
+   * @param string|null $str
    *
    * @return bool
    */
@@ -104,7 +104,7 @@ class CRM_Utils_Rule {
    *
    * Empty string should be treated as invalid and ignored => default = ASC.
    *
-   * @param $str
+   * @param string $str
    * @return bool
    */
   public static function mysqlOrderByDirection($str) {
@@ -118,7 +118,7 @@ class CRM_Utils_Rule {
   /**
    * Validate that a string is valid order by clause.
    *
-   * @param $str
+   * @param string $str
    * @return bool
    */
   public static function mysqlOrderBy($str) {
@@ -150,7 +150,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $str
+   * @param string $str
    *
    * @return bool
    */
@@ -171,7 +171,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $phone
+   * @param string|null $phone
    *
    * @return bool
    */
@@ -189,7 +189,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $query
+   * @param string|null $query
    *
    * @return bool
    */
@@ -208,7 +208,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $url
+   * @param string|null $url
    *
    * @return bool
    */
@@ -225,7 +225,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $url
+   * @param string|null $url
    *
    * @return bool
    */
@@ -238,7 +238,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $string
+   * @param string $string
    *
    * @return bool
    */
@@ -248,7 +248,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $domain
+   * @param string $domain
    *
    * @return bool
    */
@@ -261,10 +261,10 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
-   * @param null $default
+   * @param string $value
+   * @param string|null $default
    *
-   * @return null
+   * @return string|null
    */
   public static function date($value, $default = NULL) {
     if (is_string($value) &&
@@ -276,10 +276,10 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
-   * @param null $default
+   * @param string $value
+   * @param string|null $default
    *
-   * @return null|string
+   * @return string|null
    */
   public static function dateTime($value, $default = NULL) {
     $result = $default;
@@ -410,7 +410,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
+   * @param mixed $value
    *
    * @return bool
    */
@@ -443,7 +443,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
+   * @param mixed $value
    *
    * @return bool
    */
@@ -462,7 +462,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
+   * @param mixed $value
    *
    * @return bool
    */
@@ -478,7 +478,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
+   * @param mixed $value
    *
    * @return bool
    */
@@ -504,7 +504,7 @@ class CRM_Utils_Rule {
    * @see \CRM_Utils_RuleTest::alphanumericData
    *   for examples of vales that give TRUE/FALSE here
    *
-   * @param $value
+   * @param string $value
    *
    * @return bool
    */
@@ -513,8 +513,8 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
-   * @param $noOfDigit
+   * @param string $value
+   * @param int $noOfDigit
    *
    * @return bool
    */
@@ -525,7 +525,7 @@ class CRM_Utils_Rule {
   /**
    * Strict validation of 6-digit hex color notation per html5 <input type="color">
    *
-   * @param $value
+   * @param string $value
    * @return bool
    */
   public static function color($value) {
@@ -587,7 +587,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
+   * @param string $value
    *
    * @return bool
    */
@@ -605,7 +605,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
+   * @param mixed $value
    * @param int $maxLength
    *
    * @return bool
@@ -620,7 +620,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
+   * @param bool|string $value
    *
    * @return bool
    */
@@ -635,7 +635,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
+   * @param mixed $value
    *
    * @return bool
    */
@@ -697,7 +697,7 @@ class CRM_Utils_Rule {
    * allow between 4-6 digits as postal code since india needs 6 and US needs 5 (or
    * if u disregard the first 0, 4 (thanx excel!)
    * FIXME: we need to figure out how to localize such rules
-   * @param $value
+   * @param string $value
    *
    * @return bool
    */
@@ -755,24 +755,6 @@ class CRM_Utils_Rule {
     return $success;
   }
 
-  /**
-   * See how file rules are written in HTML/QuickForm/file.php
-   * Checks to make sure the uploaded file is html
-   *
-   * @param array $elementValue
-   *
-   * @return bool
-   *   True if file has been uploaded, false otherwise
-   */
-  public static function htmlFile($elementValue) {
-    if ((isset($elementValue['error']) && $elementValue['error'] == 0) ||
-      (!empty($elementValue['tmp_name']) && $elementValue['tmp_name'] != 'none')
-    ) {
-      return CRM_Utils_File::isHtmlFile($elementValue['tmp_name']);
-    }
-    return FALSE;
-  }
-
   /**
    * Check if there is a record with the same name in the db.
    *
@@ -804,8 +786,8 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
-   * @param $type
+   * @param string $value
+   * @param string $type
    *
    * @return bool
    */
@@ -814,8 +796,8 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
-   * @param $type
+   * @param string $value
+   * @param string $type
    *
    * @return bool
    */
@@ -824,7 +806,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
+   * @param mixed $value
    *
    * @return bool
    */
@@ -856,7 +838,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $path
+   * @param string $path
    *
    * @return bool
    */
@@ -878,8 +860,8 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
-   * @param null $actualElementValue
+   * @param mixed $value
+   * @param mixed $actualElementValue
    *
    * @return bool
    */
@@ -944,7 +926,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $key
+   * @param mixed $key
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Utils/SQL/BaseParamQuery.php b/civicrm/CRM/Utils/SQL/BaseParamQuery.php
index 20125db2bdad4d4f45e991306069888f5655abd0..b0bf8633d0a34379653c80b3ddf08f33d732a4ee 100644
--- a/civicrm/CRM/Utils/SQL/BaseParamQuery.php
+++ b/civicrm/CRM/Utils/SQL/BaseParamQuery.php
@@ -139,7 +139,7 @@ class CRM_Utils_SQL_BaseParamQuery implements ArrayAccess {
   }
 
   /**
-   * @param string|NULL $value
+   * @param string|null $value
    * @return string
    *   SQL expression, e.g. "it\'s great" (with-quotes) or NULL (without-quotes)
    */
diff --git a/civicrm/CRM/Utils/SQL/Delete.php b/civicrm/CRM/Utils/SQL/Delete.php
index b31a7162eb6c80b5d4745035e31617b32127082f..af7eba56f6667c72d0f513c34218ab08c8e046df 100644
--- a/civicrm/CRM/Utils/SQL/Delete.php
+++ b/civicrm/CRM/Utils/SQL/Delete.php
@@ -105,7 +105,7 @@ class CRM_Utils_SQL_Delete extends CRM_Utils_SQL_BaseParamQuery {
    * Merge something or other.
    *
    * @param CRM_Utils_SQL_Delete $other
-   * @param array|NULL $parts
+   * @param array|null $parts
    *   ex: 'wheres'
    * @return CRM_Utils_SQL_Delete
    */
@@ -177,7 +177,7 @@ class CRM_Utils_SQL_Delete extends CRM_Utils_SQL_BaseParamQuery {
   }
 
   /**
-   * @param array|NULL $parts
+   * @param array|null $parts
    *   List of fields to check (e.g. 'wheres').
    *   Defaults to all.
    * @return bool
@@ -224,7 +224,7 @@ class CRM_Utils_SQL_Delete extends CRM_Utils_SQL_BaseParamQuery {
    * To examine the results, use a function like `fetch()`, `fetchAll()`,
    * `fetchValue()`, or `fetchMap()`.
    *
-   * @param string|NULL $daoName
+   * @param string|null $daoName
    *   The return object should be an instance of this class.
    *   Ex: 'CRM_Contact_BAO_Contact'.
    * @param bool $i18nRewrite
diff --git a/civicrm/CRM/Utils/SQL/Insert.php b/civicrm/CRM/Utils/SQL/Insert.php
index f70cbc5d80c42c5168393f06d823d30f4dd9feb4..96970e23c5f4bf0bfb4e9c514dbd907447ebcff6 100644
--- a/civicrm/CRM/Utils/SQL/Insert.php
+++ b/civicrm/CRM/Utils/SQL/Insert.php
@@ -158,7 +158,7 @@ class CRM_Utils_SQL_Insert {
   /**
    * Escape string.
    *
-   * @param string|NULL $value
+   * @param string|null $value
    *
    * @return string
    *   SQL expression, e.g. "it\'s great" (with-quotes) or NULL (without-quotes)
diff --git a/civicrm/CRM/Utils/SQL/Select.php b/civicrm/CRM/Utils/SQL/Select.php
index fa21fbde6feb103ac18b39947a35ca65f25bde13..94452cf94661fecb552a84ca962b805fdfc78a72 100644
--- a/civicrm/CRM/Utils/SQL/Select.php
+++ b/civicrm/CRM/Utils/SQL/Select.php
@@ -128,7 +128,7 @@ class CRM_Utils_SQL_Select extends CRM_Utils_SQL_BaseParamQuery {
    * Merge something or other.
    *
    * @param array|CRM_Utils_SQL_Select $other
-   * @param array|NULL $parts
+   * @param array|null $parts
    *   ex: 'joins', 'wheres'
    * @return CRM_Utils_SQL_Select
    */
@@ -180,7 +180,7 @@ class CRM_Utils_SQL_Select extends CRM_Utils_SQL_BaseParamQuery {
    * Note: To add multiple JOINs at once, use $name===NULL and
    * pass an array of $exprs.
    *
-   * @param string|NULL $name
+   * @param string|null $name
    *   The effective alias of the joined table.
    * @param string|array $exprs
    *   The complete join expression (eg "INNER JOIN mytable myalias ON mytable.id = maintable.foo_id").
@@ -443,7 +443,7 @@ class CRM_Utils_SQL_Select extends CRM_Utils_SQL_BaseParamQuery {
   }
 
   /**
-   * @param array|NULL $parts
+   * @param array|null $parts
    *   List of fields to check (e.g. 'selects', 'joins').
    *   Defaults to all.
    * @return bool
@@ -540,7 +540,7 @@ class CRM_Utils_SQL_Select extends CRM_Utils_SQL_BaseParamQuery {
    * To examine the results, use a function like `fetch()`, `fetchAll()`,
    * `fetchValue()`, or `fetchMap()`.
    *
-   * @param string|NULL $daoName
+   * @param string|null $daoName
    *   The return object should be an instance of this class.
    *   Ex: 'CRM_Contact_BAO_Contact'.
    * @param bool $i18nRewrite
diff --git a/civicrm/CRM/Utils/SQL/TempTable.php b/civicrm/CRM/Utils/SQL/TempTable.php
index 89ed932432e7d33f5435263676d62ce2162d9341..567b282d561bf1103ff0555923746f250769b725 100644
--- a/civicrm/CRM/Utils/SQL/TempTable.php
+++ b/civicrm/CRM/Utils/SQL/TempTable.php
@@ -187,7 +187,7 @@ class CRM_Utils_SQL_TempTable {
   /**
    * @param string $action
    *   Ex: 'CREATE', 'DROP'
-   * @param string|NULL $ifne
+   * @param string|null $ifne
    *   Ex: 'IF EXISTS', 'IF NOT EXISTS'.
    * @return string
    *   Ex: 'CREATE TEMPORARY TABLE `civicrm_tmp_e_foo_abcd1234`'
@@ -268,7 +268,7 @@ class CRM_Utils_SQL_TempTable {
   }
 
   /**
-   * @param string|NULL $category
+   * @param string|null $category
    *
    * @return CRM_Utils_SQL_TempTable
    */
diff --git a/civicrm/CRM/Utils/SameSite.php b/civicrm/CRM/Utils/SameSite.php
index 0431761aae659c3a75addec056aedd932b9bcd43..6ed0142256820f84074477cb504b23cbf0c84deb 100644
--- a/civicrm/CRM/Utils/SameSite.php
+++ b/civicrm/CRM/Utils/SameSite.php
@@ -33,7 +33,7 @@ class CRM_Utils_SameSite {
   /**
    * Determine if the current User Agent can handle the `SameSite=None` parameter.
    *
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent
    * @return bool True if the User Agent is compatible, FALSE otherwise.
    */
   public static function shouldSendSameSiteNone($userAgent) {
@@ -43,7 +43,7 @@ class CRM_Utils_SameSite {
   /**
    * Detect classes of browsers known to be incompatible.
    *
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return bool True if the User Agent is determined to be incompatible, FALSE otherwise.
    */
   private static function isSameSiteNoneIncompatible($userAgent) {
@@ -58,7 +58,7 @@ class CRM_Utils_SameSite {
    * These versions will erroneously treat cookies marked with `SameSite=None`
    * as if they were marked `SameSite=Strict`.
    *
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return bool
    */
   private static function hasWebKitSameSiteBug($userAgent) {
@@ -74,7 +74,7 @@ class CRM_Utils_SameSite {
    * but with the addition of the new "None" value to the specification, this
    * behavior has been updated in newer versions of UC Browser.
    *
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return bool
    */
   private static function dropsUnrecognizedSameSiteCookies($userAgent) {
@@ -91,7 +91,7 @@ class CRM_Utils_SameSite {
    * Detect iOS version.
    *
    * @param int $major The major version to test.
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return bool
    */
   private static function isIosVersion($major, $userAgent) {
@@ -112,7 +112,7 @@ class CRM_Utils_SameSite {
    *
    * @param int $major The major version to test.
    * @param int $minor The minor version to test.
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return bool
    */
   private static function isMacosxVersion($major, $minor, $userAgent) {
@@ -131,7 +131,7 @@ class CRM_Utils_SameSite {
   /**
    * Detect MacOS Safari.
    *
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return bool
    */
   private static function isSafari($userAgent) {
@@ -142,7 +142,7 @@ class CRM_Utils_SameSite {
   /**
    * Detect MacOS embedded browser.
    *
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return FALSE|int
    */
   private static function isMacEmbeddedBrowser($userAgent) {
@@ -153,7 +153,7 @@ class CRM_Utils_SameSite {
   /**
    * Detect if browser is Chromium based.
    *
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return FALSE|int
    */
   private static function isChromiumBased($userAgent) {
@@ -165,8 +165,8 @@ class CRM_Utils_SameSite {
    * Detect if Chromium version meets requirements.
    *
    * @param int $major The major version to test.
-   * @param str $userAgent The User Agent.
-   * @param str $operator
+   * @param string $userAgent The User Agent.
+   * @param string $operator
    * @return bool|int
    */
   private static function isChromiumVersionAtLeast($major, $userAgent, $operator) {
@@ -184,7 +184,7 @@ class CRM_Utils_SameSite {
   /**
    * Detect UCBrowser.
    *
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return FALSE|int
    */
   private static function isUcBrowser($userAgent) {
@@ -198,7 +198,7 @@ class CRM_Utils_SameSite {
    * @param int $major The major version to test.
    * @param int $minor The minor version to test.
    * @param int $build The build version to test.
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return bool|int
    */
   private static function isUcBrowserVersionAtLeast($major, $minor, $build, $userAgent) {
diff --git a/civicrm/CRM/Utils/Sort.php b/civicrm/CRM/Utils/Sort.php
index a18e106118a771db529daf88ec90f35a3e04c030..691aef877fab4ce719ae3defa1b1899219dbfb68 100644
--- a/civicrm/CRM/Utils/Sort.php
+++ b/civicrm/CRM/Utils/Sort.php
@@ -29,14 +29,14 @@ class CRM_Utils_Sort {
    *
    * @var int
    */
-  const ASCENDING = 1, DESCENDING = 2, DONTCARE = 4,
+  const ASCENDING = 1, DESCENDING = 2, DONTCARE = 4;
 
-    /**
-     * The name for the sort GET/POST param
-     *
-     * @var string
-     */
-    SORT_ID = 'crmSID', SORT_DIRECTION = 'crmSortDirection', SORT_ORDER = 'crmSortOrder';
+  /**
+   * The name for the sort GET/POST param
+   *
+   * @var string
+   */
+  const SORT_ID = 'crmSID', SORT_DIRECTION = 'crmSortDirection', SORT_ORDER = 'crmSortOrder';
 
   /**
    * Name of the sort function. Used to isolate session variables
@@ -251,8 +251,8 @@ class CRM_Utils_Sort {
   /**
    * Universal callback function for sorting by weight, id, title or name
    *
-   * @param $a
-   * @param $b
+   * @param array $a
+   * @param array $b
    *
    * @return int
    *   (-1 or 1)
diff --git a/civicrm/CRM/Utils/String.php b/civicrm/CRM/Utils/String.php
index 1cb1e8cbc28db52ad8c0ca55acfe769c8f2b5a1a..1acf1d68cda7f4e51f4602185e146792c18b6bd5 100644
--- a/civicrm/CRM/Utils/String.php
+++ b/civicrm/CRM/Utils/String.php
@@ -43,12 +43,14 @@ class CRM_Utils_String {
   public static function titleToVar($title, $maxLength = 31) {
     $variable = self::munge($title, '_', $maxLength);
 
+    // FIXME: nothing below this line makes sense. The above call to self::munge will always
+    // return a safe string of the correct length, so why are we now checking if it's a safe
+    // string of the correct length?
     if (CRM_Utils_Rule::title($variable, $maxLength)) {
       return $variable;
     }
 
-    // if longer than the maxLength lets just return a substr of the
-    // md5 to prevent errors downstream
+    // FIXME: When would this ever be reachable?
     return substr(md5($title), 0, $maxLength);
   }
 
@@ -420,7 +422,7 @@ class CRM_Utils_String {
    * @param string $str
    *   The string to be translated.
    *
-   * @return bool
+   * @return string|false
    */
   public static function strtoboolstr($str) {
     if (!is_scalar($str)) {
@@ -690,10 +692,10 @@ class CRM_Utils_String {
    * "admin foo" => array(NULL,"admin foo")
    * "cms:admin foo" => array("cms", "admin foo")
    *
-   * @param $delim
+   * @param string $delim
    * @param string $string
    *   E.g. "view all contacts". Syntax: "[prefix:]name".
-   * @param null $defaultPrefix
+   * @param string|null $defaultPrefix
    *
    * @return array
    *   (0 => string|NULL $prefix, 1 => string $value)
@@ -951,7 +953,7 @@ class CRM_Utils_String {
    * safe, standard data interchange formats such as JSON rather than PHP's
    * serialization format when dealing with user input.
    *
-   * @param string|NULL $string
+   * @param string|null $string
    *
    * @return mixed
    */
diff --git a/civicrm/CRM/Utils/System.php b/civicrm/CRM/Utils/System.php
index b445a04e09481abb0b1c7cebb4d8f483460d7e31..29c9bff4566fd6f355deb443a0488f2597d1b22c 100644
--- a/civicrm/CRM/Utils/System.php
+++ b/civicrm/CRM/Utils/System.php
@@ -22,21 +22,22 @@
  *
  * FIXME: This is a massive and random collection that could be split into smaller services
  *
+ * @method static void getCMSPermissionsUrlParams() Immediately stop script execution and display a 401 "Access Denied" page.
  * @method static mixed permissionDenied() Show access denied screen.
  * @method static mixed logout() Log out the current user.
  * @method static mixed updateCategories() Clear CMS caches related to the user registration/profile forms.
- * @method static appendBreadCrumb(array $breadCrumbs) Append an additional breadcrumb tag to the existing breadcrumbs.
- * @method static resetBreadCrumb() Reset an additional breadcrumb tag to the existing breadcrumb.
- * @method static addHTMLHead(string $bc) Append a string to the head of the HTML file.
+ * @method static void appendBreadCrumb(array $breadCrumbs) Append an additional breadcrumb tag to the existing breadcrumbs.
+ * @method static void resetBreadCrumb() Reset an additional breadcrumb tag to the existing breadcrumb.
+ * @method static void addHTMLHead(string $head) Append a string to the head of the HTML file.
  * @method static string postURL(int $action) Determine the post URL for a form.
  * @method static string|null getUFLocale() Get the locale of the CMS.
  * @method static bool setUFLocale(string $civicrm_language) Set the locale of the CMS.
  * @method static bool isUserLoggedIn() Check if user is logged in.
  * @method static int getLoggedInUfID() Get current logged in user id.
- * @method static setHttpHeader(string $name, string $value) Set http header.
+ * @method static void setHttpHeader(string $name, string $value) Set http header.
  * @method static array synchronizeUsers() Create CRM contacts for all existing CMS users.
- * @method static appendCoreResources(\Civi\Core\Event\GenericHookEvent $e) Callback for hook_civicrm_coreResourceList.
- * @method static alterAssetUrl(\Civi\Core\Event\GenericHookEvent $e) Callback for hook_civicrm_getAssetUrl.
+ * @method static void appendCoreResources(\Civi\Core\Event\GenericHookEvent $e) Callback for hook_civicrm_coreResourceList.
+ * @method static void alterAssetUrl(\Civi\Core\Event\GenericHookEvent $e) Callback for hook_civicrm_getAssetUrl.
  */
 class CRM_Utils_System {
 
@@ -949,7 +950,7 @@ class CRM_Utils_System {
    *   (optional) Whether to log the memory usage information.
    */
   public static function xMemory($title = NULL, $log = FALSE) {
-    $mem = (float ) xdebug_memory_usage() / (float ) (1024);
+    $mem = (float) xdebug_memory_usage() / (float) (1024);
     $mem = number_format($mem, 5) . ", " . time();
     if ($log) {
       echo "<p>$title: $mem<p>";
@@ -1246,7 +1247,7 @@ class CRM_Utils_System {
   /**
    * Redirect to SSL.
    *
-   * @param bool|FALSE $abort
+   * @param bool|false $abort
    *
    * @throws \CRM_Core_Exception
    */
@@ -1360,14 +1361,13 @@ class CRM_Utils_System {
    *   Title of documentation wiki page.
    * @param bool $URLonly
    *   (optional) Whether to return URL only or full HTML link (default).
-   * @param string $text
+   * @param string|null $text
    *   (optional) Text of HTML link (no effect if $URLonly = false).
-   * @param string $title
+   * @param string|null $title
    *   (optional) Tooltip text for HTML link (no effect if $URLonly = false)
-   * @param string $style
+   * @param string|null $style
    *   (optional) Style attribute value for HTML link (no effect if $URLonly = false)
-   *
-   * @param null $resource
+   * @param string|null $resource
    *
    * @return string
    *   URL or link to documentation page, based on provided parameters.
@@ -1824,7 +1824,7 @@ class CRM_Utils_System {
   /**
    * Evaluate any tokens in a URL.
    *
-   * @param string|FALSE $url
+   * @param string|false $url
    *
    * @return string|FALSE
    */
diff --git a/civicrm/CRM/Utils/System/Backdrop.php b/civicrm/CRM/Utils/System/Backdrop.php
index 692669e82f75b3c522c7705ec2139bacb5f489a3..8dbf8727830d03a926dbb07ae52b14010bc4e63b 100644
--- a/civicrm/CRM/Utils/System/Backdrop.php
+++ b/civicrm/CRM/Utils/System/Backdrop.php
@@ -920,7 +920,8 @@ AND    u.status = 1
   /**
    * Check if a resource url is within the Backdrop directory and format appropriately.
    *
-   * @param $url (reference)
+   * @param string $url
+   *   URL (reference).
    *
    * @return bool
    *   TRUE for internal paths, FALSE for external. The backdrop_add_js fn is able to add js more
diff --git a/civicrm/CRM/Utils/System/Base.php b/civicrm/CRM/Utils/System/Base.php
index f163aea7dd7fb1cfdd9e7bfc47671d6404e2e5be..a4660834c5301d244f3fd8c6b962995492e86bf3 100644
--- a/civicrm/CRM/Utils/System/Base.php
+++ b/civicrm/CRM/Utils/System/Base.php
@@ -357,7 +357,7 @@ abstract class CRM_Utils_System_Base {
   /**
    * Get the relative path to the sites base url.
    *
-   * @return bool
+   * @return string|false
    */
   public function getRelativeBaseURL() {
     $absoluteBaseURL = $this->getAbsoluteBaseURL();
diff --git a/civicrm/CRM/Utils/System/Drupal6.php b/civicrm/CRM/Utils/System/Drupal6.php
index 5db5f33d3c2dfb2970ec86d5aa448dad894de12a..18f737761daada6327ca943f071a5aa1f68f00fa 100644
--- a/civicrm/CRM/Utils/System/Drupal6.php
+++ b/civicrm/CRM/Utils/System/Drupal6.php
@@ -246,7 +246,8 @@ class CRM_Utils_System_Drupal6 extends CRM_Utils_System_DrupalBase {
   /**
    * Add a css file.
    *
-   * @param $url : string, absolute path to file
+   * @param string $url
+   *   absolute path to file
    * @param string $region
    *   location within the document: 'html-header', 'page-header', 'page-footer'.
    *
diff --git a/civicrm/CRM/Utils/System/Drupal8.php b/civicrm/CRM/Utils/System/Drupal8.php
index 00c035499c32007000aa90382e2be2cb528c8a47..d52e4c457b32c92cc25bc86e7cfa22052b45f29e 100644
--- a/civicrm/CRM/Utils/System/Drupal8.php
+++ b/civicrm/CRM/Utils/System/Drupal8.php
@@ -252,7 +252,7 @@ class CRM_Utils_System_Drupal8 extends CRM_Utils_System_DrupalBase {
    * FIXME: This is not a legacy function and the above is not a safe assumption.
    * External urls are allowed by CRM_Core_Resources and this needs to return the correct value.
    *
-   * @param $url
+   * @param string $url
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Utils/System/DrupalBase.php b/civicrm/CRM/Utils/System/DrupalBase.php
index 075f9d973e0d31789ae78e09b8f27b82aef6bfee..b25d6fc82384476d3ac55dbc0808d053e4e5d581 100644
--- a/civicrm/CRM/Utils/System/DrupalBase.php
+++ b/civicrm/CRM/Utils/System/DrupalBase.php
@@ -89,7 +89,8 @@ abstract class CRM_Utils_System_DrupalBase extends CRM_Utils_System_Base {
   /**
    * Check if a resource url is within the drupal directory and format appropriately.
    *
-   * @param $url (reference)
+   * @param string $url
+   *   URL (reference).
    *
    * @return bool
    *   TRUE for internal paths, FALSE for external. The drupal_add_js fn is able to add js more
diff --git a/civicrm/CRM/Utils/System/WordPress.php b/civicrm/CRM/Utils/System/WordPress.php
index ecb3abd394f7e08482a94fa2d22c16abc264464f..241eeaca6c728a94896bc68b2e7748202b2d0e78 100644
--- a/civicrm/CRM/Utils/System/WordPress.php
+++ b/civicrm/CRM/Utils/System/WordPress.php
@@ -783,7 +783,7 @@ class CRM_Utils_System_WordPress extends CRM_Utils_System_Base {
   }
 
   /**
-   * @param $dir
+   * @param string $dir
    *
    * @return bool
    */
@@ -963,7 +963,7 @@ class CRM_Utils_System_WordPress extends CRM_Utils_System_Base {
 
   /**
    * @param array $params
-   * @param $errors
+   * @param array $errors
    * @param string $emailName
    */
   public function checkUserNameEmailExists(&$params, &$errors, $emailName = 'email') {
@@ -1401,8 +1401,8 @@ class CRM_Utils_System_WordPress extends CRM_Utils_System_Base {
    * is only as of PHP 7.3.0 that the setcookie() method supports the "SameSite"
    * attribute in its options and will accept "None" as a valid value.
    *
-   * @param $name The name of the cookie.
-   * @param $value The value of the cookie.
+   * @param string $name The name of the cookie.
+   * @param string $value The value of the cookie.
    * @param array $options The header options for the cookie.
    */
   private function setAuthCookie($name, $value, $options) {
diff --git a/civicrm/CRM/Utils/Token.php b/civicrm/CRM/Utils/Token.php
index dea929d99ae7bcfeea41fc3e7c7815645026ef6b..23910f3634da397480858bc36801dbe112fe70a0 100644
--- a/civicrm/CRM/Utils/Token.php
+++ b/civicrm/CRM/Utils/Token.php
@@ -855,7 +855,7 @@ class CRM_Utils_Token {
    *
    * @deprecated
    *
-   * @param $str ref to the string that will be scanned and modified
+   * @param string $str ref to the string that will be scanned and modified
    */
   public static function unescapeTokens(&$str) {
     $str = preg_replace('/\\\\|\{(\{\w+\.\w+\})\}/', '\\1', $str);
diff --git a/civicrm/CRM/Utils/VersionCheck.php b/civicrm/CRM/Utils/VersionCheck.php
index fbb05a1929c9cc1efad57f47d06c2bea49279082..4a9407f5dbe8f7783b30a9f77c0f6da81415cd4c 100644
--- a/civicrm/CRM/Utils/VersionCheck.php
+++ b/civicrm/CRM/Utils/VersionCheck.php
@@ -178,6 +178,7 @@ class CRM_Utils_VersionCheck {
    * Add info to the 'entities' array
    */
   private function getEntityStats() {
+    // FIXME hardcoded list = bad
     $tables = [
       'CRM_Activity_DAO_Activity' => 'is_test = 0',
       'CRM_Case_DAO_Case' => 'is_deleted = 0',
@@ -203,15 +204,18 @@ class CRM_Utils_VersionCheck {
       'CRM_Mailing_Event_DAO_Delivered' => NULL,
     ];
     foreach ($tables as $daoName => $where) {
-      $dao = new $daoName();
-      if ($where) {
-        $dao->whereAdd($where);
+      if (class_exists($daoName)) {
+        /* @var \CRM_Core_DAO $dao */
+        $dao = new $daoName();
+        if ($where) {
+          $dao->whereAdd($where);
+        }
+        $short_name = substr($daoName, strrpos($daoName, '_') + 1);
+        $this->stats['entities'][] = [
+          'name' => $short_name,
+          'size' => $dao->count(),
+        ];
       }
-      $short_name = substr($daoName, strrpos($daoName, '_') + 1);
-      $this->stats['entities'][] = [
-        'name' => $short_name,
-        'size' => $dao->count(),
-      ];
     }
   }
 
diff --git a/civicrm/CRM/Utils/Weight.php b/civicrm/CRM/Utils/Weight.php
index ec0176c614638e9aebc62023467e0f092e3b25d7..843115bff3c698d2389839200408333e1bd9dd2a 100644
--- a/civicrm/CRM/Utils/Weight.php
+++ b/civicrm/CRM/Utils/Weight.php
@@ -271,11 +271,12 @@ class CRM_Utils_Weight {
    *   Field => value to be used in the WHERE.
    * @param string $queryData
    *   Data to be used, dependent on the query type.
-   * @param null $additionalWhere
-   * @param string $orderBy
+   * @param string|null $additionalWhere
+   *   Optional WHERE field.
+   * @param string|null $orderBy
    *   Optional ORDER BY field.
-   *
-   * @param null $groupBy
+   * @param string|null $groupBy
+   *   Optional GROU{} BY field.
    *
    * @return CRM_Core_DAO
    *   objet that holds the results of the query
@@ -352,11 +353,11 @@ class CRM_Utils_Weight {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    * @param string $daoName
    * @param string $idName
-   * @param $returnURL
-   * @param null $filter
+   * @param string $returnURL
+   * @param string|null $filter
    */
   public static function addOrder(&$rows, $daoName, $idName, $returnURL, $filter = NULL) {
     if (empty($rows)) {
@@ -497,7 +498,7 @@ class CRM_Utils_Weight {
   }
 
   /**
-   * @param $url
+   * @param string $url
    */
   public static function fixOrderOutput($url) {
     if (empty($_GET['snippet']) || $_GET['snippet'] !== 'json') {
diff --git a/civicrm/CRM/Utils/XML.php b/civicrm/CRM/Utils/XML.php
index 47619c1c6a5a13eca6554b2e2389a744adadf97e..12eb7a629ee8bd4c7c4bbd25f0a76b8f26c742f8 100644
--- a/civicrm/CRM/Utils/XML.php
+++ b/civicrm/CRM/Utils/XML.php
@@ -18,7 +18,7 @@ class CRM_Utils_XML {
   /**
    * Read a well-formed XML file
    *
-   * @param $file
+   * @param string $file
    *
    * @return array
    *   (0 => SimpleXMLElement|FALSE, 1 => errorMessage|FALSE)
diff --git a/civicrm/CRM/Utils/Zip.php b/civicrm/CRM/Utils/Zip.php
index a7dd2440722b0e4f5f088b43bc6a9bcfcb842406..0337bd9b9d5a48be18c940bd5799712bd4c2686f 100644
--- a/civicrm/CRM/Utils/Zip.php
+++ b/civicrm/CRM/Utils/Zip.php
@@ -80,7 +80,7 @@ class CRM_Utils_Zip {
    * Determine the name of the folder within a zip.
    *
    * @param ZipArchive $zip
-   * @param $expected
+   * @param string $expected
    *
    * @return string|bool
    *   Return string or FALSE
diff --git a/civicrm/Civi.php b/civicrm/Civi.php
index f087d19c8d6b00ceefb777d1b1d81c86d94ef44a..3c9d71f929859835f0d6b1f0d94552c240d5d84a 100644
--- a/civicrm/Civi.php
+++ b/civicrm/Civi.php
@@ -105,6 +105,29 @@ class Civi {
     return \Civi\Core\Container::getBootService('paths');
   }
 
+  /**
+   * Fetch a queue object.
+   *
+   * Note: Historically, `CRM_Queue_Queue` objects were not persistently-registered. Persistence
+   * is now encouraged. This facade has a bias towards persistently-registered queues.
+   *
+   * @param string $name
+   *   The name of a persistent/registered queue (stored in `civicrm_queue`)
+   * @param array{type: string, is_autorun: bool, reset: bool, is_persistent: bool} $params
+   *   Specification for a queue.
+   *   This is not required for accessing an existing queue.
+   *   Specify this if you wish to auto-create the queue or to include advanced options (eg `reset`).
+   *   Example: ['type' => 'SqlParallel']
+   *   Defaults: ['reset'=>FALSE, 'is_persistent'=>TRUE, 'is_autorun'=>FALSE]
+   * @return \CRM_Queue_Queue
+   * @see \CRM_Queue_Service
+   */
+  public static function queue(string $name, array $params = []): CRM_Queue_Queue {
+    $defaults = ['reset' => FALSE, 'is_persistent' => TRUE];
+    $params = array_merge($defaults, $params, ['name' => $name]);
+    return CRM_Queue_Service::singleton()->create($params);
+  }
+
   /**
    * Obtain the formatting object.
    *
@@ -114,6 +137,32 @@ class Civi {
     return new Civi\Core\Format();
   }
 
+  /**
+   * Initiate a bidirectional pipe for exchanging a series of multiple API requests.
+   *
+   * @param string $negotiationFlags
+   *   List of pipe initialization flags. Some combination of the following:
+   *    - 'v': Report version in connection header.
+   *    - 'j': Report JSON-RPC flavors in connection header.
+   *    - 'l': Report on login support in connection header.
+   *    - 't': Trusted session. Logins do not require credentials. API calls may execute with or without permission-checks.
+   *    - 'u': Untrusted session. Logins require credentials. API calls may only execute with permission-checks.
+   *
+   *   The `Civi::pipe()` entry-point is designed to be amenable to shell orchestration (SSH/cv/drush/wp-cli/etc).
+   *   The negotiation flags are therefore condensed to individual characters.
+   *
+   *   It is possible to preserve compatibility while adding new default-flags. However, removing default-flags
+   *   is more likely to be a breaking-change.
+   *
+   *   When adding a new flag, consider whether mutable `option()`s may be more appropriate.
+   * @see \Civi\Pipe\PipeSession
+   */
+  public static function pipe(string $negotiationFlags = 'vtl'): void {
+    Civi::service('civi.pipe')
+      ->setIO(STDIN, STDOUT)
+      ->run($negotiationFlags);
+  }
+
   /**
    * Fetch a service from the container.
    *
diff --git a/civicrm/Civi/API/Exception/NotImplementedException.php b/civicrm/Civi/API/Exception/NotImplementedException.php
index b8f253f13ebdde72c4fecf7fc514335a2621ba3b..6deb57071d804fecda1b4e86097af15190df75b4 100644
--- a/civicrm/Civi/API/Exception/NotImplementedException.php
+++ b/civicrm/Civi/API/Exception/NotImplementedException.php
@@ -16,7 +16,7 @@ class NotImplementedException extends \API_Exception {
    *   Extra params to return. eg an extra array of ids. It is not mandatory,
    *   but can help the computer using the api. Keep in mind the api consumer
    *   isn't to be trusted. eg. the database password is NOT a good extra data.
-   * @param \Exception|NULL $previous
+   * @param \Exception|null $previous
    *   A previous exception which caused this new exception.
    */
   public function __construct($message, $extraParams = [], \Exception $previous = NULL) {
diff --git a/civicrm/Civi/API/Exception/UnauthorizedException.php b/civicrm/Civi/API/Exception/UnauthorizedException.php
index 4e3bdbf7379e38a517b723f1a97385843dd876df..12e44bda3de5d4404db085b7275bdac0e2b8b159 100644
--- a/civicrm/Civi/API/Exception/UnauthorizedException.php
+++ b/civicrm/Civi/API/Exception/UnauthorizedException.php
@@ -16,7 +16,7 @@ class UnauthorizedException extends \API_Exception {
    *   Extra params to return. eg an extra array of ids. It is not mandatory,
    *   but can help the computer using the api. Keep in mind the api consumer
    *   isn't to be trusted. eg. the database password is NOT a good extra data.
-   * @param \Exception|NULL $previous
+   * @param \Exception|null $previous
    *   A previous exception which caused this new exception.
    */
   public function __construct($message, $extraParams = [], \Exception $previous = NULL) {
diff --git a/civicrm/Civi/API/Request.php b/civicrm/Civi/API/Request.php
index 45616d4d1279a41c9ff19972e195191d3f8103a6..3a8d2da50b6b0b57dd291b594d9fdaa662391a76 100644
--- a/civicrm/Civi/API/Request.php
+++ b/civicrm/Civi/API/Request.php
@@ -57,7 +57,7 @@ class Request {
         }
         // Check enabled components
         $daoName = \CRM_Core_DAO_AllCoreTables::getFullName($entity);
-        if ($daoName && defined("{$daoName}::COMPONENT") && !array_key_exists($daoName::COMPONENT, \CRM_Core_Component::getEnabledComponents())) {
+        if ($daoName && defined("{$daoName}::COMPONENT") && !\CRM_Core_Component::isEnabled($daoName::COMPONENT)) {
           throw new \Civi\API\Exception\NotImplementedException("$entity API is not available because " . $daoName::COMPONENT . " component is disabled");
         }
         $apiRequest = call_user_func_array($callable, $e->args);
diff --git a/civicrm/Civi/API/Subscriber/DynamicFKAuthorization.php b/civicrm/Civi/API/Subscriber/DynamicFKAuthorization.php
index a4b92bd3ef92a8fcae781e6eedd446c770aad9b3..225a00b402c7505df179750c61807041606f8e7c 100644
--- a/civicrm/Civi/API/Subscriber/DynamicFKAuthorization.php
+++ b/civicrm/Civi/API/Subscriber/DynamicFKAuthorization.php
@@ -119,7 +119,7 @@ class DynamicFKAuthorization implements EventSubscriberInterface {
    *   See docblock in DynamicFKAuthorization::$lookupDelegateSql.
    * @param string $lookupCustomFieldSql
    *   See docblock in DynamicFKAuthorization::$lookupCustomFieldSql.
-   * @param array|NULL $allowedDelegates
+   * @param array|null $allowedDelegates
    *   e.g. "civicrm_mailing","civicrm_activity"; NULL to allow any.
    */
   public function __construct($kernel, $entityName, $actions, $lookupDelegateSql, $lookupCustomFieldSql, $allowedDelegates = NULL) {
diff --git a/civicrm/Civi/Api4/Action/Address/AddressSaveTrait.php b/civicrm/Civi/Api4/Action/Address/AddressSaveTrait.php
index 1a2746f1db9b16418b8d82131e545ad525ba9ae6..d14fca6a1d9957025554db4812a8cc2ed7724a08 100644
--- a/civicrm/Civi/Api4/Action/Address/AddressSaveTrait.php
+++ b/civicrm/Civi/Api4/Action/Address/AddressSaveTrait.php
@@ -13,7 +13,8 @@
 namespace Civi\Api4\Action\Address;
 
 /**
- * @inheritDoc
+ * Code shared by Address create/update/save actions
+ *
  * @method bool getStreetParsing()
  * @method $this setStreetParsing(bool $streetParsing)
  * @method bool getSkipGeocode()
@@ -47,14 +48,16 @@ trait AddressSaveTrait {
   /**
    * @inheritDoc
    */
-  protected function writeObjects(&$items) {
-    foreach ($items as &$item) {
+  protected function write(array $items) {
+    $saved = [];
+    foreach ($items as $item) {
       if ($this->streetParsing && !empty($item['street_address'])) {
         $item = array_merge($item, \CRM_Core_BAO_Address::parseStreetAddress($item['street_address']));
       }
       $item['skip_geocode'] = $this->skipGeocode;
+      $saved[] = \CRM_Core_BAO_Address::add($item, $this->fixAddress);
     }
-    return parent::writeObjects($items);
+    return $saved;
   }
 
 }
diff --git a/civicrm/Civi/Api4/Action/CiviCase/CiviCaseSaveTrait.php b/civicrm/Civi/Api4/Action/CiviCase/CiviCaseSaveTrait.php
index b112a4a7c007723bc4c2b4d7935ce851079dad45..6b50e7593666a8d674e8ae7215fd232604efd7ab 100644
--- a/civicrm/Civi/Api4/Action/CiviCase/CiviCaseSaveTrait.php
+++ b/civicrm/Civi/Api4/Action/CiviCase/CiviCaseSaveTrait.php
@@ -18,20 +18,19 @@ namespace Civi\Api4\Action\CiviCase;
 trait CiviCaseSaveTrait {
 
   /**
-   * @param array $cases
+   * @param array $items
    * @return array
    */
-  protected function writeObjects(&$cases) {
-    $cases = array_values($cases);
-    $result = parent::writeObjects($cases);
-
-    // If the case doesn't have an id, it's new & needs to be opened.
-    foreach ($cases as $idx => $case) {
+  protected function write(array $items) {
+    $saved = [];
+    foreach ($items as $case) {
+      $saved[] = $result = \CRM_Case_BAO_Case::create($case);
+      // If the case doesn't have an id, it's new & needs to be opened.
       if (empty($case['id'])) {
-        $this->openCase($case, $result[$idx]['id']);
+        $this->openCase($case, $result->id);
       }
     }
-    return $result;
+    return $saved;
   }
 
   /**
diff --git a/civicrm/Civi/Api4/Action/Contact/ContactSaveTrait.php b/civicrm/Civi/Api4/Action/Contact/ContactSaveTrait.php
new file mode 100644
index 0000000000000000000000000000000000000000..67a9cca550738dbdf0f92aaa69040499c21acdf3
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/Contact/ContactSaveTrait.php
@@ -0,0 +1,46 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\Contact;
+
+/**
+ * Code shared by Contact create/update/save actions
+ */
+trait ContactSaveTrait {
+
+  /**
+   * @param array $items
+   * @return array
+   */
+  protected function write(array $items) {
+    foreach ($items as &$contact) {
+      // For some reason the contact BAO requires this for updates
+      if (!empty($contact['id'])) {
+        $contact['contact_id'] = $contact['id'];
+      }
+      elseif (empty($contact['contact_type'])) {
+        // Guess which type of contact is being created
+        if (!empty($contact['organization_name'])) {
+          $contact['contact_type'] = 'Organization';
+        }
+        elseif (!empty($contact['household_name'])) {
+          $contact['contact_type'] = 'Household';
+        }
+        else {
+          $contact['contact_type'] = 'Individual';
+        }
+      }
+    }
+    return parent::write($items);
+  }
+
+}
diff --git a/civicrm/Civi/Api4/Action/Contact/Create.php b/civicrm/Civi/Api4/Action/Contact/Create.php
new file mode 100644
index 0000000000000000000000000000000000000000..8da7c20d3947b97c43a19d4c54f41d7fc83df37b
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/Contact/Create.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\Contact;
+
+/**
+ * @inheritDoc
+ */
+class Create extends \Civi\Api4\Generic\DAOCreateAction {
+  use ContactSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/Contact/Delete.php b/civicrm/Civi/Api4/Action/Contact/Delete.php
index 5d2267441ac8d23bd68c563748e49879cfdda2e9..158e9dce339cc16d3217ddd1a239d16fcb78f81e 100644
--- a/civicrm/Civi/Api4/Action/Contact/Delete.php
+++ b/civicrm/Civi/Api4/Action/Contact/Delete.php
@@ -17,7 +17,7 @@ namespace Civi\Api4\Action\Contact;
  * @inheritDoc
  */
 class Delete extends \Civi\Api4\Generic\DAODeleteAction {
-  use \Civi\Api4\Generic\Traits\SoftDelete;
+  use \Civi\Api4\Generic\Traits\SoftDeleteEntity;
 
   /**
    * @param $items
diff --git a/civicrm/Civi/Api4/Action/Contact/Save.php b/civicrm/Civi/Api4/Action/Contact/Save.php
new file mode 100644
index 0000000000000000000000000000000000000000..322e4d51e003b6c7e7731d25d318708d656c734a
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/Contact/Save.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\Contact;
+
+/**
+ * @inheritDoc
+ */
+class Save extends \Civi\Api4\Generic\DAOSaveAction {
+  use ContactSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/Contact/Update.php b/civicrm/Civi/Api4/Action/Contact/Update.php
new file mode 100644
index 0000000000000000000000000000000000000000..d5798dc4d09d4e321fa4d76c0da52fb0e117ee6f
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/Contact/Update.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\Contact;
+
+/**
+ * @inheritDoc
+ */
+class Update extends \Civi\Api4\Generic\DAOUpdateAction {
+  use ContactSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Event/Subscriber/ContributionPreSaveSubscriber.php b/civicrm/Civi/Api4/Action/Contribution/ContributionSaveTrait.php
similarity index 56%
rename from civicrm/Civi/Api4/Event/Subscriber/ContributionPreSaveSubscriber.php
rename to civicrm/Civi/Api4/Action/Contribution/ContributionSaveTrait.php
index 20f623f817bb8d244a969cfdebcea9abf1a13da2..70ed6fbe1922384fcf3918e0b9909a71626b922f 100644
--- a/civicrm/Civi/Api4/Event/Subscriber/ContributionPreSaveSubscriber.php
+++ b/civicrm/Civi/Api4/Action/Contribution/ContributionSaveTrait.php
@@ -10,19 +10,22 @@
  +--------------------------------------------------------------------+
  */
 
-namespace Civi\Api4\Event\Subscriber;
+namespace Civi\Api4\Action\Contribution;
 
-use Civi\Api4\Generic\AbstractAction;
-
-class ContributionPreSaveSubscriber extends Generic\PreSaveSubscriber {
-
-  public function modify(&$record, AbstractAction $request) {
-    // Required by Contribution BAO
-    $record['skipCleanMoney'] = TRUE;
-  }
+/**
+ * Code shared by Contribution create/update/save actions
+ */
+trait ContributionSaveTrait {
 
-  public function applies(AbstractAction $request) {
-    return $request->getEntityName() === 'Contribution';
+  /**
+   * @inheritDoc
+   */
+  protected function write(array $items) {
+    foreach ($items as &$item) {
+      // Required by Contribution BAO
+      $item['skipCleanMoney'] = TRUE;
+    }
+    return parent::write($items);
   }
 
 }
diff --git a/civicrm/Civi/Api4/Action/Contribution/Create.php b/civicrm/Civi/Api4/Action/Contribution/Create.php
new file mode 100644
index 0000000000000000000000000000000000000000..80a8b7e0c007c774e65b8ddd60c9b5dab1637d6f
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/Contribution/Create.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\Contribution;
+
+/**
+ * @inheritDoc
+ */
+class Create extends \Civi\Api4\Generic\DAOCreateAction {
+  use ContributionSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/Contribution/Save.php b/civicrm/Civi/Api4/Action/Contribution/Save.php
new file mode 100644
index 0000000000000000000000000000000000000000..d19b3b10ef0c976ceb57ea71d0aba50c1ff1ed41
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/Contribution/Save.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\Contribution;
+
+/**
+ * @inheritDoc
+ */
+class Save extends \Civi\Api4\Generic\DAOSaveAction {
+  use ContributionSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/Contribution/Update.php b/civicrm/Civi/Api4/Action/Contribution/Update.php
new file mode 100644
index 0000000000000000000000000000000000000000..e61df15d483e7c798f147b7c8c71c108c54a7f3e
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/Contribution/Update.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\Contribution;
+
+/**
+ * @inheritDoc
+ */
+class Update extends \Civi\Api4\Generic\DAOUpdateAction {
+  use ContributionSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/CustomField/Create.php b/civicrm/Civi/Api4/Action/CustomField/Create.php
new file mode 100644
index 0000000000000000000000000000000000000000..edb1afa61c556379df0b9a043891b075cd4f3ad4
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/CustomField/Create.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\CustomField;
+
+/**
+ * @inheritDoc
+ */
+class Create extends \Civi\Api4\Generic\DAOCreateAction {
+  use CustomFieldSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Event/Subscriber/CustomFieldPreSaveSubscriber.php b/civicrm/Civi/Api4/Action/CustomField/CustomFieldSaveTrait.php
similarity index 69%
rename from civicrm/Civi/Api4/Event/Subscriber/CustomFieldPreSaveSubscriber.php
rename to civicrm/Civi/Api4/Action/CustomField/CustomFieldSaveTrait.php
index 8d8be12420c3e5b1bc282668767b1df115bff0ce..87803fbe2b59993e44875d3a52aef4b59ea2552c 100644
--- a/civicrm/Civi/Api4/Event/Subscriber/CustomFieldPreSaveSubscriber.php
+++ b/civicrm/Civi/Api4/Action/CustomField/CustomFieldSaveTrait.php
@@ -10,21 +10,35 @@
  +--------------------------------------------------------------------+
  */
 
-namespace Civi\Api4\Event\Subscriber;
+namespace Civi\Api4\Action\CustomField;
 
-use Civi\Api4\Generic\AbstractAction;
-
-class CustomFieldPreSaveSubscriber extends Generic\PreSaveSubscriber {
+/**
+ * Code shared by CustomField create/update/save actions
+ */
+trait CustomFieldSaveTrait {
 
   /**
-   * @var string
+   * @inheritDoc
    */
-  public $supportedOperation = 'create';
+  protected function write(array $items) {
+    foreach ($items as &$field) {
+      if (empty($field['id'])) {
+        self::formatOptionValues($field);
+      }
+    }
+    return parent::write($items);
+  }
 
-  public function modify(&$field, AbstractAction $request) {
+  /**
+   * If 'option_values' have been supplied, reformat it according to the expectations of the BAO
+   *
+   * @param array $field
+   */
+  private static function formatOptionValues(array &$field): void {
+    $field['option_type'] = !empty($field['option_values']);
     if (!empty($field['option_values'])) {
-      $weight = $key = 0;
-      $field['option_label'] = $field['option_value'] = $field['option_status'] = $field['option_weight'] = [];
+      $weight = 0;
+      $field['option_label'] = $field['option_value'] = $field['option_status'] = $field['option_weight'] =
       $field['option_name'] = $field['option_color'] = $field['option_description'] = $field['option_icon'] = [];
       foreach ($field['option_values'] as $key => $value) {
         // Translate simple key/value pairs into full-blown option values
@@ -34,22 +48,16 @@ class CustomFieldPreSaveSubscriber extends Generic\PreSaveSubscriber {
             'id' => $key,
           ];
         }
-        $weight++;
         $field['option_label'][] = $value['label'] ?? $value['name'];
         $field['option_name'][] = $value['name'] ?? NULL;
         $field['option_value'][] = $value['id'];
         $field['option_status'][] = $value['is_active'] ?? 1;
-        $field['option_weight'][] = $value['weight'] ?? $weight;
+        $field['option_weight'][] = $value['weight'] ?? ++$weight;
         $field['option_color'][] = $value['color'] ?? NULL;
         $field['option_description'][] = $value['description'] ?? NULL;
         $field['option_icon'][] = $value['icon'] ?? NULL;
       }
     }
-    $field['option_type'] = !empty($field['option_values']);
-  }
-
-  public function applies(AbstractAction $request) {
-    return $request->getEntityName() === 'CustomField';
   }
 
 }
diff --git a/civicrm/Civi/Api4/Action/CustomField/Save.php b/civicrm/Civi/Api4/Action/CustomField/Save.php
new file mode 100644
index 0000000000000000000000000000000000000000..d6d3a35c808678a3117b7cf1040e5536fac162ba
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/CustomField/Save.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\CustomField;
+
+/**
+ * @inheritDoc
+ */
+class Save extends \Civi\Api4\Generic\DAOSaveAction {
+  use CustomFieldSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/CustomField/Update.php b/civicrm/Civi/Api4/Action/CustomField/Update.php
new file mode 100644
index 0000000000000000000000000000000000000000..443e6869af30e3dc6680a323a6fdc8c727e3f7d4
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/CustomField/Update.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\CustomField;
+
+/**
+ * @inheritDoc
+ */
+class Update extends \Civi\Api4\Generic\DAOUpdateAction {
+  use CustomFieldSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/Entity/Get.php b/civicrm/Civi/Api4/Action/Entity/Get.php
index 3e98e7f348abe56eb6119a47b1d037b08bbbc15e..69d64e409b7b5694a5fe1e6b4653aea94b38d7db 100644
--- a/civicrm/Civi/Api4/Action/Entity/Get.php
+++ b/civicrm/Civi/Api4/Action/Entity/Get.php
@@ -64,7 +64,7 @@ class Get extends \Civi\Api4\Generic\BasicGetAction {
     $info = $className::getInfo();
     $daoName = $info['dao'] ?? NULL;
     // Only include DAO entities from enabled components
-    if (!$daoName || !defined("{$daoName}::COMPONENT") || array_key_exists($daoName::COMPONENT, \CRM_Core_Component::getEnabledComponents())) {
+    if (!$daoName || !defined("{$daoName}::COMPONENT") || \CRM_Core_Component::isEnabled($daoName::COMPONENT)) {
       $entities[$info['name']] = $info;
     }
   }
diff --git a/civicrm/Civi/Api4/Action/EntityTag/Create.php b/civicrm/Civi/Api4/Action/EntityTag/Create.php
new file mode 100644
index 0000000000000000000000000000000000000000..afa0dba7fd9e15d238345f172776994c84e07cb4
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/EntityTag/Create.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\EntityTag;
+
+/**
+ * @inheritDoc
+ */
+class Create extends \Civi\Api4\Generic\DAOCreateAction {
+  use EntityTagSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/EntityTag/EntityTagSaveTrait.php b/civicrm/Civi/Api4/Action/EntityTag/EntityTagSaveTrait.php
new file mode 100644
index 0000000000000000000000000000000000000000..be8ff4b03e44a3b428a1cf456ab3adde4903f039
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/EntityTag/EntityTagSaveTrait.php
@@ -0,0 +1,34 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\EntityTag;
+
+/**
+ * @inheritDoc
+ */
+trait EntityTagSaveTrait {
+
+  /**
+   * Override method which defaults to 'create' for oddball DAO which uses 'add'
+   *
+   * @param array $items
+   * @return array
+   */
+  protected function write(array $items) {
+    $saved = [];
+    foreach ($items as $item) {
+      $saved[] = \CRM_Core_BAO_EntityTag::add($item);
+    }
+    return $saved;
+  }
+
+}
diff --git a/civicrm/Civi/Api4/Action/EntityTag/Save.php b/civicrm/Civi/Api4/Action/EntityTag/Save.php
new file mode 100644
index 0000000000000000000000000000000000000000..e0819f197e126c62fdca7e78a5d76847de665210
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/EntityTag/Save.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\EntityTag;
+
+/**
+ * @inheritDoc
+ */
+class Save extends \Civi\Api4\Generic\DAOSaveAction {
+  use EntityTagSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/EntityTag/Update.php b/civicrm/Civi/Api4/Action/EntityTag/Update.php
new file mode 100644
index 0000000000000000000000000000000000000000..7ae4573937b7374957a21968ddb48900c4dd76a7
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/EntityTag/Update.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\EntityTag;
+
+/**
+ * @inheritDoc
+ */
+class Update extends \Civi\Api4\Generic\DAOUpdateAction {
+  use EntityTagSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/GroupContact/GroupContactSaveTrait.php b/civicrm/Civi/Api4/Action/GroupContact/GroupContactSaveTrait.php
index 0060ba0487fcc0828809a754ebacb18d00ced3b8..4ceea29b40354671454152265502555473d6e964 100644
--- a/civicrm/Civi/Api4/Action/GroupContact/GroupContactSaveTrait.php
+++ b/civicrm/Civi/Api4/Action/GroupContact/GroupContactSaveTrait.php
@@ -39,12 +39,12 @@ trait GroupContactSaveTrait {
   /**
    * @inheritDoc
    */
-  protected function writeObjects(&$items) {
+  protected function write(array $items) {
     foreach ($items as &$item) {
       $item['method'] = $this->method;
       $item['tracking'] = $this->tracking;
     }
-    return parent::writeObjects($items);
+    return \CRM_Contact_BAO_GroupContact::writeRecords($items);
   }
 
 }
diff --git a/civicrm/Civi/Api4/Contact.php b/civicrm/Civi/Api4/Contact.php
index 34f6463f5530f8c5f28962f67c3330352255d88f..cd717f128c3544886168ff202494ef1a865c1973 100644
--- a/civicrm/Civi/Api4/Contact.php
+++ b/civicrm/Civi/Api4/Contact.php
@@ -26,6 +26,33 @@ namespace Civi\Api4;
  */
 class Contact extends Generic\DAOEntity {
 
+  /**
+   * @param bool $checkPermissions
+   * @return Action\Contact\Create
+   */
+  public static function create($checkPermissions = TRUE) {
+    return (new Action\Contact\Create(__CLASS__, __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
+  /**
+   * @param bool $checkPermissions
+   * @return Action\Contact\Update
+   */
+  public static function update($checkPermissions = TRUE) {
+    return (new Action\Contact\Update(__CLASS__, __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
+  /**
+   * @param bool $checkPermissions
+   * @return Action\Contact\Save
+   */
+  public static function save($checkPermissions = TRUE) {
+    return (new Action\Contact\Save(__CLASS__, __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
   /**
    * @param bool $checkPermissions
    * @return Action\Contact\Delete
diff --git a/civicrm/Civi/Api4/Contribution.php b/civicrm/Civi/Api4/Contribution.php
index 2be2264b61725d7c006a06d14a96baaca89bac71..67d61be1f7b6af624e6451ffe8d37b8d09bbc0a7 100644
--- a/civicrm/Civi/Api4/Contribution.php
+++ b/civicrm/Civi/Api4/Contribution.php
@@ -19,4 +19,31 @@ namespace Civi\Api4;
  */
 class Contribution extends Generic\DAOEntity {
 
+  /**
+   * @param bool $checkPermissions
+   * @return Action\Contribution\Create
+   */
+  public static function create($checkPermissions = TRUE) {
+    return (new Action\Contribution\Create(__CLASS__, __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
+  /**
+   * @param bool $checkPermissions
+   * @return Action\Contribution\Save
+   */
+  public static function save($checkPermissions = TRUE) {
+    return (new Action\Contribution\Save(__CLASS__, __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
+  /**
+   * @param bool $checkPermissions
+   * @return Action\Contribution\Update
+   */
+  public static function update($checkPermissions = TRUE) {
+    return (new Action\Contribution\Update(__CLASS__, __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
 }
diff --git a/civicrm/Civi/Api4/CustomField.php b/civicrm/Civi/Api4/CustomField.php
index 37be6eb2b45f37b12722bbdac56a6e18ad4d57b8..413d268d40cfb1c1699ef9c8f54b309ee5e2d94d 100644
--- a/civicrm/Civi/Api4/CustomField.php
+++ b/civicrm/Civi/Api4/CustomField.php
@@ -16,6 +16,7 @@ namespace Civi\Api4;
  * @see https://docs.civicrm.org/user/en/latest/organising-your-data/creating-custom-fields/
  * @searchable secondary
  * @orderBy weight
+ * @groupWeightsBy custom_group_id
  * @since 5.19
  * @package Civi\Api4
  */
@@ -23,4 +24,31 @@ class CustomField extends Generic\DAOEntity {
   use Generic\Traits\ManagedEntity;
   use Generic\Traits\SortableEntity;
 
+  /**
+   * @param bool $checkPermissions
+   * @return Action\CustomField\Create
+   */
+  public static function create($checkPermissions = TRUE) {
+    return (new Action\CustomField\Create(__CLASS__, __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
+  /**
+   * @param bool $checkPermissions
+   * @return Action\CustomField\Save
+   */
+  public static function save($checkPermissions = TRUE) {
+    return (new Action\CustomField\Save(__CLASS__, __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
+  /**
+   * @param bool $checkPermissions
+   * @return Action\CustomField\Update
+   */
+  public static function update($checkPermissions = TRUE) {
+    return (new Action\CustomField\Update(__CLASS__, __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
 }
diff --git a/civicrm/Civi/Api4/Entity.php b/civicrm/Civi/Api4/Entity.php
index 69f5363b455866d16ee717f24b9f5929ae087313..fbe5d75f67cd5a9afd103062eb1268c00c6a7e73 100644
--- a/civicrm/Civi/Api4/Entity.php
+++ b/civicrm/Civi/Api4/Entity.php
@@ -132,6 +132,11 @@ class Entity extends Generic\AbstractEntity {
           'data_type' => 'Array',
           'description' => 'When joining entities in the UI, which fields should be presented by default in the ON clause',
         ],
+        [
+          'name' => 'group_weights_by',
+          'data_type' => 'Array',
+          'description' => 'For sortable entities, what field groupings are used to order by weight',
+        ],
       ];
     }))->setCheckPermissions($checkPermissions);
   }
diff --git a/civicrm/Civi/Api4/EntityTag.php b/civicrm/Civi/Api4/EntityTag.php
index 57070981873d2dfc62eaf43c82233b6525378c5d..d0d8f22a8f95919e96252a05f4980b899e86fee6 100644
--- a/civicrm/Civi/Api4/EntityTag.php
+++ b/civicrm/Civi/Api4/EntityTag.php
@@ -21,4 +21,31 @@ namespace Civi\Api4;
 class EntityTag extends Generic\DAOEntity {
   use Generic\Traits\EntityBridge;
 
+  /**
+   * @param bool $checkPermissions
+   * @return Action\EntityTag\Create
+   */
+  public static function create($checkPermissions = TRUE) {
+    return (new Action\EntityTag\Create('EntityTag', __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
+  /**
+   * @param bool $checkPermissions
+   * @return Action\EntityTag\Save
+   */
+  public static function save($checkPermissions = TRUE) {
+    return (new Action\EntityTag\Save('EntityTag', __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
+  /**
+   * @param bool $checkPermissions
+   * @return Action\EntityTag\Update
+   */
+  public static function update($checkPermissions = TRUE) {
+    return (new Action\EntityTag\Update('EntityTag', __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
 }
diff --git a/civicrm/Civi/Api4/Event/Subscriber/ContactPreSaveSubscriber.php b/civicrm/Civi/Api4/Event/Subscriber/ContactPreSaveSubscriber.php
deleted file mode 100644
index 3af614ffed0c9aab2c8428ef19767760e9eb727e..0000000000000000000000000000000000000000
--- a/civicrm/Civi/Api4/Event/Subscriber/ContactPreSaveSubscriber.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-/*
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC. All rights reserved.                        |
- |                                                                    |
- | This work is published under the GNU AGPLv3 license with some      |
- | permitted exceptions and without any warranty. For full license    |
- | and copyright information, see https://civicrm.org/licensing       |
- +--------------------------------------------------------------------+
- */
-
-namespace Civi\Api4\Event\Subscriber;
-
-use Civi\Api4\Generic\AbstractAction;
-
-class ContactPreSaveSubscriber extends Generic\PreSaveSubscriber {
-
-  /**
-   * @var string
-   */
-  public $supportedOperation = 'create';
-
-  public function modify(&$contact, AbstractAction $request) {
-    // Guess which type of contact is being created
-    if (empty($contact['contact_type']) && !empty($contact['organization_name'])) {
-      $contact['contact_type'] = 'Organization';
-    }
-    if (empty($contact['contact_type']) && !empty($contact['household_name'])) {
-      $contact['contact_type'] = 'Household';
-    }
-  }
-
-  public function applies(AbstractAction $request) {
-    return $request->getEntityName() === 'Contact';
-  }
-
-}
diff --git a/civicrm/Civi/Api4/Event/Subscriber/CustomGroupPreCreationSubscriber.php b/civicrm/Civi/Api4/Event/Subscriber/CustomGroupPreCreationSubscriber.php
deleted file mode 100644
index 132c789f2f7e3c77ff3f904b3ed8109d686c8d59..0000000000000000000000000000000000000000
--- a/civicrm/Civi/Api4/Event/Subscriber/CustomGroupPreCreationSubscriber.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC. All rights reserved.                        |
- |                                                                    |
- | This work is published under the GNU AGPLv3 license with some      |
- | permitted exceptions and without any warranty. For full license    |
- | and copyright information, see https://civicrm.org/licensing       |
- +--------------------------------------------------------------------+
- */
-
-namespace Civi\Api4\Event\Subscriber;
-
-use Civi\Api4\Generic\DAOCreateAction;
-
-class CustomGroupPreCreationSubscriber extends Generic\PreCreationSubscriber {
-
-  /**
-   * @param \Civi\Api4\Generic\DAOCreateAction $request
-   */
-  protected function modify(DAOCreateAction $request) {
-    $title = $request->getValue('title');
-    $name = $request->getValue('name');
-
-    if (NULL === $title && $name) {
-      $request->addValue('title', $name);
-    }
-  }
-
-  protected function applies(DAOCreateAction $request) {
-    return $request->getEntityName() === 'CustomGroup';
-  }
-
-}
diff --git a/civicrm/Civi/Api4/Event/Subscriber/Generic/PreSaveSubscriber.php b/civicrm/Civi/Api4/Event/Subscriber/Generic/PreSaveSubscriber.php
index 8741f842d8b4705d5ff0462c457260cf55ccccf4..68fc4f672f12576874123b4415f5e3ac49fe22b0 100644
--- a/civicrm/Civi/Api4/Event/Subscriber/Generic/PreSaveSubscriber.php
+++ b/civicrm/Civi/Api4/Event/Subscriber/Generic/PreSaveSubscriber.php
@@ -17,6 +17,9 @@ use Civi\Api4\Generic\AbstractAction;
 use Civi\Api4\Generic\AbstractCreateAction;
 use Civi\Api4\Generic\AbstractUpdateAction;
 
+/**
+ * @deprecated
+ */
 abstract class PreSaveSubscriber extends AbstractPrepareSubscriber {
 
   /**
@@ -32,6 +35,7 @@ abstract class PreSaveSubscriber extends AbstractPrepareSubscriber {
     $apiRequest = $event->getApiRequest();
 
     if ($apiRequest instanceof AbstractAction && $this->applies($apiRequest)) {
+      \CRM_Core_Error::deprecatedWarning("Use of APIv4 'PreSaveSubscriber' is deprecated. '" . get_class($this) . "' should be removed ({$apiRequest->getEntityName()}::{$apiRequest->getActionName()}).");
       if (
         ($apiRequest instanceof AbstractCreateAction && $this->supportedOperation !== 'update') ||
         ($apiRequest instanceof AbstractUpdateAction && $this->supportedOperation !== 'create')
diff --git a/civicrm/Civi/Api4/Event/Subscriber/OptionValuePreCreationSubscriber.php b/civicrm/Civi/Api4/Event/Subscriber/OptionValuePreCreationSubscriber.php
deleted file mode 100644
index 3b37c70f158c7b3de70243a3fdc8e4bdc3347cf6..0000000000000000000000000000000000000000
--- a/civicrm/Civi/Api4/Event/Subscriber/OptionValuePreCreationSubscriber.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-/*
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC. All rights reserved.                        |
- |                                                                    |
- | This work is published under the GNU AGPLv3 license with some      |
- | permitted exceptions and without any warranty. For full license    |
- | and copyright information, see https://civicrm.org/licensing       |
- +--------------------------------------------------------------------+
- */
-
-namespace Civi\Api4\Event\Subscriber;
-
-use Civi\Api4\Generic\DAOCreateAction;
-use Civi\Api4\OptionGroup;
-
-class OptionValuePreCreationSubscriber extends Generic\PreCreationSubscriber {
-
-  /**
-   * @param \Civi\Api4\Generic\DAOCreateAction $request
-   */
-  protected function modify(DAOCreateAction $request) {
-    $this->setOptionGroupId($request);
-  }
-
-  /**
-   * @param \Civi\Api4\Generic\DAOCreateAction $request
-   *
-   * @return bool
-   */
-  protected function applies(DAOCreateAction $request) {
-    return $request->getEntityName() === 'OptionValue';
-  }
-
-  /**
-   * @param \Civi\Api4\Generic\DAOCreateAction $request
-   * @throws \API_Exception
-   * @throws \Exception
-   */
-  private function setOptionGroupId(DAOCreateAction $request) {
-    $optionGroupName = $request->getValue('option_group');
-    if (!$optionGroupName || $request->getValue('option_group_id')) {
-      return;
-    }
-    \CRM_Core_Error::deprecatedFunctionWarning('Use option_group_id:name instead of option_group in APIv4');
-    $optionGroup = OptionGroup::get(FALSE)
-      ->addSelect('id')
-      ->addWhere('name', '=', $optionGroupName)
-      ->execute();
-
-    if ($optionGroup->count() !== 1) {
-      throw new \Exception('Option group name must match only a single group');
-    }
-
-    $request->addValue('option_group_id', $optionGroup->first()['id']);
-  }
-
-}
diff --git a/civicrm/Civi/Api4/Event/ValidateValuesEvent.php b/civicrm/Civi/Api4/Event/ValidateValuesEvent.php
index 8368a97ca5f7f85e9dcd664ab31eef833f816197..20b3c7de1380394b66656d97c468230f3648b6a7 100644
--- a/civicrm/Civi/Api4/Event/ValidateValuesEvent.php
+++ b/civicrm/Civi/Api4/Event/ValidateValuesEvent.php
@@ -124,7 +124,7 @@ class ValidateValuesEvent extends GenericHookEvent {
    *   If the error is multi-field (e.g. mismatched password-confirmation), then use an array.
    *   If the error is independent of any field, then use [].
    * @param string $name
-   * @param string|NULL $message
+   * @param string|null $message
    * @return $this
    */
   public function addError($recordKey, $field, string $name, string $message = NULL): self {
diff --git a/civicrm/Civi/Api4/Generic/BasicGetFieldsAction.php b/civicrm/Civi/Api4/Generic/BasicGetFieldsAction.php
index 7bb18411efc4a117cfc3952279805887e8c7cd4c..483cf7353e7d6fedc93c5ffa60e79be9c0e73b01 100644
--- a/civicrm/Civi/Api4/Generic/BasicGetFieldsAction.php
+++ b/civicrm/Civi/Api4/Generic/BasicGetFieldsAction.php
@@ -282,9 +282,16 @@ class BasicGetFieldsAction extends BasicGetAction {
       ],
       [
         'name' => 'required',
+        'description' => 'Is this field required when creating a new entity',
         'data_type' => 'Boolean',
         'default_value' => FALSE,
       ],
+      [
+        'name' => 'nullable',
+        'description' => 'Whether a null value is allowed in this field',
+        'data_type' => 'Boolean',
+        'default_value' => TRUE,
+      ],
       [
         'name' => 'required_if',
         'data_type' => 'String',
diff --git a/civicrm/Civi/Api4/Generic/Traits/CustomValueActionTrait.php b/civicrm/Civi/Api4/Generic/Traits/CustomValueActionTrait.php
index 280f5bd75b41a373d3cf02ed6f427131f5a556b1..e194ef6af4c91119e14c12bf96e4c2bf15a52291 100644
--- a/civicrm/Civi/Api4/Generic/Traits/CustomValueActionTrait.php
+++ b/civicrm/Civi/Api4/Generic/Traits/CustomValueActionTrait.php
@@ -63,7 +63,7 @@ trait CustomValueActionTrait {
   /**
    * @inheritDoc
    */
-  protected function writeObjects(&$items) {
+  protected function writeObjects($items) {
     $fields = $this->entityFields();
     foreach ($items as $idx => $item) {
       FormattingUtil::formatWriteParams($item, $fields);
diff --git a/civicrm/Civi/Api4/Generic/Traits/DAOActionTrait.php b/civicrm/Civi/Api4/Generic/Traits/DAOActionTrait.php
index 8f00ba7ee0f35b1ccc9ac236e4f8103f1d900f96..c7661f70751fe7300acbeb0c0c5c2f9d547f33f0 100644
--- a/civicrm/Civi/Api4/Generic/Traits/DAOActionTrait.php
+++ b/civicrm/Civi/Api4/Generic/Traits/DAOActionTrait.php
@@ -16,6 +16,7 @@ use Civi\Api4\CustomField;
 use Civi\Api4\Service\Schema\Joinable\CustomGroupJoinable;
 use Civi\Api4\Utils\FormattingUtil;
 use Civi\Api4\Utils\CoreUtil;
+use Civi\Api4\Utils\ReflectionUtils;
 
 /**
  * @method string getLanguage()
@@ -59,8 +60,8 @@ trait DAOActionTrait {
     else {
       $inputFields = array_keys($input);
       // Convert 'null' input to true null
-      foreach ($input as $key => $val) {
-        if ($val === 'null') {
+      foreach ($inputFields as $key) {
+        if (($bao->$key ?? NULL) === 'null') {
           $bao->$key = NULL;
         }
       }
@@ -95,7 +96,7 @@ trait DAOActionTrait {
   }
 
   /**
-   * Write bao objects as part of a create/update action.
+   * Write bao objects as part of a create/update/save action.
    *
    * @param array $items
    *   The records to write to the DB.
@@ -105,24 +106,8 @@ trait DAOActionTrait {
    * @throws \API_Exception
    * @throws \CRM_Core_Exception
    */
-  protected function writeObjects(&$items) {
-    $baoName = $this->getBaoName();
+  protected function writeObjects($items) {
     $updateWeights = FALSE;
-
-    // TODO: Opt-in more entities to use the new writeRecords BAO method.
-    $functionNames = [
-      'Address' => 'add',
-      'CustomField' => 'writeRecords',
-      'EntityTag' => 'add',
-      'GroupContact' => 'add',
-      'Navigation' => 'writeRecords',
-      'WordReplacement' => 'writeRecords',
-    ];
-    $method = $functionNames[$this->getEntityName()] ?? NULL;
-    if (!isset($method)) {
-      $method = method_exists($baoName, 'create') ? 'create' : (method_exists($baoName, 'add') ? 'add' : 'writeRecords');
-    }
-
     // Adjust weights for sortable entities
     if (in_array('SortableEntity', CoreUtil::getInfoItem($this->getEntityName(), 'type'))) {
       $weightField = CoreUtil::getInfoItem($this->getEntityName(), 'order_by');
@@ -145,46 +130,50 @@ trait DAOActionTrait {
         $this->updateWeight($item);
       }
 
-      // Skip individual processing if using writeRecords
-      if ($method === 'writeRecords') {
-        continue;
-      }
       $item['check_permissions'] = $this->getCheckPermissions();
+    }
 
-      // For some reason the contact bao requires this
-      if ($entityId && $this->getEntityName() === 'Contact') {
-        $item['contact_id'] = $entityId;
-      }
-
-      if ($this->getEntityName() === 'Address') {
-        $createResult = $baoName::$method($item, $this->fixAddress);
-      }
-      else {
-        $createResult = $baoName::$method($item);
-      }
+    // Ensure array keys start at 0
+    $items = array_values($items);
 
-      if (!$createResult) {
+    foreach ($this->write($items) as $index => $dao) {
+      if (!$dao) {
         $errMessage = sprintf('%s write operation failed', $this->getEntityName());
         throw new \API_Exception($errMessage);
       }
-
-      $result[] = $this->baoToArray($createResult, $item);
-      \CRM_Utils_API_HTMLInputCoder::singleton()->decodeRows($result);
-    }
-
-    // Use bulk `writeRecords` method if the BAO doesn't have a create or add method
-    // TODO: reverse this from opt-in to opt-out and default to using `writeRecords` for all BAOs
-    if ($method === 'writeRecords') {
-      $items = array_values($items);
-      foreach ($baoName::writeRecords($items) as $i => $createResult) {
-        $result[] = $this->baoToArray($createResult, $items[$i]);
-      }
+      $result[] = $this->baoToArray($dao, $items[$index]);
     }
 
+    \CRM_Utils_API_HTMLInputCoder::singleton()->decodeRows($result);
     FormattingUtil::formatOutputValues($result, $this->entityFields());
     return $result;
   }
 
+  /**
+   * Overrideable function to save items using the appropriate BAO function
+   *
+   * @param array[] $items
+   *   Items already formatted by self::writeObjects
+   * @return \CRM_Core_DAO[]
+   *   Array of saved DAO records
+   */
+  protected function write(array $items) {
+    $saved = [];
+    $baoName = $this->getBaoName();
+
+    $method = method_exists($baoName, 'create') ? 'create' : (method_exists($baoName, 'add') ? 'add' : NULL);
+    // Use BAO create or add method if not deprecated
+    if ($method && !ReflectionUtils::isMethodDeprecated($baoName, $method)) {
+      foreach ($items as $item) {
+        $saved[] = $baoName::$method($item);
+      }
+    }
+    else {
+      $saved = $baoName::writeRecords($items);
+    }
+    return $saved;
+  }
+
   /**
    * @inheritDoc
    */
@@ -341,6 +330,7 @@ trait DAOActionTrait {
     /** @var \CRM_Core_DAO|string $daoName */
     $daoName = CoreUtil::getInfoItem($this->getEntityName(), 'dao');
     $weightField = CoreUtil::getInfoItem($this->getEntityName(), 'order_by');
+    $grouping = CoreUtil::getInfoItem($this->getEntityName(), 'group_weights_by');
     $idField = CoreUtil::getIdFieldName($this->getEntityName());
     // If updating an existing record without changing weight, do nothing
     if (!isset($record[$weightField]) && !empty($record[$idField])) {
@@ -350,10 +340,8 @@ trait DAOActionTrait {
     $newWeight = $record[$weightField] ?? NULL;
     $oldWeight = empty($record[$idField]) ? NULL : \CRM_Core_DAO::getFieldValue($daoName, $record[$idField], $weightField);
 
-    // FIXME: Need a more metadata-ish approach. For now here's a hardcoded list of the fields sortable entities use for grouping.
-    $guesses = ['option_group_id', 'price_set_id', 'price_field_id', 'premiums_id', 'uf_group_id', 'custom_group_id', 'parent_id', 'domain_id'];
     $filters = [];
-    foreach (array_intersect($guesses, array_keys($daoFields)) as $filter) {
+    foreach ($grouping ?? [] as $filter) {
       $filters[$filter] = $record[$filter] ?? (empty($record[$idField]) ? NULL : \CRM_Core_DAO::getFieldValue($daoName, $record[$idField], $filter));
     }
     // Supply default weight for new record
diff --git a/civicrm/Civi/Api4/Generic/Traits/SoftDelete.php b/civicrm/Civi/Api4/Generic/Traits/SoftDeleteEntity.php
similarity index 97%
rename from civicrm/Civi/Api4/Generic/Traits/SoftDelete.php
rename to civicrm/Civi/Api4/Generic/Traits/SoftDeleteEntity.php
index 108495d7fc182db925c92a9292d6b6b07fbf2c45..4ddb28848782af4bcdebfbaf6245d522c0d07e6d 100644
--- a/civicrm/Civi/Api4/Generic/Traits/SoftDelete.php
+++ b/civicrm/Civi/Api4/Generic/Traits/SoftDeleteEntity.php
@@ -16,7 +16,7 @@ namespace Civi\Api4\Generic\Traits;
  * @method $this setUseTrash(bool $useTrash) Pass FALSE to force delete and bypass trash
  * @method bool getUseTrash()
  */
-trait SoftDelete {
+trait SoftDeleteEntity {
 
   /**
    * Should $ENTITY be moved to the trash instead of permanently deleted?
diff --git a/civicrm/Civi/Api4/MembershipType.php b/civicrm/Civi/Api4/MembershipType.php
index ba4c6f80d722b75d97d84ff1b0b78b2d129ddec4..37a07191b6a59283278c5f3e2ca7e419d67ed77e 100644
--- a/civicrm/Civi/Api4/MembershipType.php
+++ b/civicrm/Civi/Api4/MembershipType.php
@@ -15,6 +15,7 @@ namespace Civi\Api4;
  *
  * @searchable secondary
  * @orderBy weight
+ * @groupWeightsBy domain_id
  * @since 5.27
  * @package Civi\Api4
  */
diff --git a/civicrm/Civi/Api4/Navigation.php b/civicrm/Civi/Api4/Navigation.php
index ecf14ffe4165b23698655f48572603c5945a1f21..fc1d08e56d5e7530cda9a9b784c53183d70c96c7 100644
--- a/civicrm/Civi/Api4/Navigation.php
+++ b/civicrm/Civi/Api4/Navigation.php
@@ -15,6 +15,7 @@ namespace Civi\Api4;
  *
  * @searchable none
  * @orderBy weight
+ * @groupWeightsBy domain_id,parent_id
  * @since 5.19
  * @package Civi\Api4
  */
diff --git a/civicrm/Civi/Api4/OptionValue.php b/civicrm/Civi/Api4/OptionValue.php
index 7ca6e314811ab725552bf3f7e94eea93d496f468..a3486c3e7c766bcd44a79a36e5c19b14db5864a8 100644
--- a/civicrm/Civi/Api4/OptionValue.php
+++ b/civicrm/Civi/Api4/OptionValue.php
@@ -16,6 +16,7 @@ namespace Civi\Api4;
  * @see \Civi\Api4\OptionGroup
  * @searchable secondary
  * @orderBy weight
+ * @groupWeightsBy option_group_id
  * @since 5.19
  * @package Civi\Api4
  */
diff --git a/civicrm/Civi/Api4/Permission.php b/civicrm/Civi/Api4/Permission.php
index 07bf9ff34060ac474881a62f8cdc0c801ad743a2..a8a270c0918b9e60e45e44b948fee1e22303fd7b 100644
--- a/civicrm/Civi/Api4/Permission.php
+++ b/civicrm/Civi/Api4/Permission.php
@@ -43,6 +43,14 @@ class Permission extends Generic\AbstractEntity {
           'name' => 'group',
           'title' => 'Group',
           'data_type' => 'String',
+          'options' => [
+            'civicrm' => 'civicrm',
+            'cms' => 'cms',
+            'const' => 'const',
+            'afform' => 'afform',
+            'afformGeneric' => 'afformGeneric',
+            'unknown' => 'unknown',
+          ],
         ],
         [
           'name' => 'name',
diff --git a/civicrm/Civi/Api4/PriceField.php b/civicrm/Civi/Api4/PriceField.php
index dcbe67026ef30efc36094b2701aa688a5fe6eb87..8b1aba7ecf237a919b225052f56d277e9a23670d 100644
--- a/civicrm/Civi/Api4/PriceField.php
+++ b/civicrm/Civi/Api4/PriceField.php
@@ -15,6 +15,7 @@ namespace Civi\Api4;
  *
  * @searchable secondary
  * @orderBy weight
+ * @groupWeightsBy price_set_id
  * @since 5.27
  * @package Civi\Api4
  */
diff --git a/civicrm/Civi/Api4/PriceFieldValue.php b/civicrm/Civi/Api4/PriceFieldValue.php
index d6e20203efdebd83930d9ca618f3572a85797983..59249021686f806049d907d969e170d01e0f517f 100644
--- a/civicrm/Civi/Api4/PriceFieldValue.php
+++ b/civicrm/Civi/Api4/PriceFieldValue.php
@@ -15,6 +15,7 @@ namespace Civi\Api4;
  *
  * @searchable secondary
  * @orderBy weight
+ * @groupWeightsBy price_field_id
  * @since 5.27
  * @package Civi\Api4
  */
diff --git a/civicrm/Civi/Api4/Queue.php b/civicrm/Civi/Api4/Queue.php
new file mode 100644
index 0000000000000000000000000000000000000000..7c4e337b875b0b8e58993fb0bd2eabeef6f2b4fa
--- /dev/null
+++ b/civicrm/Civi/Api4/Queue.php
@@ -0,0 +1,35 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+namespace Civi\Api4;
+
+/**
+ * Track a list of durable/scannable queues.
+ *
+ * Registering a queue in this table (and setting `is_auto=1`) can
+ * allow it to execute tasks automatically in the background.
+ *
+ * @searchable none
+ * @since 5.47
+ * @package Civi\Api4
+ */
+class Queue extends \Civi\Api4\Generic\DAOEntity {
+
+  /**
+   * @return array
+   */
+  public static function permissions() {
+    return [
+      'meta' => ['access CiviCRM'],
+      'default' => ['administer queues'],
+    ];
+  }
+
+}
diff --git a/civicrm/Civi/Api4/RelationshipCache.php b/civicrm/Civi/Api4/RelationshipCache.php
index 77db19c2f2d75c1750052cbebebb810a8da3cafa..3beee1ab4303e2af9907f93566ba534a3047e469 100644
--- a/civicrm/Civi/Api4/RelationshipCache.php
+++ b/civicrm/Civi/Api4/RelationshipCache.php
@@ -53,7 +53,7 @@ class RelationshipCache extends Generic\AbstractEntity {
         'description' => ts('One or more related contacts'),
       ],
     ];
-    if (in_array('CiviCase', \Civi::settings()->get('enable_components'), TRUE)) {
+    if (\CRM_Core_Component::isEnabled('CiviCase')) {
       $info['bridge']['case_id'] = [
         'to' => 'far_contact_id',
         'label' => ts('Case Roles'),
diff --git a/civicrm/Civi/Api4/Service/Schema/Joinable/Joinable.php b/civicrm/Civi/Api4/Service/Schema/Joinable/Joinable.php
index 6b5aed9e8242c073b0ac369e1d1aa70ad1a857fa..076707504e1aaf41d662d626ed01125cf45fe077 100644
--- a/civicrm/Civi/Api4/Service/Schema/Joinable/Joinable.php
+++ b/civicrm/Civi/Api4/Service/Schema/Joinable/Joinable.php
@@ -244,7 +244,7 @@ class Joinable {
   }
 
   /**
-   * @param int|NULL $serialize
+   * @param int|null $serialize
    *
    * @return $this
    */
diff --git a/civicrm/Civi/Api4/Service/Spec/FieldSpec.php b/civicrm/Civi/Api4/Service/Spec/FieldSpec.php
index e1da6ce9c15ffe7e97ff4e9937452303f6e6eef7..89f13864160fc7fae5c1dd3e1d671fd7b002dcb8 100644
--- a/civicrm/Civi/Api4/Service/Spec/FieldSpec.php
+++ b/civicrm/Civi/Api4/Service/Spec/FieldSpec.php
@@ -63,6 +63,11 @@ class FieldSpec {
   /**
    * @var bool
    */
+  public $nullable = TRUE;
+
+  /**
+   * @var string
+   */
   public $requiredIf;
 
   /**
@@ -127,6 +132,24 @@ class FieldSpec {
     return $this->entity;
   }
 
+  /**
+   * @return bool
+   */
+  public function getNullable() {
+    return $this->nullable;
+  }
+
+  /**
+   * @param bool $nullable
+   *
+   * @return $this
+   */
+  public function setNullable(bool $nullable) {
+    $this->nullable = $nullable;
+
+    return $this;
+  }
+
   /**
    * @return bool
    */
@@ -146,14 +169,14 @@ class FieldSpec {
   }
 
   /**
-   * @return bool
+   * @return string
    */
   public function getRequiredIf() {
     return $this->requiredIf;
   }
 
   /**
-   * @param bool $requiredIf
+   * @param string $requiredIf
    *
    * @return $this
    */
diff --git a/civicrm/Civi/Api4/Service/Spec/Provider/ContactCreationSpecProvider.php b/civicrm/Civi/Api4/Service/Spec/Provider/ContactCreationSpecProvider.php
index ac13bcba8186c904b2951d3b0d68ca75e4b26861..c3d799dd0505cbf5ae404852c23bca202d4b7a1d 100644
--- a/civicrm/Civi/Api4/Service/Spec/Provider/ContactCreationSpecProvider.php
+++ b/civicrm/Civi/Api4/Service/Spec/Provider/ContactCreationSpecProvider.php
@@ -20,14 +20,8 @@ class ContactCreationSpecProvider implements Generic\SpecProviderInterface {
    * @param \Civi\Api4\Service\Spec\RequestSpec $spec
    */
   public function modifySpec(RequestSpec $spec) {
-    $contactTypeField = $spec->getFieldByName('contact_type');
-    if ($contactTypeField) {
-      $contactTypeField->setDefaultValue('Individual');
-    }
-
     $spec->getFieldByName('is_opt_out')->setRequired(FALSE);
     $spec->getFieldByName('is_deleted')->setRequired(FALSE);
-
   }
 
   /**
diff --git a/civicrm/Civi/Api4/Service/Spec/Provider/EventCreationSpecProvider.php b/civicrm/Civi/Api4/Service/Spec/Provider/EventCreationSpecProvider.php
index d6c331cc47bcadeda7c9df9d2beb2d0411e625ad..e58d8752a41a63c266ff445f04f30e94c7572388 100644
--- a/civicrm/Civi/Api4/Service/Spec/Provider/EventCreationSpecProvider.php
+++ b/civicrm/Civi/Api4/Service/Spec/Provider/EventCreationSpecProvider.php
@@ -31,6 +31,8 @@ class EventCreationSpecProvider implements Generic\SpecProviderInterface {
       ->setTitle('Template Id')
       ->setDescription('Template on which to base this new event');
     $spec->addFieldSpec($template_id);
+
+    $spec->getFieldByName('event_tz')->setDefaultValue(\CRM_Core_Config::singleton()->userSystem->getTimeZoneString());
   }
 
   /**
diff --git a/civicrm/Civi/Api4/Service/Spec/Provider/RelationshipCacheSpecProvider.php b/civicrm/Civi/Api4/Service/Spec/Provider/RelationshipCacheSpecProvider.php
new file mode 100644
index 0000000000000000000000000000000000000000..cb65e5a143c665704820bf93439007a6bdf89406
--- /dev/null
+++ b/civicrm/Civi/Api4/Service/Spec/Provider/RelationshipCacheSpecProvider.php
@@ -0,0 +1,99 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Service\Spec\Provider;
+
+use Civi\Api4\Service\Spec\FieldSpec;
+use Civi\Api4\Service\Spec\RequestSpec;
+
+class RelationshipCacheSpecProvider implements Generic\SpecProviderInterface {
+
+  /**
+   * @param \Civi\Api4\Service\Spec\RequestSpec $spec
+   */
+  public function modifySpec(RequestSpec $spec) {
+    $mirrorFields = [
+      'description' => 'description',
+      // Alias these two to avoid name conflict with fields in civicrm_contact table during bridge joins
+      'created_date' => 'relationship_created_date',
+      'modified_date' => 'relationship_modified_date',
+    ];
+    $relationshipFields = \CRM_Contact_DAO_Relationship::getSupportedFields();
+    foreach (array_intersect_key($relationshipFields, $mirrorFields) as $origName => $origField) {
+      $field = new FieldSpec($mirrorFields[$origName], $spec->getEntity(), \CRM_Utils_Type::typeToString($origField['type']));
+      $field
+        ->setTitle($origField['title'])
+        ->setLabel($origField['html']['label'] ?? NULL)
+        // Fetches the value from the relationship
+        ->setColumnName('relationship_id')
+        ->setDescription($origField['description'])
+        ->setSqlRenderer([__CLASS__, 'mirrorRelationshipField']);
+      $spec->addFieldSpec($field);
+    }
+
+    $directionalFields = [
+      'permission_near_to_far' => [
+        'title' => ts("Permission to access related contact"),
+        'description' => ts('Whether contact has permission to view or update update the related contact'),
+      ],
+      'permission_far_to_near' => [
+        'title' => ts("Permission to be accessed by related contact"),
+        'description' => ts('Whether related contact has permission to view or update this contact'),
+      ],
+    ];
+    foreach ($directionalFields as $name => $fieldInfo) {
+      $field = new FieldSpec($name, $spec->getEntity(), 'Integer');
+      $field
+        ->setTitle($fieldInfo['title'])
+        // Fetches the value from the relationship
+        ->setColumnName('relationship_id')
+        ->setDescription($fieldInfo['description'])
+        ->setOptionsCallback(['CRM_Core_SelectValues', 'getPermissionedRelationshipOptions'])
+        ->setSqlRenderer([__CLASS__, 'directionalRelationshipField']);
+      $spec->addFieldSpec($field);
+    }
+
+  }
+
+  /**
+   * @inheritDoc
+   */
+  public function applies($entity, $action) {
+    return $entity === 'RelationshipCache' && $action === 'get';
+  }
+
+  /**
+   * Generates sql for `description`, `relationship_created_date` and `relationship_modified_date` pseudo fields
+   *
+   * Note: the latter two have `relationship_` prefixing the field names to avoid naming conflicts during bridge joins.
+   *
+   * @param array $field
+   * return string
+   */
+  public static function mirrorRelationshipField(array $field): string {
+    $fieldName = str_replace('relationship_', '', $field['name']);
+    return "(SELECT r.`$fieldName` FROM `civicrm_relationship` r WHERE r.`id` = {$field['sql_name']})";
+  }
+
+  /**
+   * Generates sql for `permission_near_to_far` and `permission_far_to_near` pseudo fields
+   *
+   * @param array $field
+   * return string
+   */
+  public static function directionalRelationshipField(array $field): string {
+    $direction = $field['name'] === 'permission_near_to_far' ? 'a_b' : 'b_a';
+    $orientation = str_replace('.`relationship_id`', '.`orientation`', $field['sql_name']);
+    return "(SELECT IF($orientation = '$direction', r.is_permission_a_b, r.is_permission_b_a) FROM `civicrm_relationship` r WHERE r.`id` = {$field['sql_name']})";
+  }
+
+}
diff --git a/civicrm/Civi/Api4/Service/Spec/SpecFormatter.php b/civicrm/Civi/Api4/Service/Spec/SpecFormatter.php
index cee41e1ac1daea71ec7dabf8a88b3adf7f1717f4..058f83dea24fa5aaca86f7b6881636eb62ac72fa 100644
--- a/civicrm/Civi/Api4/Service/Spec/SpecFormatter.php
+++ b/civicrm/Civi/Api4/Service/Spec/SpecFormatter.php
@@ -37,6 +37,7 @@ class SpecFormatter {
         $field->setTableName($data['custom_group_id.table_name']);
       }
       $field->setColumnName($data['column_name']);
+      $field->setNullable(empty($data['is_required']));
       $field->setCustomFieldId($data['id'] ?? NULL);
       $field->setCustomGroupName($data['custom_group_id.name']);
       $field->setTitle($data['label']);
@@ -58,7 +59,8 @@ class SpecFormatter {
       $field = new FieldSpec($name, $entity, $dataTypeName);
       $field->setType('Field');
       $field->setColumnName($name);
-      $field->setRequired(!empty($data['required']));
+      $field->setNullable(empty($data['required']));
+      $field->setRequired(!empty($data['required']) && empty($data['default']));
       $field->setTitle($data['title'] ?? NULL);
       $field->setLabel($data['html']['label'] ?? NULL);
       if (!empty($data['pseudoconstant'])) {
diff --git a/civicrm/Civi/Api4/Service/Spec/SpecGatherer.php b/civicrm/Civi/Api4/Service/Spec/SpecGatherer.php
index 51a36fc82bdccc12073c744312655b1e4a8e1277..e37656747f6afac9659cd6238f1bc78e44ae24cf 100644
--- a/civicrm/Civi/Api4/Service/Spec/SpecGatherer.php
+++ b/civicrm/Civi/Api4/Service/Spec/SpecGatherer.php
@@ -55,7 +55,7 @@ class SpecGatherer {
     }
 
     // Default value only makes sense for create actions
-    if ($action != 'create') {
+    if ($action !== 'create') {
       foreach ($specification->getFields() as $field) {
         $field->setDefaultValue(NULL);
       }
@@ -92,14 +92,9 @@ class SpecGatherer {
       if (array_key_exists('contactType', $DAOField) && $spec->getValue('contact_type') && $DAOField['contactType'] != $spec->getValue('contact_type')) {
         continue;
       }
-      if (!empty($DAOField['component']) &&
-        !in_array($DAOField['component'], \Civi::settings()->get('enable_components'), TRUE)
-      ) {
+      if (!empty($DAOField['component']) && !\CRM_Core_Component::isEnabled($DAOField['component'])) {
         continue;
       }
-      if ($action !== 'create' || isset($DAOField['default'])) {
-        $DAOField['required'] = FALSE;
-      }
       if ($DAOField['name'] == 'is_active' && empty($DAOField['default'])) {
         $DAOField['default'] = '1';
       }
diff --git a/civicrm/Civi/Api4/SubscriptionHistory.php b/civicrm/Civi/Api4/SubscriptionHistory.php
new file mode 100644
index 0000000000000000000000000000000000000000..fd75e83ef58fd4d83e946d96149e068a28d42877
--- /dev/null
+++ b/civicrm/Civi/Api4/SubscriptionHistory.php
@@ -0,0 +1,22 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+namespace Civi\Api4;
+
+/**
+ * SubscriptionHistory entity.
+ *
+ * @searchable secondary
+ * @since 5.47
+ * @package Civi\Api4
+ */
+class SubscriptionHistory extends Generic\DAOEntity {
+
+}
diff --git a/civicrm/Civi/Api4/UFField.php b/civicrm/Civi/Api4/UFField.php
index 7fbd05df2f6d26685f1a8ea39c50a36d909aab16..01479ada1eb2b1e04b8a6af574ae866fede20b39 100644
--- a/civicrm/Civi/Api4/UFField.php
+++ b/civicrm/Civi/Api4/UFField.php
@@ -16,6 +16,7 @@ namespace Civi\Api4;
  * @see \Civi\Api4\UFGroup
  * @searchable none
  * @orderBy weight
+ * @groupWeightsBy uf_group_id
  * @since 5.19
  * @package Civi\Api4
  */
diff --git a/civicrm/Civi/Api4/Utils/FormattingUtil.php b/civicrm/Civi/Api4/Utils/FormattingUtil.php
index f537e73b5e8b91406dada370c348dcdc7d594394..4c62b46592ccbdba04670e571cb202010949ae53 100644
--- a/civicrm/Civi/Api4/Utils/FormattingUtil.php
+++ b/civicrm/Civi/Api4/Utils/FormattingUtil.php
@@ -56,7 +56,8 @@ class FormattingUtil {
       /*
        * Because of the wacky way that database values are saved we need to format
        * some of the values here. In this strange world the string 'null' is used to
-       * unset values. Hence if we encounter true null we change it to string 'null'.
+       * unset values. If we encounter true null at this layer we change it to an empty string
+       * and it will be converted to 'null' by CRM_Core_DAO::copyValues.
        *
        * If we encounter the string 'null' then we assume the user actually wants to
        * set the value to string null. However since the string null is reserved for
@@ -66,7 +67,7 @@ class FormattingUtil {
        * 'Null'.
        */
       elseif (array_key_exists($name, $params) && $params[$name] === NULL) {
-        $params[$name] = 'null';
+        $params[$name] = '';
       }
     }
 
@@ -338,6 +339,10 @@ class FormattingUtil {
         case 'Money':
         case 'Float':
           return (float) $value;
+
+        case 'Date':
+          // Strip time from date-only fields
+          return substr($value, 0, 10);
       }
     }
     return $value;
diff --git a/civicrm/Civi/Api4/Utils/ReflectionUtils.php b/civicrm/Civi/Api4/Utils/ReflectionUtils.php
index 0263718e3aa44b82a5bd78cbcc3e373536910bfb..f09d8841d96259bc855798659e1eb123c6010248 100644
--- a/civicrm/Civi/Api4/Utils/ReflectionUtils.php
+++ b/civicrm/Civi/Api4/Utils/ReflectionUtils.php
@@ -88,7 +88,7 @@ class ReflectionUtils {
         elseif ($key == 'return') {
           $info['return'] = explode('|', $words[0]);
         }
-        elseif ($key == 'options' || $key == 'ui_join_filters') {
+        elseif ($key == 'options' || $key == 'ui_join_filters' || $key == 'groupWeightsBy') {
           $val = str_replace(', ', ',', implode(' ', $words));
           $info[$key] = explode(',', $val);
         }
diff --git a/civicrm/Civi/Core/AssetBuilder.php b/civicrm/Civi/Core/AssetBuilder.php
index aa40a097f47a3a57b7ecf65b8060589cb6e76b5d..a67569364debdeeb9d3142d667f46911db5fa458 100644
--- a/civicrm/Civi/Core/AssetBuilder.php
+++ b/civicrm/Civi/Core/AssetBuilder.php
@@ -241,7 +241,7 @@ class AssetBuilder {
   /**
    * Determine the local path of a cache file.
    *
-   * @param string|NULL $fileName
+   * @param string|null $fileName
    *   Ex: 'angular.abcd1234abcd1234.json'.
    * @return string
    *   URL.
@@ -257,7 +257,7 @@ class AssetBuilder {
   /**
    * Determine the URL of a cache file.
    *
-   * @param string|NULL $fileName
+   * @param string|null $fileName
    *   Ex: 'angular.abcd1234abcd1234.json'.
    * @return string
    *   URL.
diff --git a/civicrm/Civi/Core/Container.php b/civicrm/Civi/Core/Container.php
index d733b6ce0473f8334377335edc6be7def331befc..a6e6d555afbbf8bf86ada284423973403dcbf2c2 100644
--- a/civicrm/Civi/Core/Container.php
+++ b/civicrm/Civi/Core/Container.php
@@ -262,6 +262,11 @@ class Container {
     }
     $container->setAlias('cache.short', 'cache.default')->setPublic(TRUE);
 
+    $container->setDefinition('civi.pipe', new Definition(
+      'Civi\Pipe\PipeSession',
+      []
+    ))->setPublic(TRUE)->setShared(FALSE);
+
     $container->setDefinition('resources', new Definition(
       'CRM_Core_Resources',
       [new Reference('service_container')]
diff --git a/civicrm/Civi/Core/DAO/Event/PostDelete.php b/civicrm/Civi/Core/DAO/Event/PostDelete.php
index ade776ebc96b58f29f621e58291aad95dfac174a..c8ea247170fc384db6a2c26db897a5dbddf50b70 100644
--- a/civicrm/Civi/Core/DAO/Event/PostDelete.php
+++ b/civicrm/Civi/Core/DAO/Event/PostDelete.php
@@ -23,13 +23,13 @@ class PostDelete extends \Symfony\Component\EventDispatcher\Event {
   public $object;
 
   /**
-   * @var mixed
+   * @var int|false
    */
   public $result;
 
   /**
-   * @param $object
-   * @param $result
+   * @param \CRM_Core_DAO $object
+   * @param int|false $result
    */
   public function __construct($object, $result) {
     $this->object = $object;
diff --git a/civicrm/Civi/Core/Event/PreEvent.php b/civicrm/Civi/Core/Event/PreEvent.php
index db25c344e09538779d9e8ca5e666665d0d7943d8..444739b1c314cfca383f4a37df80271d054be3fc 100644
--- a/civicrm/Civi/Core/Event/PreEvent.php
+++ b/civicrm/Civi/Core/Event/PreEvent.php
@@ -44,7 +44,7 @@ class PreEvent extends GenericHookEvent {
    *
    * @param string $action
    * @param string $entity
-   * @param int $id
+   * @param int|null $id
    * @param array $params
    */
   public function __construct($action, $entity, $id, &$params) {
diff --git a/civicrm/Civi/Core/Format.php b/civicrm/Civi/Core/Format.php
index 2ea33946ad2b7bf104f876dae0ed6eb6e81cc5aa..b3076d0e8dc6b6f314c941c47729ec54e4480fc0 100644
--- a/civicrm/Civi/Core/Format.php
+++ b/civicrm/Civi/Core/Format.php
@@ -23,30 +23,27 @@ class Format {
   /**
    * Get formatted money
    *
-   * @param string|int|float $amount
+   * @param string|int|float|BigDecimal $amount
    * @param string|null $currency
    *   Currency, defaults to site currency if not provided.
    * @param string|null $locale
    *
    * @return string
    *
+   * @throws \CRM_Core_Exception
+   *
    * @noinspection PhpDocMissingThrowsInspection
    * @noinspection PhpUnhandledExceptionInspection
    */
   public function money($amount, ?string $currency = NULL, ?string $locale = NULL): string {
-    // Empty value => empty string
-    if (is_null($amount) || $amount === '' || $amount === FALSE) {
+    if (($amount = $this->checkAndConvertAmount($amount)) === '') {
       return '';
     }
-    // Verify the amount is a number or numeric string/object
-    elseif ($amount === TRUE || !is_numeric((string) $amount)) {
-      throw new \CRM_Core_Exception('Invalid value for type money');
-    }
     if (!$currency) {
       $currency = Civi::settings()->get('defaultCurrency');
     }
     if (!isset($locale)) {
-      $locale = CRM_Core_I18n::getLocale();
+      $locale = Civi::settings()->get('format_locale') ?? CRM_Core_I18n::getLocale();
     }
     $money = Money::of($amount, $currency, NULL, RoundingMode::HALF_UP);
     $formatter = $this->getMoneyFormatter($currency, $locale);
@@ -66,11 +63,15 @@ class Format {
    *   add any padding.
    *
    * @return string
+   * @throws \CRM_Core_Exception
    */
   public function number($amount, ?string $locale = NULL, array $attributes = [
     NumberFormatter::MIN_FRACTION_DIGITS => 0,
     NumberFormatter::MAX_FRACTION_DIGITS => 8,
   ]): string {
+    if (($amount = $this->checkAndConvertAmount($amount)) === '') {
+      return '';
+    }
     $formatter = $this->getMoneyFormatter(NULL, $locale, NumberFormatter::DECIMAL, $attributes);
     return $formatter->format($amount);
   }
@@ -80,7 +81,7 @@ class Format {
    *
    * @param string|float|int $amount
    * @param string $currency
-   * @param $locale
+   * @param string|null $locale
    *
    * @return string
    *
@@ -88,6 +89,9 @@ class Format {
    * @noinspection PhpUnhandledExceptionInspection
    */
   public function moneyNumber($amount, string $currency, $locale): string {
+    if (($amount = $this->checkAndConvertAmount($amount)) === '') {
+      return '';
+    }
     $formatter = $this->getMoneyFormatter($currency, $locale, NumberFormatter::DECIMAL);
     $money = Money::of($amount, $currency, NULL, RoundingMode::HALF_UP);
     return $money->formatWith($formatter);
@@ -106,6 +110,9 @@ class Format {
    * @noinspection PhpUnhandledExceptionInspection
    */
   public function moneyLong($amount, ?string $currency, ?string $locale): string {
+    if (($amount = $this->checkAndConvertAmount($amount)) === '') {
+      return '';
+    }
     $formatter = $this->getMoneyFormatter($currency, $locale, NumberFormatter::CURRENCY, [
       NumberFormatter::MAX_FRACTION_DIGITS => 9,
     ]);
@@ -126,6 +133,9 @@ class Format {
    * @noinspection PhpUnhandledExceptionInspection
    */
   public function moneyNumberLong($amount, ?string $currency, ?string $locale): string {
+    if (($amount = $this->checkAndConvertAmount($amount)) === '') {
+      return '';
+    }
     $formatter = $this->getMoneyFormatter($currency, $locale, NumberFormatter::DECIMAL, [
       NumberFormatter::MAX_FRACTION_DIGITS => 9,
     ]);
@@ -140,7 +150,7 @@ class Format {
    * we are looking at how to manage an 'opt in'
    */
   protected function isUseSeparatorSettings(): bool {
-    return !CRM_Utils_Constant::value('IGNORE_SEPARATOR_CONFIG');
+    return !Civi::settings()->get('format_locale') && !CRM_Utils_Constant::value('IGNORE_SEPARATOR_CONFIG');
   }
 
   /**
@@ -189,4 +199,28 @@ class Format {
     return \Civi::$statics[$cacheKey];
   }
 
+  /**
+   * Since the input can be various data types and values, we need to handle
+   * them before passing on to the Brick libraries which would throw exceptions
+   * for ones that we are ok just converting to the empty string.
+   *
+   * @param string|int|float|BigDecimal $amount
+   * @return string
+   *   Either the empty string if an empty-ish value, or the original amount as a string.
+   * @throws \CRM_Core_Exception
+   */
+  private function checkAndConvertAmount($amount): string {
+    // Empty value => empty string
+    // FALSE should be an error but some smarty variables are filled with FALSE to avoid ENOTICES.
+    if (is_null($amount) || $amount === '' || $amount === FALSE) {
+      return '';
+    }
+    // Verify the amount is a number or numeric string/object.
+    // We cast to string because it can be a BigDecimal object.
+    if ($amount === TRUE || !is_numeric((string) $amount)) {
+      throw new \CRM_Core_Exception('Invalid value for type money');
+    }
+    return (string) $amount;
+  }
+
 }
diff --git a/civicrm/Civi/Core/Paths.php b/civicrm/Civi/Core/Paths.php
index aaab990d388d2c86fcf79271a9a675b461326be6..478141eb12063358f25cbd5ca4fa2dc3cb907ba2 100644
--- a/civicrm/Civi/Core/Paths.php
+++ b/civicrm/Civi/Core/Paths.php
@@ -232,7 +232,7 @@ class Paths {
    *   The result data may not meet the preference -- if the setting
    *   refers to an external domain, then the result will be
    *   absolute (regardless of preference).
-   * @param bool|NULL $ssl
+   * @param bool|null $ssl
    *   NULL to autodetect. TRUE to force to SSL.
    * @return FALSE|string
    *   The URL for $value (string), or FALSE if the $value is not specified.
diff --git a/civicrm/Civi/Core/SqlTrigger/StaticTriggers.php b/civicrm/Civi/Core/SqlTrigger/StaticTriggers.php
index e7e7a501650531aaf5d6a5d46a0e3da17e80c758..c9867ed85f24b6951dbb459a71c31448f8f44fbe 100644
--- a/civicrm/Civi/Core/SqlTrigger/StaticTriggers.php
+++ b/civicrm/Civi/Core/SqlTrigger/StaticTriggers.php
@@ -58,7 +58,7 @@ class StaticTriggers {
    *
    * @param array $info
    *   See hook_civicrm_triggerInfo.
-   * @param string|NULL $tableFilter
+   * @param string|null $tableFilter
    *   See hook_civicrm_triggerInfo.
    */
   public function alterTriggerInfo(&$info, $tableFilter = NULL) {
diff --git a/civicrm/Civi/Core/SqlTrigger/TimestampTriggers.php b/civicrm/Civi/Core/SqlTrigger/TimestampTriggers.php
index f7730e940c958da34974ee3da0a0a10403a609f0..606bf0c737885ae6ba5c3faacb5100e9601ebfd6 100644
--- a/civicrm/Civi/Core/SqlTrigger/TimestampTriggers.php
+++ b/civicrm/Civi/Core/SqlTrigger/TimestampTriggers.php
@@ -119,7 +119,7 @@ class TimestampTriggers {
    *
    * @param array $info
    *   See hook_civicrm_triggerInfo.
-   * @param string|NULL $tableFilter
+   * @param string|null $tableFilter
    *   See hook_civicrm_triggerInfo.
    */
   public function alterTriggerInfo(&$info, $tableFilter = NULL) {
diff --git a/civicrm/Civi/Core/Transaction/Frame.php b/civicrm/Civi/Core/Transaction/Frame.php
index 7dbe7e4a5054440626f3b70371efbe9cfef88f3a..a24b611dc9c292251097e8f8c9cc25324d8c4d49 100644
--- a/civicrm/Civi/Core/Transaction/Frame.php
+++ b/civicrm/Civi/Core/Transaction/Frame.php
@@ -168,11 +168,11 @@ class Frame {
    *
    * @param int $phase
    *   A constant; one of: self::PHASE_{PRE,POST}_{COMMIT,ROLLBACK}.
-   * @param mixed $callback
+   * @param callable $callback
    *   A PHP callback.
-   * @param array|NULL $params Optional values to pass to callback.
+   * @param mixed $params Optional values to pass to callback.
    *          See php manual call_user_func_array for details.
-   * @param null $id
+   * @param string|int|null $id
    */
   public function addCallback($phase, $callback, $params = NULL, $id = NULL) {
     if ($id) {
diff --git a/civicrm/Civi/Crypto/CryptoRegistry.php b/civicrm/Civi/Crypto/CryptoRegistry.php
index 393e234b974881f183c713ff149b279aeb3107b1..27f0a9de8f418bde414ebddcbc75d4c9b4c102cd 100644
--- a/civicrm/Civi/Crypto/CryptoRegistry.php
+++ b/civicrm/Civi/Crypto/CryptoRegistry.php
@@ -193,7 +193,7 @@ class CryptoRegistry {
   /**
    * @param CipherSuiteInterface $cipherSuite
    *   The encryption/decryption callback/handler
-   * @param string[]|NULL $names
+   * @param string[]|null $names
    *   Symbolic names. Ex: 'aes-cbc'
    *   If NULL, probe $cipherSuite->getNames()
    */
diff --git a/civicrm/Civi/Install/Requirements.php b/civicrm/Civi/Install/Requirements.php
index e35d242d49d45a71a22bf8428897d69449145bfb..6b6b68af1316be4554012a8124c4583f7a659b24 100644
--- a/civicrm/Civi/Install/Requirements.php
+++ b/civicrm/Civi/Install/Requirements.php
@@ -121,7 +121,7 @@ class Requirements {
   /**
    * Generates a mysql connection
    *
-   * @param $db_config array
+   * @param array $db_config
    * @return object mysqli connection
    */
   protected function connect($db_config) {
diff --git a/civicrm/Civi/Payment/PropertyBag.php b/civicrm/Civi/Payment/PropertyBag.php
index 6b39c0f74c6c494bc34e8fe05d7bb1c289bd1c8f..4e76c5aedf5d186951485e4795ca12e0692c933f 100644
--- a/civicrm/Civi/Payment/PropertyBag.php
+++ b/civicrm/Civi/Payment/PropertyBag.php
@@ -26,13 +26,23 @@ class PropertyBag implements \ArrayAccess {
 
   protected static $propMap = [
     'amount'                      => TRUE,
+    'total_amount'                => 'amount',
     'billingStreetAddress'        => TRUE,
+    'billing_street_address'      => 'billingStreetAddress',
+    'street_address'              => 'billingStreetAddress',
     'billingSupplementalAddress1' => TRUE,
     'billingSupplementalAddress2' => TRUE,
     'billingSupplementalAddress3' => TRUE,
     'billingCity'                 => TRUE,
+    'billing_city'                => 'billingCity',
+    'city'                        => 'billingCity',
     'billingPostalCode'           => TRUE,
+    'billing_postal_code'         => 'billingPostalCode',
+    'postal_code'                 => 'billingPostalCode',
     'billingCounty'               => TRUE,
+    'billingStateProvince'        => TRUE,
+    'billing_state_province'      => 'billingStateProvince',
+    'state_province'              => 'billingStateProvince',
     'billingCountry'              => TRUE,
     'contactID'                   => TRUE,
     'contact_id'                  => 'contactID',
@@ -258,13 +268,18 @@ class PropertyBag implements \ArrayAccess {
     if ($newName === NULL && substr($prop, -2) === '-' . \CRM_Core_BAO_LocationType::getBilling()
       && isset(static::$propMap[substr($prop, 0, -2)])
     ) {
-      $newName = substr($prop, 0, -2);
+      $billingAddressProp = substr($prop, 0, -2);
+      $newName = static::$propMap[$billingAddressProp] ?? NULL;
+      if ($newName === TRUE) {
+        // Good, modern name.
+        return $billingAddressProp;
+      }
     }
 
     if ($newName === NULL) {
       if ($silent) {
         // Only for use by offsetExists
-        return;
+        return NULL;
       }
       throw new \InvalidArgumentException("Unknown property '$prop'.");
     }
@@ -591,6 +606,27 @@ class PropertyBag implements \ArrayAccess {
     return $this->set('billingCounty', $label, (string) $input);
   }
 
+  /**
+   * BillingStateProvince getter.
+   *
+   * @return string
+   */
+  public function getBillingStateProvince($label = 'default') {
+    return $this->get('billingStateProvince', $label);
+  }
+
+  /**
+   * BillingStateProvince setter.
+   *
+   * Nb. we can't validate this unless we have the country ID too, so we don't.
+   *
+   * @param string $input
+   * @param string $label e.g. 'default'
+   */
+  public function setBillingStateProvince($input, $label = 'default') {
+    return $this->set('billingStateProvince', $label, (string) $input);
+  }
+
   /**
    * BillingCountry getter.
    *
diff --git a/civicrm/Civi/Pipe/BasicPipeClient.php b/civicrm/Civi/Pipe/BasicPipeClient.php
new file mode 100644
index 0000000000000000000000000000000000000000..0544db39852205bd8c2662560a19ed77cac0f22b
--- /dev/null
+++ b/civicrm/Civi/Pipe/BasicPipeClient.php
@@ -0,0 +1,166 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Pipe;
+
+/**
+ * This is a thin/trivial client implementation that connects to Civi::pipe()
+ * and synchronously exchanges JSON messages.
+ *
+ * It is intended for use E2E testing.
+ *
+ * @code
+ * $rpc = new BasicPipeClient('drush ev \'civicrm_initialize(); Civi::pipe();\'');
+ * $rpc->call('login', ['contactId' => 202]);
+ * $contacts = $rpc->call('api4', ['Contact', 'get']);
+ * @endCode
+ *
+ * Failed method-calls will emit `JsonRpcMethodException`.
+ * Errors in protocol handling will emit `RuntimeExcpetion`.
+ */
+class BasicPipeClient {
+
+  /**
+   * Maximum length of a requst
+   *
+   * @var int
+   */
+  private $bufferSize;
+
+  /**
+   * @var array
+   */
+  private $pipes;
+
+  /**
+   * @var resource|false|null
+   */
+  private $process;
+
+  /**
+   * @var array|null
+   */
+  private $welcome;
+
+  /**
+   * @param string|null $command
+   *   The shell command to start the pipe. If given, auto-connect.
+   *   If omitted, then you can call connect($command) later.
+   *   Ex: `cv ev 'Civi::pipe();'`, `cv ev 'Civi::pipe("u");'`, `drush ev 'civicrm_initialize(); Civi::pipe("vt");'`
+   * @param int $bufferSize
+   */
+  public function __construct(?string $command = NULL, int $bufferSize = 32767) {
+    $this->bufferSize = $bufferSize;
+    if ($command) {
+      $this->connect($command);
+    }
+  }
+
+  public function __destruct() {
+    if ($this->process) {
+      $this->close();
+    }
+  }
+
+  /**
+   * Start a worker process.
+   *
+   * @param string $command
+   *   The shell command to start the pipe.
+   *   Ex: `cv ev 'Civi::pipe();'`, `cv ev 'Civi::pipe("u");'`, `drush ev 'civicrm_initialize(); Civi::pipe("vt");'`
+   * @return array
+   *   Returns the header/welcome message for the connection.
+   */
+  public function connect(string $command): array {
+    if ($this->process) {
+      throw new \RuntimeException('Client error: Already connected');
+    }
+
+    $desc = [['pipe', 'r'], ['pipe', 'w'], ['pipe', 'a']];
+    $this->process = proc_open($command, $desc, $this->pipes);
+    if (!$this->process) {
+      throw new \RuntimeException("Client error: Failed to open process: $command");
+    }
+    $line = stream_get_line($this->pipes[1], $this->bufferSize, "\n");
+    $this->welcome = json_decode($line, TRUE);
+    if ($this->welcome === NULL || !isset($this->welcome['Civi::pipe'])) {
+      throw new \RuntimeException('Protocol error: Received malformed welcome');
+    }
+    return $this->welcome['Civi::pipe'];
+  }
+
+  public function close(): void {
+    proc_close($this->process);
+    $this->pipes = NULL;
+    $this->process = NULL;
+  }
+
+  /**
+   * Call a method and return the result.
+   *
+   * @param string $method
+   * @param array $params
+   * @param string|int|null $id
+   * @return array{result: array, error: array, jsonrpc: string, id: string|int|null}
+   *   The JSON-RPC response recrd. Contains `result` or `error`.
+   */
+  public function call(string $method, array $params, $id = NULL): array {
+    if (!$this->process) {
+      throw new \RuntimeException('Client error: Connection was not been opened yet.');
+    }
+
+    $requestLine = json_encode(['jsonrpc' => '2.0', 'method' => $method, 'params' => $params, 'id' => $id]);
+    fwrite($this->pipes[0], $requestLine . "\n");
+    $responseLine = stream_get_line($this->pipes[1], $this->bufferSize, "\n");
+    $decode = json_decode($responseLine, TRUE);
+    if (!isset($decode['jsonrpc']) || $decode['jsonrpc'] !== '2.0') {
+      throw new \RuntimeException('Protocol error: Response lacks JSON-RPC header.');
+    }
+    if (!array_key_exists('id', $decode) || $decode['id'] !== $id) {
+      throw new \RuntimeException('Protocol error: Received response for wrong request.');
+    }
+
+    if (array_key_exists('error', $decode) && !array_key_exists('result', $decode)) {
+      throw new JsonRpcMethodException($decode);
+    }
+    if (array_key_exists('result', $decode) && !array_key_exists('error', $decode)) {
+      return $decode['result'];
+    }
+    throw new \RuntimeException("Protocol error: Response must include 'result' xor 'error'.");
+  }
+
+  /**
+   * @param int $bufferSize
+   * @return $this
+   */
+  public function setBufferSize(int $bufferSize) {
+    $this->bufferSize = $bufferSize;
+    if ($this->process) {
+      $this->call('options', ['bufferSize' => $bufferSize]);
+    }
+    return $this;
+  }
+
+  /**
+   * @return int
+   */
+  public function getBufferSize(): int {
+    return $this->bufferSize;
+  }
+
+  /**
+   * @return array|NULL
+   */
+  public function getWelcome(): ?array {
+    return $this->welcome['Civi::pipe'] ?? NULL;
+  }
+
+}
diff --git a/civicrm/Civi/Pipe/JsonRpc.php b/civicrm/Civi/Pipe/JsonRpc.php
new file mode 100644
index 0000000000000000000000000000000000000000..3e458cd00c4a94de19d8cc86939da05cbc9e84f8
--- /dev/null
+++ b/civicrm/Civi/Pipe/JsonRpc.php
@@ -0,0 +1,125 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Pipe;
+
+class JsonRpc {
+
+  /**
+   * Execute a JSON-RPC request and return a result.
+   *
+   * This adapter handles decoding, encoding, and conversion of exceptions.
+   *
+   * @code
+   * $input = '{"jsonrpc":"2.0","method":"greet","id":1}';
+   * $output = JsonRpc::run($input, function(string $method, array $params) {
+   *   if ($method === 'greet') return 'hello world';
+   *   else throw new \InvalidArgumentException('Method not found', -32601);
+   * });
+   * assert $output === '{"jsonrpc":"2.0","result":"hello world","id":1}';
+   * @endCode
+   *
+   * @param string $requestLine
+   *   JSON formatted RPC request
+   * @param callable $dispatcher
+   *   Dispatch function - given a parsed/well-formed request, compute the result.
+   *   Signature: function(string $method, mixed $params): mixed
+   * @return string
+   *   JSON formatted RPC response
+   */
+  public static function run(string $requestLine, callable $dispatcher): string {
+    $parsed = \json_decode($requestLine, TRUE);
+
+    if ($parsed === NULL) {
+      throw new \InvalidArgumentException('Parse error', -32700);
+    }
+
+    if (isset($parsed[0])) {
+      $response = [];
+      foreach ($parsed as $request) {
+        $response[] = static::handleMethodCall($request, $dispatcher);
+      }
+    }
+    elseif (isset($parsed['method'])) {
+      $response = static::handleMethodCall($parsed, $dispatcher);
+    }
+    else {
+      // [sic] 'Invalid Request' title-case is anomalous but dictated by standard.
+      throw new \InvalidArgumentException('Invalid Request', -32600);
+    }
+
+    return \json_encode($response);
+  }
+
+  protected static function handleMethodCall($request, $dispatcher): array {
+    try {
+      if ($request === NULL) {
+        throw new \InvalidArgumentException('Parse error', -32700);
+      }
+      if (($request['jsonrpc'] ?? '') !== '2.0' || !is_string($request['method'])) {
+        // [sic] 'Invalid Request' title-case is anomalous but dictated by standard.
+        throw new \InvalidArgumentException('Invalid Request', -32600);
+      }
+      if (isset($request['params']) && !is_array($request['params'])) {
+        throw new \InvalidArgumentException('Invalid params', -32602);
+      }
+
+      $result = $dispatcher($request['method'], $request['params'] ?? []);
+      return static::createResponseSuccess($request, $result);
+    }
+    catch (\Throwable $t) {
+      return static::createResponseError($request, $t);
+    }
+  }
+
+  /**
+   * Create a response object (successful).
+   *
+   * @link https://www.jsonrpc.org/specification#response_object
+   * @param array{jsonrpc: string, method: string, params: array, id: ?mixed} $request
+   * @param mixed $result
+   *   The result-value of the method call.
+   * @return array{jsonrpc: string, result: mixed, id: ?mixed}
+   */
+  public static function createResponseSuccess(array $request, $result): array {
+    $id = array_key_exists('id', $request) ? ['id' => $request['id']] : [];
+    return [
+      'jsonrpc' => '2.0',
+      'result' => $result,
+    ] + $id;
+  }
+
+  /**
+   * Create a response object (unsuccessful).
+   *
+   * @link https://www.jsonrpc.org/specification#response_object
+   * @param array{jsonrpc: string, method: string, params: array, id: ?mixed} $request
+   * @param \Throwable $t
+   *   The exception which caused the request to fail.
+   * @return array{jsonrpc: string, error: array, id: ?mixed}
+   */
+  public static function createResponseError(array $request, \Throwable $t): array {
+    $isJsonErrorCode = $t->getCode() >= -32999 && $t->getCode() <= -32000;
+    $errorData = \CRM_Core_Config::singleton()->debug
+      ? ['class' => get_class($t), 'trace' => $t->getTraceAsString()]
+      : NULL;
+    $id = array_key_exists('id', $request) ? ['id' => $request['id']] : [];
+    return [
+      'jsonrpc' => $request['jsonrpc'] ?? '2.0',
+      'error' => [
+        'code' => $isJsonErrorCode ? $t->getCode() : -32099,
+        'message' => $t->getMessage(),
+        'data' => $errorData,
+      ],
+    ] + $id;
+  }
+
+}
diff --git a/civicrm/Civi/Pipe/JsonRpcMethodException.php b/civicrm/Civi/Pipe/JsonRpcMethodException.php
new file mode 100644
index 0000000000000000000000000000000000000000..a8148a321462dc8c9d158997d3ae65af8ddbf11b
--- /dev/null
+++ b/civicrm/Civi/Pipe/JsonRpcMethodException.php
@@ -0,0 +1,27 @@
+<?php
+
+namespace Civi\Pipe;
+
+/**
+ * The JsonRpcMethodException is emitted by a JSON-RPC client if a method call returns an error.
+ *
+ * This differs from an protocol-error or client-error. In this case, all JSON-RPC traffic has
+ * been well-formed; but the payload indicates that a specific method-call failed.
+ */
+class JsonRpcMethodException extends \CRM_Core_Exception {
+
+  /**
+   * @var array
+   * @readonly
+   */
+  public $raw;
+
+  public function __construct(array $jsonRpcError) {
+    parent::__construct($jsonRpcError['error']['message'] ?? 'Unknown JSON-RPC error',
+      $jsonRpcError['error']['code'] ?? 0,
+      $jsonRpcError['error']['data'] ?? []
+    );
+    $this->raw = $jsonRpcError;
+  }
+
+}
diff --git a/civicrm/Civi/Pipe/LineSessionTrait.php b/civicrm/Civi/Pipe/LineSessionTrait.php
new file mode 100644
index 0000000000000000000000000000000000000000..d068b90d88a135477c22f398aeb1701166b48a51
--- /dev/null
+++ b/civicrm/Civi/Pipe/LineSessionTrait.php
@@ -0,0 +1,193 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Pipe;
+
+/**
+ * Synchronous line-oriented communication session.
+ *
+ * @code
+ * $session = new class {
+ *   use LineSessionTrait;
+ *   protected function onRequest(string $requestLine): ?string {
+ *     return 'Thanks';
+ *   }
+ *   protected function onException(string $requestLine, \Throwable $t): ?string {
+ *     return 'Oops';
+ *   }
+ * }
+ * $session->setIO(STDIN, STDOUT)->run();
+ * @endCode
+ */
+trait LineSessionTrait {
+
+  /**
+   * The onConnect() method is called when a new session is opened.
+   *
+   * @param string $negotiationFlags
+   *   List of pipe initialization flags. See Civi::pipe() for description of flags.
+   * @return string|null
+   *   Header/welcome line, or NULL if none.
+   * @see Civi::pipe
+   */
+  protected function onConnect(string $negotiationFlags): ?string {
+    return NULL;
+  }
+
+  /**
+   * The onRequest() method is called after receiving one line of text.
+   *
+   * @param string $requestLine
+   *   The received line of text.
+   * @return string|null
+   *   The line to send back, or NULL if none.
+   */
+  abstract protected function onRequest(string $requestLine): ?string;
+
+  /**
+   * The onRequest() method is called after receiving one line of text.
+   *
+   * @param string $requestLine
+   *   The received line of text - which led to the unhandled exception.
+   * @param \Throwable $t
+   *   The unhandled exception.
+   * @return string|null
+   *   The line to send back, or NULL if none.
+   */
+  abstract protected function onException(string $requestLine, \Throwable $t): ?string;
+
+  /**
+   * @var resource
+   *   Ex: STDIN
+   */
+  protected $input;
+
+  /**
+   * @var resource
+   *   Ex: STDOUT
+   */
+  protected $output;
+
+  /**
+   * Line-delimiter.
+   *
+   * @var string
+   */
+  protected $delimiter = "\n";
+
+  /**
+   * Maximum size of the buffer for reading lines.
+   *
+   * Clients may need to set this if they submit large requests.
+   *
+   * @var int
+   */
+  protected $bufferSize = 524288;
+
+  /**
+   * A value to display immediately before the response lines.
+   *
+   * Clients may set this is if they want to detect and skip buggy noise.
+   *
+   * @var string|null
+   *   Ex: chr(1).chr(1)
+   */
+  protected $responsePrefix = NULL;
+
+  /**
+   * @param resource|null $input
+   * @param resource|null $output
+   */
+  public function __construct($input = NULL, $output = NULL) {
+    $this->input = $input;
+    $this->output = $output;
+  }
+
+  /**
+   * Run the main loop. Poll for commands on $input and write responses to $output.
+   *
+   * @param string $negotiationFlags
+   *   List of pipe initialization flags. See Civi::pipe() for description of flags.
+   */
+  public function run(string $negotiationFlags = '') {
+    $this->write($this->onConnect($negotiationFlags));
+
+    while (FALSE !== ($line = stream_get_line($this->input, $this->bufferSize, $this->delimiter))) {
+      $line = rtrim($line, $this->delimiter);
+      if (empty($line)) {
+        continue;
+      }
+
+      try {
+        $response = $this->onRequest($line);
+      }
+      catch (\Throwable $t) {
+        $response = $this->onException($line, $t);
+      }
+      $this->write($response);
+    }
+  }
+
+  /**
+   * @return int
+   */
+  public function getBufferSize(): int {
+    return $this->bufferSize;
+  }
+
+  /**
+   * @param int $bufferSize
+   * @return $this
+   */
+  public function setBufferSize(int $bufferSize) {
+    $this->bufferSize = $bufferSize;
+    return $this;
+  }
+
+  /**
+   * @return string|null
+   */
+  public function getResponsePrefix(): ?string {
+    return $this->responsePrefix;
+  }
+
+  /**
+   * @param string|null $responsePrefix
+   * @return $this
+   */
+  public function setResponsePrefix(?string $responsePrefix) {
+    $this->responsePrefix = $responsePrefix;
+    return $this;
+  }
+
+  /**
+   * @param resource $input
+   * @param resource $output
+   * @return $this
+   */
+  public function setIO($input, $output) {
+    $this->input = $input;
+    $this->output = $output;
+    return $this;
+  }
+
+  protected function write(?string $response): void {
+    if ($response === NULL) {
+      return;
+    }
+    if ($this->responsePrefix !== NULL) {
+      fwrite($this->output, $this->responsePrefix);
+    }
+    fwrite($this->output, $response);
+    fwrite($this->output, $this->delimiter);
+  }
+
+}
diff --git a/civicrm/Civi/Pipe/PipeSession.php b/civicrm/Civi/Pipe/PipeSession.php
new file mode 100644
index 0000000000000000000000000000000000000000..2960bdbf4387a146598560ea8368508097dea1f2
--- /dev/null
+++ b/civicrm/Civi/Pipe/PipeSession.php
@@ -0,0 +1,121 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Pipe;
+
+class PipeSession {
+
+  use LineSessionTrait;
+
+  protected const METHOD_REGEX = ';^[a-z][a-zA-Z0-9_]*$;';
+
+  /**
+   * Open-ended object. Any public method from this object will be available during this session.
+   *
+   * @var object
+   * @see \Civi\Pipe\PublicMethods
+   */
+  protected $methods;
+
+  /**
+   * @var bool|null
+   */
+  protected $trusted;
+
+  /**
+   * @inheritDoc
+   */
+  protected function onConnect(string $negotiationFlags): ?string {
+    \CRM_Core_Session::useFakeSession();
+    $this->methods = new PublicMethods();
+
+    // Convention: Every negotiation-flag should produce exactly one output in the header line.
+    foreach (str_split($negotiationFlags) as $flag) {
+      switch ($flag) {
+        case 'v':
+          $flags[$flag] = \CRM_Utils_System::version();
+          break;
+
+        case 'j':
+          $flags[$flag] = ['jsonrpc-2.0'];
+          break;
+
+        case 'l':
+          $flags[$flag] = function_exists('authx_login') ? ['login'] : ['nologin'];
+          break;
+
+        case 't':
+          $this->setTrusted(TRUE);
+          $flags[$flag] = 'trusted';
+          break;
+
+        case 'u':
+          $this->setTrusted(FALSE);
+          $flags[$flag] = 'untrusted';
+          break;
+
+        default:
+          // What flags might exist in the future? We don't know! Communicate that we don't know.
+          $flags[$flag] = NULL;
+          break;
+      }
+    }
+
+    return json_encode(['Civi::pipe' => $flags]);
+  }
+
+  /**
+   * @inheritDoc
+   */
+  protected function onRequest(string $requestLine): ?string {
+    return JsonRpc::run($requestLine, function(string $method, array $params) {
+      $method = str_replace('.', '_', $method);
+      if (!preg_match(self::METHOD_REGEX, $method)) {
+        throw new \InvalidArgumentException('Method not found', -32601);
+      }
+
+      if (!is_callable([$this->methods, $method])) {
+        throw new \InvalidArgumentException('Method not found', -32601);
+      }
+
+      return call_user_func([$this->methods, $method], $this, $params);
+    });
+  }
+
+  /**
+   * @inheritDoc
+   */
+  protected function onException(string $requestLine, \Throwable $t): ?string {
+    $error = JsonRpc::createResponseError([], $t);
+    return \json_encode($error);
+  }
+
+  /**
+   * @param bool $trusted
+   * @return PipeSession
+   */
+  public function setTrusted(bool $trusted): PipeSession {
+    if ($this->trusted !== NULL && $this->trusted !== $trusted) {
+      throw new \CRM_Core_Exception('Cannot modify PipeSession::$trusted after initialization');
+    }
+    $this->trusted = $trusted;
+    return $this;
+  }
+
+  /**
+   * @return bool
+   */
+  public function isTrusted(): bool {
+    // If this gets called when the value is NULL, then you are doing it wrong.
+    return $this->trusted;
+  }
+
+}
diff --git a/civicrm/Civi/Pipe/PublicMethods.php b/civicrm/Civi/Pipe/PublicMethods.php
new file mode 100644
index 0000000000000000000000000000000000000000..06b17406b6942180497c02de08a7fcf49fec5353
--- /dev/null
+++ b/civicrm/Civi/Pipe/PublicMethods.php
@@ -0,0 +1,193 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Pipe;
+
+use Civi\Authx\AuthxException;
+
+/**
+ * Collection of methods to expose to the pipe session. Any public method will be accessible.
+ */
+class PublicMethods {
+
+  /**
+   * How should API errors be reported?
+   *
+   * @var string
+   *   - 'array': Traditional array format from civicrm_api(). Maximizes consistency of error data.
+   *   - 'exception': Converted to an exception. Somewhat lossy. Improves out-of-box DX on stricter JSON-RPC clients.
+   */
+  protected $apiError = 'exception';
+
+  /**
+   * Should API calls use permission checks?
+   *
+   * Note: This property is only consulted on trusted connections. It is ignored on untrusted connections.
+   *
+   * @var bool
+   */
+  protected $apiCheckPermissions = TRUE;
+
+  /**
+   * Send a request to APIv3.
+   *
+   * @param \Civi\Pipe\PipeSession $session
+   * @param array $request
+   *   Tuple: [$entity, $action, $params]
+   * @return array|\Civi\Api4\Generic\Result|int
+   */
+  public function api3(PipeSession $session, array $request) {
+    $request[2] = array_merge($request[2] ?? [], ['version' => 3]);
+    $request[2]['check_permissions'] = !$session->isTrusted() || $this->isCheckPermissions($request[2], 'check_permissions');
+    // ^^ Untrusted sessions MUST check perms. All sessions DEFAULT to checking perms. Trusted sessions MAY disable perms.
+    switch ($this->apiError) {
+      case 'array':
+        return civicrm_api(...$request);
+
+      case 'exception':
+        return civicrm_api3(...$request);
+
+      default:
+        throw new \CRM_Core_Exception("Invalid API error-handling mode: $this->apiError");
+    }
+  }
+
+  /**
+   * Send a request to APIv4.
+   *
+   * @param \Civi\Pipe\PipeSession $session
+   * @param array $request
+   *   Tuple: [$entity, $action, $params]
+   * @return array|\Civi\Api4\Generic\Result|int
+   */
+  public function api4(PipeSession $session, array $request) {
+    $request[2] = array_merge($request[2] ?? [], ['version' => 4]);
+    $request[2]['checkPermissions'] = !$session->isTrusted() || $this->isCheckPermissions($request[2], 'checkPermissions');
+    // ^^ Untrusted sessions MUST check perms. All sessions DEFAULT to checking perms. Trusted sessions MAY disable perms.
+    switch ($this->apiError) {
+      case 'array':
+        return civicrm_api(...$request);
+
+      case 'exception':
+        return civicrm_api4(...$request);
+
+      default:
+        throw new \CRM_Core_Exception("Invalid API error-handling mode: $this->apiError");
+    }
+  }
+
+  /**
+   * Simple test; send/receive a fragment of data.
+   *
+   * @param \Civi\Pipe\PipeSession $session
+   * @param array $request
+   * @return array
+   */
+  public function echo(PipeSession $session, array $request) {
+    return $request;
+  }
+
+  /**
+   * Set active user.
+   *
+   * @param \Civi\Pipe\PipeSession $session
+   * @param array{contactId: int, userId: int, user: string, cred: string} $request
+   * @return array|\Civi\Api4\Generic\Result|int
+   */
+  public function login(PipeSession $session, array $request) {
+    if (!function_exists('authx_login')) {
+      throw new \CRM_Core_Exception('Cannot authenticate. Authx is not configured.');
+    }
+
+    $redact = function(?array $authx) {
+      return $authx ? \CRM_Utils_Array::subset($authx, ['contactId', 'userId']) : FALSE;
+    };
+
+    $principal = \CRM_Utils_Array::subset($request, ['contactId', 'userId', 'user']);
+    if ($principal && $session->isTrusted()) {
+      return $redact(authx_login(['flow' => 'script', 'principal' => $principal]));
+    }
+    elseif ($principal && !$session->isTrusted()) {
+      throw new AuthxException('Session is not trusted.');
+    }
+    elseif (isset($request['cred'])) {
+      $authn = new \Civi\Authx\Authenticator();
+      $authn->setRejectMode('exception');
+      if ($authn->auth(NULL, ['flow' => 'pipe', 'cred' => $request['cred']])) {
+        return $redact(\CRM_Core_Session::singleton()->get('authx'));
+      }
+    }
+
+    throw new AuthxException('Cannot authenticate. Must specify principal/credentials.');
+  }
+
+  /**
+   * Set ephemeral session options.
+   *
+   * @param \Civi\Pipe\PipeSession $session
+   * @param array{bufferSize: int, responsePrefix: int} $request
+   *   Any updates to perform. May be empty/omitted.
+   * @return array{bufferSize: int, responsePrefix: int}
+   *   List of updated options.
+   *   If the list of updates was empty, then return all options.
+   */
+  public function options(PipeSession $session, array $request) {
+    $storageMap = [
+      'apiCheckPermissions' => $this,
+      'apiError' => $this,
+      'bufferSize' => $session,
+      'responsePrefix' => $session,
+    ];
+
+    if (!$session->isTrusted() && array_key_exists('apiCheckPermissions', $request)) {
+      unset($request['apiCheckPermissions']);
+    }
+
+    $get = function($storage, $name) {
+      if (method_exists($storage, 'get' . ucfirst($name))) {
+        return $storage->{'get' . ucfirst($name)}();
+      }
+      else {
+        return $storage->{$name};
+      }
+    };
+
+    $set = function($storage, $name, $value) use ($get) {
+      if (method_exists($storage, 'set' . ucfirst($name))) {
+        $storage->{'set' . ucfirst($name)}($value);
+      }
+      else {
+        $storage->{$name} = $value;
+      }
+      return $get($storage, $name);
+    };
+
+    $result = [];
+    if (!empty($request)) {
+      foreach ($request as $name => $value) {
+        if (isset($storageMap[$name])) {
+          $result[$name] = $set($storageMap[$name], $name, $value);
+        }
+      }
+    }
+    else {
+      foreach ($storageMap as $name => $storage) {
+        $result[$name] = $get($storage, $name);
+      }
+    }
+    return $result;
+  }
+
+  private function isCheckPermissions(array $params, string $field) {
+    return isset($params[$field]) ? $params[$field] : $this->apiCheckPermissions;
+  }
+
+}
diff --git a/civicrm/Civi/Report/OutputHandlerFactory.php b/civicrm/Civi/Report/OutputHandlerFactory.php
index a2f975410f4dac9acb735e131fd14bdafc724f8e..61af4f015ba226f83a97c9cd5102a85a549402ee 100644
--- a/civicrm/Civi/Report/OutputHandlerFactory.php
+++ b/civicrm/Civi/Report/OutputHandlerFactory.php
@@ -70,7 +70,7 @@ class OutputHandlerFactory {
       }
       catch (\Exception $e) {
         // no ts() since this is a sysadmin-y message
-        \Civi::log()->warn("Unable to use $candidate as an output handler. " . $e->getMessage());
+        \Civi::log()->warning("Unable to use $candidate as an output handler. " . $e->getMessage());
       }
     }
     return NULL;
diff --git a/civicrm/Civi/Schema/Traits/GuiSpecTrait.php b/civicrm/Civi/Schema/Traits/GuiSpecTrait.php
index 1a1db81e42106448b682b8a5f135402fb7b78698..1a084f8fc249f3be5f8249df1e936fe885c86e17 100644
--- a/civicrm/Civi/Schema/Traits/GuiSpecTrait.php
+++ b/civicrm/Civi/Schema/Traits/GuiSpecTrait.php
@@ -104,14 +104,14 @@ trait GuiSpecTrait {
   }
 
   /**
-   * @param string|NULL $helpPre
+   * @param string|null $helpPre
    */
   public function setHelpPre($helpPre) {
     $this->helpPre = is_string($helpPre) && strlen($helpPre) ? $helpPre : NULL;
   }
 
   /**
-   * @param string|NULL $helpPost
+   * @param string|null $helpPost
    */
   public function setHelpPost($helpPost) {
     $this->helpPost = is_string($helpPost) && strlen($helpPost) ? $helpPost : NULL;
diff --git a/civicrm/Civi/Test.php b/civicrm/Civi/Test.php
index a0d67697470284b41d3fd5fc4909198b8659d3d0..3deca30fbc2862b12cc7a928e51e2eb83de0918b 100644
--- a/civicrm/Civi/Test.php
+++ b/civicrm/Civi/Test.php
@@ -50,7 +50,7 @@ class Test {
   /**
    * Get the data source used for testing.
    *
-   * @param string|NULL $part
+   * @param string|null $part
    *   One of NULL, 'hostspec', 'port', 'username', 'password', 'database'.
    * @return string|array|NULL
    *   If $part is omitted, return full DSN array.
diff --git a/civicrm/Civi/Test/EventCheck.php b/civicrm/Civi/Test/EventCheck.php
index 6254201ed2458a7ac3f4ad2022dd379daf556497..d60a5e01d840efd2c06833ede2d1c7ca210d66ae 100644
--- a/civicrm/Civi/Test/EventCheck.php
+++ b/civicrm/Civi/Test/EventCheck.php
@@ -27,7 +27,7 @@ class EventCheck extends Assert {
   /**
    * Determine whether this check should be used during the current test.
    *
-   * @param \PHPUnit\Framework\Test|NULL $test
+   * @param \PHPUnit\Framework\Test|null $test
    *
    * @return bool|string
    *   FALSE: The check will be completely skipped.
@@ -46,7 +46,7 @@ class EventCheck extends Assert {
   }
 
   /**
-   * @param \PHPUnit\Framework\Test|NULL $test
+   * @param \PHPUnit\Framework\Test|null $test
    */
   public function setTest($test): void {
     $this->test = $test;
@@ -61,7 +61,7 @@ class EventCheck extends Assert {
    *   Ex: [`array`, `NULL`, `CRM_Core_DAO`]
    * @param mixed $value
    *   The variable to check
-   * @param string|NULL $msg
+   * @param string|null $msg
    * @see \CRM_Utils_Type::validatePhpType
    */
   public function assertType($types, $value, ?string $msg = NULL) {
diff --git a/civicrm/Civi/Test/HttpTestTrait.php b/civicrm/Civi/Test/HttpTestTrait.php
index 18f1dad11569fd190d3b43defe95330c0c93e423..99e6eb122eff169e6cd1c0cfbda75ff4db0a576a 100644
--- a/civicrm/Civi/Test/HttpTestTrait.php
+++ b/civicrm/Civi/Test/HttpTestTrait.php
@@ -117,7 +117,7 @@ trait HttpTestTrait {
 
   /**
    * @param $expectCode
-   * @param \Psr\Http\Message\ResponseInterface|NULL $response
+   * @param \Psr\Http\Message\ResponseInterface|null $response
    *   If NULL, then it uses the last response.
    *
    * @return $this
@@ -132,7 +132,7 @@ trait HttpTestTrait {
 
   /**
    * @param $expectType
-   * @param \Psr\Http\Message\ResponseInterface|NULL $response
+   * @param \Psr\Http\Message\ResponseInterface|null $response
    *   If NULL, then it uses the last response.
    *
    * @return $this
@@ -146,7 +146,7 @@ trait HttpTestTrait {
   }
 
   /**
-   * @param \Psr\Http\Message\ResponseInterface|NULL $response
+   * @param \Psr\Http\Message\ResponseInterface|null $response
    * @return \Psr\Http\Message\ResponseInterface
    */
   protected function resolveResponse($response) {
diff --git a/civicrm/Civi/Token/Event/TokenRegisterEvent.php b/civicrm/Civi/Token/Event/TokenRegisterEvent.php
index 730ddb616c87c662f83d0be2d0b10eb15ec18264..f46e207a876831a4bd9cef4b2afea72ade7763e1 100644
--- a/civicrm/Civi/Token/Event/TokenRegisterEvent.php
+++ b/civicrm/Civi/Token/Event/TokenRegisterEvent.php
@@ -51,7 +51,7 @@ class TokenRegisterEvent extends TokenEvent {
    * Register a new token.
    *
    * @param array|string $paramsOrField
-   * @param NULL|string $label
+   * @param null|string $label
    * @return TokenRegisterEvent
    */
   public function register($paramsOrField, $label = NULL) {
diff --git a/civicrm/Civi/Token/TokenCompatSubscriber.php b/civicrm/Civi/Token/TokenCompatSubscriber.php
index 6274d8f29c399e72ee6d9bfe17ee78b0559f8c1e..b349f9c3808c4cfa2464ecf64ed38e18ae378ad4 100644
--- a/civicrm/Civi/Token/TokenCompatSubscriber.php
+++ b/civicrm/Civi/Token/TokenCompatSubscriber.php
@@ -70,9 +70,18 @@ class TokenCompatSubscriber implements EventSubscriberInterface {
     if ($useSmarty) {
       $smartyVars = [];
       foreach ($e->context['smartyTokenAlias'] ?? [] as $smartyName => $tokenName) {
-        $smartyVars[$smartyName] = \CRM_Utils_Array::pathGet($e->row->tokens, explode('.', $tokenName), $e->context['locale'] ?? NULL);
+        $tokenParts = explode('|', $tokenName);
+        $modifier = $tokenParts[1] ?? '';
+        $smartyVars[$smartyName] = \CRM_Utils_Array::pathGet($e->row->tokens, explode('.', $tokenParts[0]), $e->context['locale'] ?? NULL);
         if ($smartyVars[$smartyName] instanceof \Brick\Money\Money) {
-          $smartyVars[$smartyName] = \Civi::format()->money($smartyVars[$smartyName]->getAmount(), $smartyVars[$smartyName]->getCurrency());
+          // TODO: We should reuse the filters from TokenProcessor::filterTokenValue()
+          if ($modifier === 'crmMoney') {
+            $smartyVars[$smartyName] = \Civi::format()
+              ->money($smartyVars[$smartyName]->getAmount(), $smartyVars[$smartyName]->getCurrency());
+          }
+          else {
+            $smartyVars[$smartyName] = $smartyVars[$smartyName]->getAmount();
+          }
         }
       }
       \CRM_Core_Smarty::singleton()->pushScope($smartyVars);
diff --git a/civicrm/Civi/Token/TokenProcessor.php b/civicrm/Civi/Token/TokenProcessor.php
index 93c1e01c1ab2c6b59d9ee0a93b1184eb6bf8334e..7ffdc64ffb1f949b8963acdb5936eee7d1636827 100644
--- a/civicrm/Civi/Token/TokenProcessor.php
+++ b/civicrm/Civi/Token/TokenProcessor.php
@@ -165,7 +165,7 @@ class TokenProcessor {
   /**
    * Add a row of data.
    *
-   * @param array|NULL $context
+   * @param array|null $context
    *   Optionally, initialize the context for this row.
    *   Ex: ['contact_id' => 123].
    * @return TokenRow
@@ -283,7 +283,7 @@ class TokenProcessor {
    *
    * @param string $field
    *   Ex: 'contactId'.
-   * @param string|NULL $subfield
+   * @param string|null $subfield
    * @return array
    *   Ex: [12, 34, 56].
    */
@@ -470,8 +470,18 @@ class TokenProcessor {
       }
     }
 
-    if ($value instanceof Money && $filter === NULL) {
-      $filter = ['crmMoney'];
+    if ($value instanceof Money) {
+      switch ($filter[0] ?? NULL) {
+        case NULL:
+        case 'crmMoney':
+          return \Civi::format()->money($value->getAmount(), $value->getCurrency());
+
+        case 'raw':
+          return $value->getAmount();
+
+        default:
+          throw new \CRM_Core_Exception("Invalid token filter: $filter");
+      }
     }
 
     switch ($filter[0] ?? NULL) {
@@ -484,11 +494,6 @@ class TokenProcessor {
       case 'lower':
         return mb_strtolower($value);
 
-      case 'crmMoney':
-        if ($value instanceof Money) {
-          return \Civi::format()->money($value->getAmount(), $value->getCurrency());
-        }
-
       case 'crmDate':
         if ($value instanceof \DateTime) {
           // @todo cludgey.
diff --git a/civicrm/Civi/WorkflowMessage/FieldSpec.php b/civicrm/Civi/WorkflowMessage/FieldSpec.php
index 7e7b4ffe13b798917f06c00c602c3e938da64647..7672ed880263438f0df597c14c32c119fe8c00bf 100644
--- a/civicrm/Civi/WorkflowMessage/FieldSpec.php
+++ b/civicrm/Civi/WorkflowMessage/FieldSpec.php
@@ -69,7 +69,7 @@ class FieldSpec {
   /**
    * Enable export/import in alternative scopes.
    *
-   * @param string|array|NULL $scope
+   * @param string|array|null $scope
    *   Ex: 'tplParams'
    *   Ex: 'tplParams as foo_bar'
    *   Ex: 'tplParams as contact_id, TokenProcessor as contactId'
diff --git a/civicrm/ang/crmAttachment.css b/civicrm/ang/crmAttachment.css
index 31c6e2f5e3ba0eee947f11d0779ec5922f8a751b..47ca43d8af4eeda4d83994b144961e18306ef5ed 100644
--- a/civicrm/ang/crmAttachment.css
+++ b/civicrm/ang/crmAttachment.css
@@ -1,21 +1,21 @@
 .crm-attachments {
-    border: 1px solid transparent;
+  border: 1px solid transparent;
 }
 
 .crm-attachments.nv-file-over {
-    border: 1px solid red;
+  border: 1px solid red;
 }
 
 .crm-attachments td.filename {
-    font-size: 0.8em;
-    font-family: 'Courier New', monospace;
-    vertical-align: middle;
+  font-size: 0.8em;
+  font-family: 'Courier New', monospace;
+  vertical-align: middle;
 }
 
 .crm-attachments td.filename-new {
-    font-style: italic;
+  font-style: italic;
 }
 
 .crm-attachments td .crm-form-text {
-    width: 30em;
+  width: 30em;
 }
diff --git a/civicrm/ang/crmCaseType.css b/civicrm/ang/crmCaseType.css
index 6352b3d24dc8716b3b870a69f452295596f092cf..d5c9b8e5925acac8b421549f48c71bf265e7bf06 100644
--- a/civicrm/ang/crmCaseType.css
+++ b/civicrm/ang/crmCaseType.css
@@ -1,43 +1,43 @@
 .crmCaseType .grip-n-drag {
-    vertical-align: middle;
-    cursor: move;
+  vertical-align: middle;
+  cursor: move;
 }
 
 .crmCaseType .fa-pencil {
-    margin: 0.2em 0.2em 0 0;
-    cursor: pointer;
+  margin: 0.2em 0.2em 0 0;
+  cursor: pointer;
 }
 
 .crmCaseType .fa-trash {
-    margin: 0.56em 0.2em 0 0;
-    cursor: pointer;
+  margin: 0.56em 0.2em 0 0;
+  cursor: pointer;
 }
 
 .crmCaseType .ui-tabs-nav li .crm-i {
-    float: left;
+  float: left;
 }
 
 .crmCaseType .ui-tabs-nav select {
-    float: right;
+  float: right;
 }
 
 .crmCaseType tr.addRow td {
-    background: #ddddff;
-    padding: 0.5em 1em;
+  background: #ddddff;
+  padding: 0.5em 1em;
 }
 
 .crmCaseType input.number {
-    width: 3.5em;
+  width: 3.5em;
 }
 
 .crmCaseType .add-activity {
-    width: 50%;
+  width: 50%;
 }
 
 .crmCaseType table td select {
-    width: 10em;
+  width: 10em;
 }
 
 tr.forked {
-    font-weight: bold;
+  font-weight: bold;
 }
diff --git a/civicrm/ang/crmDialog.md b/civicrm/ang/crmDialog.md
index 4cfd54fdb5c3c81ead4854a4092f6886c3a8897b..4f2f5e1779df083de5b9f1ffd58d1231ca96f77c 100644
--- a/civicrm/ang/crmDialog.md
+++ b/civicrm/ang/crmDialog.md
@@ -21,4 +21,4 @@ dialogService.open('someDialog', '~/Path/To/Some.html', model, options)
     <crm-dialog-button text="ts('Cancel')" icons="{primary: 'fa-times'}" on-click="someDialog.cancel()" />
   </form>
 </div>
-```
\ No newline at end of file
+```
diff --git a/civicrm/ang/crmMailing.css b/civicrm/ang/crmMailing.css
index 0d854055ffbe5a777d0ca979dfb6408e3b7a4b82..4dc0a0ed2466a42699617b472acb1792e8a53b55 100644
--- a/civicrm/ang/crmMailing.css
+++ b/civicrm/ang/crmMailing.css
@@ -1,7 +1,8 @@
 .crmMailing input[name=subject] {
   width: 30em;
 }
-.crmMailing select, .crmMailing input[type=text] {
+.crmMailing select,
+.crmMailing input[type=text] {
   width: 36em;
 }
 .crmMailing textarea {
@@ -33,11 +34,14 @@ span.crmMailing-mandatory {
   color: #866304;
 }
 
-.crmMailing input[name=preview_test_email], .crmMailing-preview select[name=preview_test_group] {
+.crmMailing input[name=preview_test_email],
+.crmMailing-preview select[name=preview_test_group] {
   width: 80%;
 }
 
-.crmMailing .preview-popup, .crmMailing .preview-contact, .crmMailing .preview-group {
+.crmMailing .preview-popup,
+.crmMailing .preview-contact,
+.crmMailing .preview-group {
   width: 30%;
   height: 4.5em;
   margin: 0.5em;
@@ -45,10 +49,12 @@ span.crmMailing-mandatory {
   vertical-align: middle;
   float: left;
 }
-.crmMailing .preview-popup, .crmMailing .preview-contact {
+.crmMailing .preview-popup,
+.crmMailing .preview-contact {
   border-right: 1px solid black;
 }
-.crmMailing .preview-group, .crmMailing .preview-contact {
+.crmMailing .preview-group,
+.crmMailing .preview-contact {
 }
 
 .crmMailing .crmMailing-schedule-outer {
@@ -67,7 +73,7 @@ input[name=preview_test_email]:-moz-placeholder {
 input[name=preview_test_email]::-moz-placeholder {
   text-align: center;
 }
-input[name=preview_test_email]::-webkit-input-placeholder  {
+input[name=preview_test_email]::-webkit-input-placeholder {
   text-align: center;
 }
 input[name=preview_test_email]:-ms-input-placeholder {
diff --git a/civicrm/ang/crmMailing/EditMailingCtrl.js b/civicrm/ang/crmMailing/EditMailingCtrl.js
index 5651d4f8d6a31fe058c30d848bd7abc926a09fec..7e72365116ec63b4539f2dff6e4d5739e1ce025a 100644
--- a/civicrm/ang/crmMailing/EditMailingCtrl.js
+++ b/civicrm/ang/crmMailing/EditMailingCtrl.js
@@ -121,7 +121,12 @@
         return true;
       },
       model: function() {
-        return [$scope.mailing, $scope.attachments.getAutosaveSignature()];
+        //modified date is unset so that it gets ignored in comparison
+        //its value is overwritten with the save response from the server and may differ from the local value,
+        //which would result in an unnecessary auto-save
+        var mailing = angular.copy($scope.mailing);
+        mailing.modified_date = undefined;
+        return [mailing, $scope.attachments.getAutosaveSignature()];
       },
       form: function() {
         return $scope.crmMailing;
diff --git a/civicrm/ang/crmMailing/RadioDate.js b/civicrm/ang/crmMailing/RadioDate.js
index 037b6e22ba9695e2988bd79b4d26617e1b331700..0f9128d69cb80e36f5f3f8d08f12b2f584a28d82 100644
--- a/civicrm/ang/crmMailing/RadioDate.js
+++ b/civicrm/ang/crmMailing/RadioDate.js
@@ -62,22 +62,23 @@
             if (context === 'userInput' && $(this).val() === '' && $(this).siblings('.crm-form-date').val().length) {
               schedule.mode = 'at';
               schedule.datetime = '?';
-            } else { 
+            } else {
               var d = new Date(),
-              month = '' + (d.getMonth() + 1),
-              day = '' + d.getDate(),
-              year = d.getFullYear(),
-              hours = '' + d.getHours(),
-              minutes = '' + d.getMinutes();
-              var submittedDate = $(this).val();
+                month = '' + (d.getMonth() + 1),
+                day = '' + d.getDate(),
+                year = d.getFullYear(),
+                hours = '' + d.getHours(),
+                minutes = '' + d.getMinutes(),
+                submittedDate = $(this).val();
               if (month.length < 2) month = '0' + month;
               if (day.length < 2) day = '0' + day;
               if (hours.length < 2) hours = '0' + hours;
               if (minutes.length < 2) minutes = '0' + minutes;
-              date = [year, month, day].join('-');
-              time = [hours, minutes, "00"].join(':');
-              currentDate = date + ' ' + time;
-              var isInPast = (submittedDate.length && submittedDate.match(/^[0-9\-]+ [0-9\:]+$/) && isDateBefore(submittedDate, currentDate, 4*60*60*1000));
+              var
+                date = [year, month, day].join('-'),
+                time = [hours, minutes, "00"].join(':'),
+                currentDate = date + ' ' + time,
+                isInPast = (submittedDate.length && submittedDate.match(/^[0-9\-]+ [0-9\:]+$/) && isDateBefore(submittedDate, currentDate, 4*60*60*1000));
               ngModel.$setValidity('dateTimeInThePast', !isInPast);
               if (lastAlert && lastAlert.isOpen) {
                 lastAlert.close();
diff --git a/civicrm/ang/crmMailing/Recipients.js b/civicrm/ang/crmMailing/Recipients.js
index 1867e9582f70e061087b1cb2afc0c46f58c61554..518f6075cb8db3510b85322e93194f4b4607a070 100644
--- a/civicrm/ang/crmMailing/Recipients.js
+++ b/civicrm/ang/crmMailing/Recipients.js
@@ -253,7 +253,7 @@
               }
             },
             results: function(data) {
-              results = {
+              var results = {
                 children: $.map(data.values, function(obj) {
                   if('civicrm_mailing' === rcpAjaxState.entity) {
                     return obj["api.MailingRecipients.getcount"] > 0 ? {   id: obj.id + ' ' + rcpAjaxState.entity + ' ' + rcpAjaxState.type,
@@ -271,7 +271,7 @@
                   (rcpAjaxState.entity == 'civicrm_group'? 'Group' : 'Mailing'));
               }
 
-              more = data.more_results || !(rcpAjaxState.entity == 'civicrm_mailing' && rcpAjaxState.type == 'exclude');
+              var more = data.more_results || !(rcpAjaxState.entity == 'civicrm_mailing' && rcpAjaxState.type == 'exclude');
 
               if (more && !data.more_results) {
                 if (rcpAjaxState.type == 'include') {
diff --git a/civicrm/ang/crmMailing/Templates.js b/civicrm/ang/crmMailing/Templates.js
index 301b565f23e0709f02a6215d951fd2702a66ce6c..b67e7b116268c2a36069ed08022818094e50f520 100644
--- a/civicrm/ang/crmMailing/Templates.js
+++ b/civicrm/ang/crmMailing/Templates.js
@@ -88,7 +88,7 @@
                   },
                   results: function(data) {
 
-                    results = {
+                    var results = {
                       children: $.map(data.values, function(obj) {
                         return { id: obj.id, text: obj.label };
                       })
@@ -98,7 +98,7 @@
                       results.text = ts('Message Templates');
                     }
 
-                    more = data.more_results;
+                    var more = data.more_results;
 
                     if (more && !data.more_results) {
                       rcpAjaxState.page_n += rcpAjaxState.page_i;
diff --git a/civicrm/ang/crmMailingAB.css b/civicrm/ang/crmMailingAB.css
index cfee8b9538a5332dc59eec502171960df8a5004f..7160bc155887d7ee0828b50baf0bd7e93a3bb7f5 100644
--- a/civicrm/ang/crmMailingAB.css
+++ b/civicrm/ang/crmMailingAB.css
@@ -1,19 +1,20 @@
 .crm-mailing-ab-slider .slider-test .ui-slider-range {
-    background: #5050b0;
+  background: #5050b0;
 }
 
 .crm-mailing-ab-slider .slider-win .ui-slider-range {
-    background: #50b050;
+  background: #50b050;
 }
 
 .crm-mailing-ab-stats .series {
-    fill: none;
+  fill: none;
 }
 
-.crm-mailing-ab-stats .axis path, .crm-mailing-ab-stats .axis line {
-    fill: none;
-    stroke: #000;
-    shape-rendering: crispEdges;
+.crm-mailing-ab-stats .axis path,
+.crm-mailing-ab-stats .axis line {
+  fill: none;
+  stroke: #000;
+  shape-rendering: crispEdges;
 }
 
 .crm-mailing-ab-col {
diff --git a/civicrm/ang/crmMailingAB/services.js b/civicrm/ang/crmMailingAB/services.js
index a1d64b7da68928db9e69643a32f51a905b6093c0..eac6d84ebe8632ef7021029e746bc6359662843b 100644
--- a/civicrm/ang/crmMailingAB/services.js
+++ b/civicrm/ang/crmMailingAB/services.js
@@ -51,9 +51,16 @@
 
     angular.extend(CrmMailingAB.prototype, {
       getAutosaveSignature: function() {
+        //modified date is unset so that it gets ignored in comparison
+        //its value is overwritten with the save response from the server and may differ from the local value,
+        //which would result in an unnecessary auto-save
+        var mailings = angular.copy(this.mailings);
+        _.each(mailings, function(mailing) {
+          mailing.modified_date = undefined;
+        });
         return [
           this.ab,
-          this.mailings,
+          mailings,
           this.attachments.a.getAutosaveSignature(),
           this.attachments.b.getAutosaveSignature(),
           this.attachments.c.getAutosaveSignature()
diff --git a/civicrm/ang/crmMonaco.css b/civicrm/ang/crmMonaco.css
index 19072324bd148403b3dc756273d2b8d95c315d48..c097f36e4a4bf2ad1bc854de0fefe85dc31529cc 100644
--- a/civicrm/ang/crmMonaco.css
+++ b/civicrm/ang/crmMonaco.css
@@ -1,4 +1,4 @@
 /* Add any CSS rules for Angular module "crmMonaco" */
 .crm-monaco-container {
-    border:1px solid grey;
-}
\ No newline at end of file
+  border: 1px solid grey;
+}
diff --git a/civicrm/ang/crmStatusPage.css b/civicrm/ang/crmStatusPage.css
index 7bc1722433196f997c19d8c72e53ca721b2c7b66..1cb8ded3fe5c87c7009997c217c4fe4dc22edc30 100644
--- a/civicrm/ang/crmStatusPage.css
+++ b/civicrm/ang/crmStatusPage.css
@@ -14,8 +14,8 @@
 #crm-status-list .crm-severity-emergency,
 #crm-status-list .crm-severity-alert,
 #crm-status-list .crm-severity-critical,
-#crm-status-list .crm-severity-error{
-  background-color: #E43D2B;
+#crm-status-list .crm-severity-error {
+  background-color: #e43d2b;
 }
 
 /* Warning Severity */
@@ -31,7 +31,7 @@
 /* All OK Severity */
 #crm-status-list .crm-severity-info,
 #crm-status-list .crm-severity-debug {
-  background-color: #00994D;
+  background-color: #00994d;
 }
 
 #crm-status-list .crm-status-message-body {
diff --git a/civicrm/ang/exportui.css b/civicrm/ang/exportui.css
index 114d36107a12e12ce5df24bffb7eb962cf553575..78f9714710e2cb833d447f389491eb2b967540ac 100644
--- a/civicrm/ang/exportui.css
+++ b/civicrm/ang/exportui.css
@@ -13,14 +13,14 @@ div.crm-export-field-selector-outer:after {
   background-image: linear-gradient(to right, transparent, #efefe5);
 }
 table.crm-export-field-selector tbody tr {
-  background-color: #FAFAFA;
+  background-color: #fafafa;
 }
 table.crm-export-field-selector tbody tr:nth-child(odd) {
-  background-color: #EFEFEF;
+  background-color: #efefef;
 }
 table.crm-export-field-selector tfoot tr {
   background-color: white;
-  border-top: 2px solid #CFCEC3;
+  border-top: 2px solid #cfcec3;
 }
 table.crm-export-field-selector tfoot tr td > span {
   margin-left: 18px;
diff --git a/civicrm/ang/ui.bootstrap.css b/civicrm/ang/ui.bootstrap.css
index e8cf3de92e686143338b48e6cde789b2c3e71286..e39d839b87b3ad02505f06b7ec2a6ed7904e4a71 100644
--- a/civicrm/ang/ui.bootstrap.css
+++ b/civicrm/ang/ui.bootstrap.css
@@ -1 +1,6 @@
-.nav, .pagination, .carousel, .panel-title a { cursor: pointer; }
+.nav,
+.pagination,
+.carousel,
+.panel-title a {
+  cursor: pointer;
+}
diff --git a/civicrm/api/api.php b/civicrm/api/api.php
index 9ed9747dd0ca0b672fac76462c2f0f9ab911e6b2..2a857a1db1b8598b568cc1234ad15a044db6d2a9 100644
--- a/civicrm/api/api.php
+++ b/civicrm/api/api.php
@@ -125,7 +125,8 @@ function civicrm_api4(string $entity, string $action, array $params = [], $index
  *
  * @throws CiviCRM_API3_Exception
  *
- * @return array
+ * @return array|int
+ *   Dependant on the $action
  */
 function civicrm_api3(string $entity, string $action, array $params = []) {
   $params['version'] = 3;
@@ -179,7 +180,7 @@ function _civicrm_api3_api_getfields(&$apiRequest) {
  * 'format.is_success' => 1
  * will result in a boolean success /fail being returned if that is what you need.
  *
- * @param $result
+ * @param mixed $result
  *
  * @return bool
  *   true if error, false otherwise
diff --git a/civicrm/api/class.api.php b/civicrm/api/class.api.php
index 77c1e986c826a8555bfe5e71a10d2b9f2b8fb1e7..21a4190b70c6d523083edb0ad08f7d7b8ff439c1 100644
--- a/civicrm/api/class.api.php
+++ b/civicrm/api/class.api.php
@@ -153,8 +153,8 @@ class civicrm_api3 {
   /**
    * Perform action.
    *
-   * @param $action
-   * @param $params
+   * @param string $action
+   * @param array $params
    *
    * @return bool
    */
@@ -171,8 +171,8 @@ class civicrm_api3 {
   /**
    * Call via rest.
    *
-   * @param $entity
-   * @param $action
+   * @param string $entity
+   * @param string $action
    * @param array $params
    *
    * @return \stdClass
@@ -228,7 +228,7 @@ class civicrm_api3 {
   /**
    * Call api function.
    *
-   * @param $entity
+   * @param string $entity
    * @param string $action
    * @param array $params
    *
@@ -298,8 +298,8 @@ class civicrm_api3 {
   /**
    * Get attribute.
    *
-   * @param $name
-   * @param null $value
+   * @param string $name
+   * @param mixed $value
    *
    * @return $this
    */
diff --git a/civicrm/api/v3/Attachment.php b/civicrm/api/v3/Attachment.php
index 8583f0b8c5acab4aa7679a2d886b12eabf743e8c..3ad473519287bc7697c80c90342e377581c6938c 100644
--- a/civicrm/api/v3/Attachment.php
+++ b/civicrm/api/v3/Attachment.php
@@ -199,7 +199,7 @@ function civicrm_api3_attachment_get($params) {
 /**
  * Adjust metadata for Attachment delete action.
  *
- * @param $spec
+ * @param array $spec
  */
 function _civicrm_api3_attachment_delete_spec(&$spec) {
   unset($spec['id']['api.required']);
diff --git a/civicrm/api/v3/Case.php b/civicrm/api/v3/Case.php
index 5249010c45b372c98e6b31117e6af0cadf9cff09..21082e6330c8f99e308b5c61bfe477d3a5b8f1d4 100644
--- a/civicrm/api/v3/Case.php
+++ b/civicrm/api/v3/Case.php
@@ -131,8 +131,8 @@ function civicrm_api3_case_create($params) {
  * When creating a new case, run the xmlProcessor to get all necessary params/configuration
  *  for the new case, as cases use an xml file to store their configuration.
  *
- * @param $params
- * @param $caseBAO
+ * @param array $params
+ * @param CRM_Case_DAO_Case $caseBAO
  *
  * @throws \Exception
  */
@@ -762,8 +762,8 @@ function civicrm_api3_case_getList($params) {
 
 /**
  * Needed due to the above override
- * @param $params
- * @param $apiRequest
+ * @param array $params
+ * @param array $apiRequest
  */
 function _civicrm_api3_case_getlist_spec(&$params, $apiRequest) {
   require_once 'api/v3/Generic/Getlist.php';
diff --git a/civicrm/api/v3/Contribution.php b/civicrm/api/v3/Contribution.php
index e3d49c086c09bb6ddb2bc7a3944c0fd8f1602f96..6396535fb3553515a0a1a509b2f82c91696d81ea 100644
--- a/civicrm/api/v3/Contribution.php
+++ b/civicrm/api/v3/Contribution.php
@@ -290,7 +290,7 @@ function _civicrm_api3_contribution_get_support_nonunique_returns($params) {
 /**
  * Support for supported output variables.
  *
- * @param $contribution
+ * @param array $contribution
  */
 function _civicrm_api3_contribution_add_supported_fields(&$contribution) {
   // These are output fields that are supported in our test contract.
@@ -329,7 +329,7 @@ function civicrm_api3_contribution_getcount($params) {
  * As of v4.4 we support multiple soft credit, so now contribution returns array with 'soft_credit' as key
  * but we still return first soft credit as a part of contribution array
  *
- * @param $contribution
+ * @param array $contribution
  */
 function _civicrm_api3_format_soft_credit(&$contribution) {
   if (!empty($contribution['soft_credit'])) {
diff --git a/civicrm/api/v3/Event.php b/civicrm/api/v3/Event.php
index f20d6702cf81ec2e303c415261e4a4ae73c86659..c10266c680d75667f71eaabecce8560b95cb9b16 100644
--- a/civicrm/api/v3/Event.php
+++ b/civicrm/api/v3/Event.php
@@ -59,6 +59,7 @@ function _civicrm_api3_event_create_spec(&$params) {
   $params['is_active']['api.default'] = 1;
   $params['financial_type_id']['api.aliases'] = ['contribution_type_id'];
   $params['is_template']['api.default'] = 0;
+  $params['event_tz']['api.default'] = CRM_Core_Config::singleton()->userSystem->getTimeZoneString();
 }
 
 /**
@@ -261,3 +262,15 @@ function _civicrm_api3_event_getlist_output($result, $request) {
   }
   return $output;
 }
+
+/**
+ * Add missing timezones to all events.
+ *
+ * @return array
+ */
+function civicrm_api3_event_addmissingtimezones($params) {
+  $defaultTZ = CRM_Core_Config::singleton()->userSystem->getTimeZoneString();
+
+  CRM_Core_DAO::executeQuery('UPDATE civicrm_event SET event_tz = %1 WHERE event_tz IS NULL OR event_tz = ""', [1 => [$defaultTZ, 'String']]);
+  return civicrm_api3_create_success($events, $params, 'Event', 'addMissingTimezones');
+}
diff --git a/civicrm/api/v3/Extension.php b/civicrm/api/v3/Extension.php
index ce46a5dfb4c7e2bc65a22194a8f33ca9617964f0..0b654bf642e7d37e6740ff9eedc5b73076168e02 100644
--- a/civicrm/api/v3/Extension.php
+++ b/civicrm/api/v3/Extension.php
@@ -50,7 +50,7 @@ function civicrm_api3_extension_install($params) {
 
 /**
  * Spec function for getfields
- * @param $fields
+ * @param array $fields
  */
 function _civicrm_api3_extension_install_spec(&$fields) {
   $fields['keys'] = [
@@ -122,7 +122,7 @@ function civicrm_api3_extension_enable($params) {
 
 /**
  * Spec function for getfields
- * @param $fields
+ * @param array $fields
  */
 function _civicrm_api3_extension_enable_spec(&$fields) {
   _civicrm_api3_extension_install_spec($fields);
@@ -153,7 +153,7 @@ function civicrm_api3_extension_disable($params) {
 
 /**
  * Spec function for getfields
- * @param $fields
+ * @param array $fields
  */
 function _civicrm_api3_extension_disable_spec(&$fields) {
   _civicrm_api3_extension_install_spec($fields);
@@ -186,7 +186,7 @@ function civicrm_api3_extension_uninstall($params) {
 
 /**
  * Spec function for getfields
- * @param $fields
+ * @param array $fields
  */
 function _civicrm_api3_extension_uninstall_spec(&$fields) {
   _civicrm_api3_extension_install_spec($fields);
@@ -250,7 +250,7 @@ function civicrm_api3_extension_download($params) {
 
 /**
  * Spec function for getfields
- * @param $fields
+ * @param array $fields
  */
 function _civicrm_api3_extension_download_spec(&$fields) {
   $fields['key'] = [
@@ -305,7 +305,7 @@ function civicrm_api3_extension_refresh($params) {
 
 /**
  * Spec function for getfields
- * @param $fields
+ * @param array $fields
  */
 function _civicrm_api3_extension_refresh_spec(&$fields) {
   $fields['local'] = [
diff --git a/civicrm/api/v3/Generic.php b/civicrm/api/v3/Generic.php
index 34ba7db2a139588a0e4c8370774090d07ff31ce7..9188bcff50eca4afd536cc6d7c678b009b4c8d43 100644
--- a/civicrm/api/v3/Generic.php
+++ b/civicrm/api/v3/Generic.php
@@ -454,8 +454,8 @@ function civicrm_api3_generic_getoptions($apiRequest) {
 /**
  * Provide metadata for this generic action
  *
- * @param $params
- * @param $apiRequest
+ * @param array $params
+ * @param array $apiRequest
  */
 function _civicrm_api3_generic_getoptions_spec(&$params, $apiRequest) {
   $params += [
diff --git a/civicrm/api/v3/Generic/Getlist.php b/civicrm/api/v3/Generic/Getlist.php
index 3d993c70b54dce75fcd432d2c2432a075d9d56bb..af8fb61c3b91b63decbb779515b4ce0fd5219e68 100644
--- a/civicrm/api/v3/Generic/Getlist.php
+++ b/civicrm/api/v3/Generic/Getlist.php
@@ -246,9 +246,9 @@ function _civicrm_api3_generic_getlist_output($result, $request, $entity, $field
 /**
  * Common postprocess for getlist output
  *
- * @param $result
- * @param $request
- * @param $values
+ * @param array $result
+ * @param array $request
+ * @param array $values
  */
 function _civicrm_api3_generic_getlist_postprocess($result, $request, &$values) {
   $chains = [];
diff --git a/civicrm/api/v3/Job.php b/civicrm/api/v3/Job.php
index 05d350c0d1f19b80c09387dcc8c6f4773c68aa34..4210e43a695fee44c9b983144e69472dc5ad9f3f 100644
--- a/civicrm/api/v3/Job.php
+++ b/civicrm/api/v3/Job.php
@@ -98,7 +98,7 @@ function civicrm_api3_job_get($params) {
  * @param array $params
  */
 function civicrm_api3_job_delete($params) {
-  _civicrm_api3_basic_delete(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_delete(_civicrm_api3_get_BAO(__FUNCTION__), $params);
 }
 
 /**
@@ -555,7 +555,7 @@ function civicrm_api3_job_process_batch_merge($params) {
 /**
  * Metadata for batch merge function.
  *
- * @param $params
+ * @param array $params
  */
 function _civicrm_api3_job_process_batch_merge_spec(&$params) {
   $params['rule_group_id'] = [
diff --git a/civicrm/api/v3/MailingContact.php b/civicrm/api/v3/MailingContact.php
index 4875e79340423624cab3d2cd4c7f953c492fe076..2ef5194da77674e0f6d8aff6f79fce69ba2b503c 100644
--- a/civicrm/api/v3/MailingContact.php
+++ b/civicrm/api/v3/MailingContact.php
@@ -84,13 +84,13 @@ function _civicrm_api3_mailing_contact_get_spec(&$params) {
  * Helper function for mailing contact queries.
  *
  * @param int $contactID
- * @param $offset
- * @param $limit
- * @param $selectFields
- * @param $fromClause
- * @param $whereClause
- * @param $sort
- * @param $getCount
+ * @param int $offset
+ * @param int $limit
+ * @param array|null $selectFields
+ * @param string|null $fromClause
+ * @param string|null $whereClause
+ * @param string|null $sort
+ * @param bool $getCount
  *
  * @return array
  */
@@ -196,10 +196,10 @@ LIMIT %2, %3
  * Get delivered mailing contacts.
  *
  * @param int $contactID
- * @param $offset
- * @param $limit
- * @param $sort
- * @param $getCount
+ * @param int $offset
+ * @param int $limit
+ * @param string|null $sort
+ * @param bool $getCount
  *
  * @return array
  */
@@ -237,10 +237,10 @@ AND        meb.id IS NULL
  * Get bounced mailing contact records.
  *
  * @param int $contactID
- * @param $offset
- * @param $limit
- * @param $sort
- * @param $getCount
+ * @param int $offset
+ * @param int $limit
+ * @param string|null $sort
+ * @param bool $getCount
  *
  * @return array
  */
diff --git a/civicrm/api/v3/MailingEventQueue.php b/civicrm/api/v3/MailingEventQueue.php
index e7b3f6bc0cb946f1c9d39d49c4df933ef7221036..9625809fdb6d0b2bdbd28ffa499aa467f41af417 100644
--- a/civicrm/api/v3/MailingEventQueue.php
+++ b/civicrm/api/v3/MailingEventQueue.php
@@ -34,7 +34,7 @@ function civicrm_api3_mailing_event_queue_create($params) {
     ['job_id', 'contact_id'],
     FALSE
   );
-  return _civicrm_api3_basic_create('CRM_Mailing_Event_BAO_Queue', $params, 'Queue');
+  return _civicrm_api3_basic_create('CRM_Mailing_Event_BAO_Queue', $params, 'MailingEventQueue');
 }
 
 /**
diff --git a/civicrm/api/v3/Membership.php b/civicrm/api/v3/Membership.php
index c7a3b1d5e478cba39c8a0fc6575f83f75a370d92..689f880ec4ce16ae51e83202bb66047df1e5cf81 100644
--- a/civicrm/api/v3/Membership.php
+++ b/civicrm/api/v3/Membership.php
@@ -250,7 +250,7 @@ function civicrm_api3_membership_get($params) {
  * @param array $params
  *   Parameters passed into get function.
  * @param int $membershipTypeId
- * @param $activeOnly
+ * @param bool $activeOnly
  *
  * @return array
  *   result for calling function
@@ -271,7 +271,7 @@ function _civicrm_api3_membership_get_customv2behaviour(&$params, $membershipTyp
  *
  * @param array $params
  *   Parameters passed into get function.
- * @param $membershipValues
+ * @param array $membershipValues
  * @param int $contactID
  *
  * @return array
diff --git a/civicrm/api/v3/Navigation.php b/civicrm/api/v3/Navigation.php
index c1f0cf3c671383fd717e32d18a9af0ee7d6c18fd..f78fdd6cab76c50cf9350a60b3fbc03e34ef0673 100644
--- a/civicrm/api/v3/Navigation.php
+++ b/civicrm/api/v3/Navigation.php
@@ -88,9 +88,11 @@ function civicrm_api3_navigation_create($params) {
 /**
  * Adjust metadata for navigation create action.
  *
- * @param array $params
+ * @param array[] $fields
  */
-function _civicrm_api3_navigation_delete_spec(&$params) {
+function _civicrm_api3_navigation_create_spec(&$fields) {
+  $fields['is_active']['api.default'] = TRUE;
+  $fields['domain_id']['api.default'] = CRM_Core_Config::domainID();
 }
 
 /**
diff --git a/civicrm/api/v3/OptionGroup.php b/civicrm/api/v3/OptionGroup.php
index 794d7441cad1b41379c844b19fe6adcd52eca4f5..5025480d4f0a6f8907cec3d593add1bb42439c86 100644
--- a/civicrm/api/v3/OptionGroup.php
+++ b/civicrm/api/v3/OptionGroup.php
@@ -37,9 +37,12 @@ function civicrm_api3_option_group_get($params) {
  * @return array
  */
 function civicrm_api3_option_group_create($params) {
-  $result = _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'OptionGroup');
+  // Use deprecated BAO method in APIv3 for legacy support. APIv4 uses new writeRecords method.
+  $bao = CRM_Core_BAO_OptionGroup::add($params);
   civicrm_api('option_value', 'getfields', ['version' => 3, 'cache_clear' => 1]);
-  return $result;
+  $values = [];
+  _civicrm_api3_object_to_array($bao, $values[$bao->id]);
+  return civicrm_api3_create_success($values, $params, 'OptionGroup', 'create', $bao);
 }
 
 /**
diff --git a/civicrm/api/v3/Participant.php b/civicrm/api/v3/Participant.php
index e70bc067cdcdfdc002b67e3106811ee4f3e83be9..d9932b2bb86091643f4b8f1894b26bec162b73a4 100644
--- a/civicrm/api/v3/Participant.php
+++ b/civicrm/api/v3/Participant.php
@@ -56,7 +56,7 @@ function civicrm_api3_participant_create($params) {
  * @todo this should be done in the BAO not the api
  *
  * @param array $params
- * @param $participant
+ * @param CRM_Event_BAO_Participant $participant
  *
  * @throws \CiviCRM_API3_Exception
  */
diff --git a/civicrm/api/v3/Pledge.php b/civicrm/api/v3/Pledge.php
index 25f661502e103b972ed68eca37ac59541ebe13fc..571924b1930e251edf8285a4cc9cc4079da2d2fd 100644
--- a/civicrm/api/v3/Pledge.php
+++ b/civicrm/api/v3/Pledge.php
@@ -18,7 +18,7 @@
 /**
  * Create or updates an Pledge.
  *
- * @param $params
+ * @param array $params
  *
  * @return array
  *   Array containing 'is_error' to denote success or failure and details of the created pledge
diff --git a/civicrm/api/v3/Profile.php b/civicrm/api/v3/Profile.php
index 742af495fad6e4cd76f7ca3d64b3890066139fe4..a20bd48e1e813b387600d0e3ecc23c692123def9 100644
--- a/civicrm/api/v3/Profile.php
+++ b/civicrm/api/v3/Profile.php
@@ -485,7 +485,7 @@ function _civicrm_api3_profile_getbillingpseudoprofile(&$params) {
  * @param int $profileID
  * @param int $optionsBehaviour
  *   0 = don't resolve, 1 = resolve non-aggressively, 2 = resolve aggressively - ie include country & state.
- * @param $is_flush
+ * @param bool $is_flush
  *
  * @return array|void
  */
@@ -623,7 +623,7 @@ function _civicrm_api3_order_by_weight($a, $b) {
  * Here we map the profile fields as stored in the uf_field table to their 'real entity'
  * we also return the profile fieldname
  *
- * @param $field
+ * @param array $field
  *
  * @return array
  */
@@ -716,7 +716,7 @@ function _civicrm_api3_profile_getProfileID($profileID) {
  *
  * e.g getfields response incl 'membership_type_id' - with api.aliases = 'membership_type'
  * returned array will include both as keys (with the same values)
- * @param $entity
+ * @param string $entity
  *
  * @return array
  */
diff --git a/civicrm/api/v3/examples/Activity/ContactRefCustomField.ex.php b/civicrm/api/v3/examples/Activity/ContactRefCustomField.ex.php
index 7c70fcb0b6b6e069713c99c48e5164f844d42474..6ad066c634c6fea81f534ceb26a1a1f1e6bdd621 100644
--- a/civicrm/api/v3/examples/Activity/ContactRefCustomField.ex.php
+++ b/civicrm/api/v3/examples/Activity/ContactRefCustomField.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.create API.
  *
@@ -21,7 +26,7 @@ function activity_create_example() {
     'custom_2' => '1',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -80,6 +85,8 @@ function activity_create_expectedresult() {
         'engagement_level' => '',
         'weight' => '',
         'is_star' => '',
+        'created_date' => '',
+        'modified_date' => '',
       ],
     ],
   ];
@@ -88,23 +95,23 @@ function activity_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testActivityCreateCustomContactRefField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityCreateCustomContactRefField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/ContactRefCustomFieldGet.ex.php b/civicrm/api/v3/examples/Activity/ContactRefCustomFieldGet.ex.php
index 1b1ee194a388cb01f5e1b944ad09ecef6a1bc599..a2162e39c53b47d015f39deece5562d8322aa91e 100644
--- a/civicrm/api/v3/examples/Activity/ContactRefCustomFieldGet.ex.php
+++ b/civicrm/api/v3/examples/Activity/ContactRefCustomFieldGet.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.get API.
  *
- * Get with Contact Ref Custom Field
+ * Get with Contact Ref Custom Field.
  *
  * @return array
  *   API result array
@@ -13,7 +18,7 @@ function activity_get_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -61,10 +66,14 @@ function activity_get_expectedresult() {
         'is_current_revision' => '1',
         'is_deleted' => 0,
         'is_star' => 0,
+        'created_date' => '2013-07-28 08:49:19',
+        'modified_date' => '2012-11-14 16:02:35',
         'custom_1' => 'defaultValue',
         'custom_2_id' => '1',
         'custom_2' => 'Anderson, Anthony',
         'source_contact_id' => '1',
+        'source_contact_name' => 'Mr. Anthony Anderson II',
+        'source_contact_sort_name' => 'Anderson, Anthony',
         'custom_1_1' => 'defaultValue',
         'custom_2_1' => 'Anderson, Anthony',
         'custom_2_1_id' => '1',
@@ -76,23 +85,23 @@ function activity_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testActivityCreateCustomContactRefField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityCreateCustomContactRefField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/Create.ex.php b/civicrm/api/v3/examples/Activity/Create.ex.php
index 3d48bdddeb07e7ac75cdc462f23e8316d92e28d1..5a39798972a0f8e7dfb85e1409608a04e6cbc9d1 100644
--- a/civicrm/api/v3/examples/Activity/Create.ex.php
+++ b/civicrm/api/v3/examples/Activity/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.create API.
  *
@@ -19,7 +24,7 @@ function activity_create_example() {
     'custom_1' => 'custom string',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -78,6 +83,8 @@ function activity_create_expectedresult() {
         'engagement_level' => '',
         'weight' => '',
         'is_star' => '',
+        'created_date' => '',
+        'modified_date' => '',
       ],
     ],
   ];
@@ -86,23 +93,23 @@ function activity_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testActivityCreateCustomSubType"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityCreateCustomSubType"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/DateTimeHigh.ex.php b/civicrm/api/v3/examples/Activity/DateTimeHigh.ex.php
index 7f8009b078660fd9ae4ce943b426b4b51d140e1d..894484412a5c9f3c6f0a7fc313eb8bb0ae8e35bd 100644
--- a/civicrm/api/v3/examples/Activity/DateTimeHigh.ex.php
+++ b/civicrm/api/v3/examples/Activity/DateTimeHigh.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.get API.
  *
@@ -12,9 +17,10 @@ function activity_get_example() {
     'source_contact_id' => 1,
     'filter.activity_date_time_high' => '20120101000000',
     'sequential' => 1,
+    'return' => 'activity_date_time',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,20 +55,10 @@ function activity_get_expectedresult() {
     'values' => [
       '0' => [
         'id' => '1',
-        'activity_type_id' => '9999',
-        'subject' => 'Make-it-Happen Meeting',
         'activity_date_time' => '2011-01-01 00:00:00',
-        'duration' => '120',
-        'location' => 'Pennsylvania',
-        'details' => 'a test activity',
-        'status_id' => '1',
-        'priority_id' => '1',
-        'is_test' => 0,
-        'is_auto' => 0,
-        'is_current_revision' => '1',
-        'is_deleted' => 0,
-        'is_star' => 0,
         'source_contact_id' => '1',
+        'source_contact_name' => 'Mr. Anthony Anderson II',
+        'source_contact_sort_name' => 'Anderson, Anthony',
       ],
     ],
   ];
@@ -71,23 +67,23 @@ function activity_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetFilterMaxDate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetFilterMaxDate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/DateTimeLow.ex.php b/civicrm/api/v3/examples/Activity/DateTimeLow.ex.php
index c4ccee6a683d6b2287964affbeff93e82d5ec21d..fefd5cf63ba3a0d867dc2a78ed34bf5d64222d39 100644
--- a/civicrm/api/v3/examples/Activity/DateTimeLow.ex.php
+++ b/civicrm/api/v3/examples/Activity/DateTimeLow.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.get API.
  *
@@ -11,9 +16,10 @@ function activity_get_example() {
   $params = [
     'filter.activity_date_time_low' => '20120101000000',
     'sequential' => 1,
+    'return' => 'activity_date_time',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,20 +54,10 @@ function activity_get_expectedresult() {
     'values' => [
       '0' => [
         'id' => '2',
-        'activity_type_id' => '9999',
-        'subject' => 'Make-it-Happen Meeting',
         'activity_date_time' => '2012-02-16 00:00:00',
-        'duration' => '120',
-        'location' => 'Pennsylvania',
-        'details' => 'a test activity',
-        'status_id' => '1',
-        'priority_id' => '1',
-        'is_test' => 0,
-        'is_auto' => 0,
-        'is_current_revision' => '1',
-        'is_deleted' => 0,
-        'is_star' => 0,
         'source_contact_id' => '1',
+        'source_contact_name' => 'Mr. Anthony Anderson II',
+        'source_contact_sort_name' => 'Anderson, Anthony',
       ],
     ],
   ];
@@ -70,23 +66,23 @@ function activity_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetFilterMaxDate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetFilterMaxDate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/Delete.ex.php b/civicrm/api/v3/examples/Activity/Delete.ex.php
index 131e8ad31cf9667fbd4046c36b40ff2550731eab..fd6ebc4ba8bba7cd244f17708563bd9178d6b918 100644
--- a/civicrm/api/v3/examples/Activity/Delete.ex.php
+++ b/civicrm/api/v3/examples/Activity/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.delete API.
  *
@@ -10,7 +15,7 @@ function activity_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function activity_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteActivity"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteActivity"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/Get.ex.php b/civicrm/api/v3/examples/Activity/Get.ex.php
index 014e703a3def99613a0f753fcf24b5968466d57b..e09bac324e5df727956618b5f103b01b479ee574 100644
--- a/civicrm/api/v3/examples/Activity/Get.ex.php
+++ b/civicrm/api/v3/examples/Activity/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.get API.
  *
@@ -7,12 +12,12 @@
  */
 function activity_get_example() {
   $params = [
-    'case_id' => [
-      'IS NULL' => 1,
-    ],
+    'activity_type_id' => 9999,
+    'sequential' => 1,
+    'return.custom_1' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,15 +48,18 @@ function activity_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 9,
+    'id' => 1,
     'values' => [
-      '9' => [
-        'id' => '9',
-        'activity_type_id' => '2',
-        'subject' => 'Ask not what your API can do for you, but what you can do for your API.',
-        'activity_date_time' => '2019-08-20 19:10:43',
+      '0' => [
+        'id' => '1',
+        'activity_type_id' => '9999',
+        'subject' => 'test activity type id',
+        'activity_date_time' => '2011-06-02 14:36:13',
+        'duration' => '120',
+        'location' => 'Pennsylvania',
+        'details' => 'a test activity',
         'status_id' => '2',
-        'priority_id' => '2',
+        'priority_id' => '1',
         'is_test' => 0,
         'is_auto' => 0,
         'is_current_revision' => '1',
@@ -59,9 +67,11 @@ function activity_get_expectedresult() {
         'is_star' => 0,
         'created_date' => '2013-07-28 08:49:19',
         'modified_date' => '2012-11-14 16:02:35',
-        'source_contact_id' => '19',
+        'custom_1' => 'custom string',
+        'source_contact_id' => '1',
         'source_contact_name' => 'Mr. Anthony Anderson II',
         'source_contact_sort_name' => 'Anderson, Anthony',
+        'custom_1_1' => 'custom string',
       ],
     ],
   ];
@@ -70,23 +80,23 @@ function activity_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityCaseTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityGetGoodIDCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/GetFields.ex.php b/civicrm/api/v3/examples/Activity/GetFields.ex.php
index 6155aa26ed744964a5407319d6ddf2c6d4b498ad..465fa3e4f66432b160ac2be96106c485dea0a074 100644
--- a/civicrm/api/v3/examples/Activity/GetFields.ex.php
+++ b/civicrm/api/v3/examples/Activity/GetFields.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.getfields API.
  *
@@ -10,7 +15,7 @@ function activity_getfields_example() {
     'action' => 'create',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'getfields', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -40,16 +45,21 @@ function activity_getfields_expectedresult() {
   $expectedResult = [
     'is_error' => 0,
     'version' => 3,
-    'count' => 29,
+    'count' => 31,
     'values' => [
       'source_record_id' => [
         'name' => 'source_record_id',
         'type' => 1,
         'title' => 'Source Record',
         'description' => 'Artificial FK to original transaction (e.g. contribution) IF it is not an Activity. Table can be figured out through activity_type_id, and further through component registry.',
+        'where' => 'civicrm_activity.source_record_id',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
+        'readonly' => TRUE,
+        'add' => '2.0',
+        'is_core_field' => TRUE,
       ],
       'activity_type_id' => [
         'name' => 'activity_type_id',
@@ -65,8 +75,10 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'Select',
+          'label' => 'Activity Type',
           'size' => 6,
           'maxlength' => 14,
         ],
@@ -74,38 +86,51 @@ function activity_getfields_expectedresult() {
           'optionGroupName' => 'activity_type',
           'optionEditPath' => 'civicrm/admin/options/activity_type',
         ],
+        'add' => '1.1',
+        'is_core_field' => TRUE,
       ],
       'activity_date_time' => [
         'name' => 'activity_date_time',
         'type' => 12,
         'title' => 'Activity Date',
         'description' => 'Date and time this activity is scheduled to occur. Formerly named scheduled_date_time.',
+        'required' => '',
         'import' => TRUE,
         'where' => 'civicrm_activity.activity_date_time',
         'headerPattern' => '/(activity.)?date(.time$)?/i',
         'export' => TRUE,
+        'default' => 'CURRENT_TIMESTAMP',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'Select Date',
-          'format' => 'activityDateTime',
+          'formatType' => 'activityDateTime',
         ],
+        'add' => '2.0',
+        'is_core_field' => TRUE,
+        'api.default' => 'now',
       ],
       'phone_id' => [
         'name' => 'phone_id',
         'type' => 1,
-        'title' => 'Phone (called) ID',
+        'title' => 'Phone ID (called)',
         'description' => 'Phone ID of the number called (optional - used if an existing phone number is selected).',
+        'where' => 'civicrm_activity.phone_id',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'FKClassName' => 'CRM_Core_DAO_Phone',
         'html' => [
           'type' => 'EntityRef',
+          'label' => 'Phone (called)',
           'size' => 6,
           'maxlength' => 14,
         ],
+        'add' => '2.0',
+        'is_core_field' => TRUE,
         'FKApiName' => 'Phone',
       ],
       'phone_number' => [
@@ -115,23 +140,31 @@ function activity_getfields_expectedresult() {
         'description' => 'Phone number in case the number does not exist in the civicrm_phone table.',
         'maxlength' => 64,
         'size' => 30,
+        'where' => 'civicrm_activity.phone_number',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'Text',
           'maxlength' => 64,
           'size' => 30,
         ],
+        'add' => '2.0',
+        'is_core_field' => TRUE,
       ],
       'priority_id' => [
         'name' => 'priority_id',
         'type' => 1,
         'title' => 'Priority',
         'description' => 'ID of the priority given to this activity. Foreign key to civicrm_option_value.',
+        'import' => TRUE,
+        'where' => 'civicrm_activity.priority_id',
+        'export' => TRUE,
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'Select',
           'size' => 6,
@@ -141,36 +174,60 @@ function activity_getfields_expectedresult() {
           'optionGroupName' => 'priority',
           'optionEditPath' => 'civicrm/admin/options/priority',
         ],
+        'add' => '2.0',
+        'is_core_field' => TRUE,
       ],
       'parent_id' => [
         'name' => 'parent_id',
         'type' => 1,
-        'title' => 'Parent Activity Id',
+        'title' => 'Parent Activity ID',
         'description' => 'Parent meeting ID (if this is a follow-up item). This is not currently implemented',
+        'where' => 'civicrm_activity.parent_id',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'FKClassName' => 'CRM_Activity_DAO_Activity',
+        'html' => [
+          'label' => 'Parent Activity',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'readonly' => TRUE,
+        'add' => '1.1',
+        'is_core_field' => TRUE,
         'FKApiName' => 'Activity',
       ],
       'is_auto' => [
         'name' => 'is_auto',
         'type' => 16,
         'title' => 'Auto',
+        'where' => 'civicrm_activity.is_auto',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
+        'add' => '2.2',
+        'is_core_field' => TRUE,
       ],
       'relationship_id' => [
         'name' => 'relationship_id',
         'type' => 1,
-        'title' => 'Relationship Id',
+        'title' => 'Relationship ID',
         'description' => 'FK to Relationship ID',
-        'default' => 'NULL',
+        'where' => 'civicrm_activity.relationship_id',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'FKClassName' => 'CRM_Contact_DAO_Relationship',
+        'html' => [
+          'label' => 'Relationship',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'add' => '2.2',
+        'is_core_field' => TRUE,
         'FKApiName' => 'Relationship',
       ],
       'is_current_revision' => [
@@ -185,33 +242,42 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
-        'html' => [
-          'type' => 'CheckBox',
-        ],
+        'localizable' => 0,
+        'add' => '2.2',
+        'is_core_field' => TRUE,
       ],
       'original_id' => [
         'name' => 'original_id',
         'type' => 1,
-        'title' => 'Original Activity ID ',
+        'title' => 'Original Activity ID',
         'description' => 'Activity ID of the first activity record in versioning chain.',
+        'where' => 'civicrm_activity.original_id',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'FKClassName' => 'CRM_Activity_DAO_Activity',
+        'html' => [
+          'label' => 'Original Activity',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'readonly' => TRUE,
+        'add' => '2.2',
+        'is_core_field' => TRUE,
         'FKApiName' => 'Activity',
       ],
       'weight' => [
         'name' => 'weight',
         'type' => 1,
         'title' => 'Order',
+        'where' => 'civicrm_activity.weight',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
-        'html' => [
-          'type' => 'Text',
-          'size' => 6,
-          'maxlength' => 14,
-        ],
+        'localizable' => 0,
+        'add' => '4.1',
+        'is_core_field' => TRUE,
       ],
       'is_star' => [
         'name' => 'is_star',
@@ -225,6 +291,12 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
+        'html' => [
+          'type' => 'Checkbox',
+        ],
+        'add' => '4.7',
+        'is_core_field' => TRUE,
       ],
       'id' => [
         'name' => 'id',
@@ -238,6 +310,15 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
+        'html' => [
+          'type' => 'Number',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'readonly' => TRUE,
+        'add' => '1.1',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_id',
         'api.aliases' => [
           '0' => 'activity_id',
@@ -257,11 +338,14 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'Text',
           'maxlength' => 255,
           'size' => 45,
         ],
+        'add' => '1.1',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_subject',
       ],
       'duration' => [
@@ -276,11 +360,14 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
-          'type' => 'Text',
+          'type' => 'Number',
           'size' => 6,
           'maxlength' => 14,
         ],
+        'add' => '2.0',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_duration',
       ],
       'location' => [
@@ -297,11 +384,14 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'Text',
           'maxlength' => 255,
           'size' => 45,
         ],
+        'add' => '1.1',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_location',
       ],
       'details' => [
@@ -316,11 +406,14 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'RichTextEditor',
           'rows' => 2,
           'cols' => 80,
         ],
+        'add' => '1.1',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_details',
       ],
       'status_id' => [
@@ -331,9 +424,11 @@ function activity_getfields_expectedresult() {
         'import' => TRUE,
         'where' => 'civicrm_activity.status_id',
         'headerPattern' => '/(activity.)?status(.label$)?/i',
+        'export' => TRUE,
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'Select',
           'size' => 6,
@@ -343,6 +438,8 @@ function activity_getfields_expectedresult() {
           'optionGroupName' => 'activity_status',
           'optionEditPath' => 'civicrm/admin/options/activity_status',
         ],
+        'add' => '2.0',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_status_id',
         'api.aliases' => [
           '0' => 'activity_status',
@@ -359,9 +456,12 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
-          'type' => 'Select',
+          'type' => 'CheckBox',
         ],
+        'add' => '2.0',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_is_test',
       ],
       'medium_id' => [
@@ -369,10 +469,11 @@ function activity_getfields_expectedresult() {
         'type' => 1,
         'title' => 'Activity Medium',
         'description' => 'Activity Medium, Implicit FK to civicrm_option_value where option_group = encounter_medium.',
-        'default' => 'NULL',
+        'where' => 'civicrm_activity.medium_id',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'Select',
           'size' => 6,
@@ -382,6 +483,8 @@ function activity_getfields_expectedresult() {
           'optionGroupName' => 'encounter_medium',
           'optionEditPath' => 'civicrm/admin/options/encounter_medium',
         ],
+        'add' => '2.2',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_medium_id',
       ],
       'result' => [
@@ -391,14 +494,13 @@ function activity_getfields_expectedresult() {
         'description' => 'Currently being used to store result id for survey activity, FK to option value.',
         'maxlength' => 255,
         'size' => 45,
+        'where' => 'civicrm_activity.result',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
-        'html' => [
-          'type' => 'Text',
-          'maxlength' => 255,
-          'size' => 45,
-        ],
+        'localizable' => 0,
+        'add' => '3.3',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_result',
       ],
       'is_deleted' => [
@@ -412,15 +514,18 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
-          'type' => 'Text',
+          'type' => 'CheckBox',
         ],
+        'add' => '2.2',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_is_deleted',
       ],
       'campaign_id' => [
         'name' => 'campaign_id',
         'type' => 1,
-        'title' => 'Campaign',
+        'title' => 'Campaign ID',
         'description' => 'The campaign for which this activity has been triggered.',
         'import' => TRUE,
         'where' => 'civicrm_activity.campaign_id',
@@ -428,9 +533,12 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'FKClassName' => 'CRM_Campaign_DAO_Campaign',
+        'component' => 'CiviCampaign',
         'html' => [
-          'type' => 'CheckBox',
+          'type' => 'EntityRef',
+          'label' => 'Campaign',
           'size' => 6,
           'maxlength' => 14,
         ],
@@ -438,7 +546,10 @@ function activity_getfields_expectedresult() {
           'table' => 'civicrm_campaign',
           'keyColumn' => 'id',
           'labelColumn' => 'title',
+          'prefetch' => 'FALSE',
         ],
+        'add' => '3.4',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_campaign_id',
         'FKApiName' => 'Campaign',
       ],
@@ -453,6 +564,7 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'Select',
           'size' => 6,
@@ -462,16 +574,52 @@ function activity_getfields_expectedresult() {
           'optionGroupName' => 'engagement_index',
           'optionEditPath' => 'civicrm/admin/options/engagement_index',
         ],
+        'add' => '3.4',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_engagement_level',
       ],
-      'source_contact_id' => [
-        'name' => 'source_contact_id',
-        'title' => 'Activity Source Contact',
-        'description' => 'Person who created this activity. Defaults to current user.',
-        'type' => 1,
-        'FKClassName' => 'CRM_Contact_DAO_Contact',
-        'api.default' => 'user_contact_id',
-        'FKApiName' => 'Contact',
+      'created_date' => [
+        'name' => 'created_date',
+        'type' => 256,
+        'title' => 'Created Date',
+        'description' => 'When was the activity was created.',
+        'required' => '',
+        'where' => 'civicrm_activity.created_date',
+        'export' => TRUE,
+        'default' => 'CURRENT_TIMESTAMP',
+        'table_name' => 'civicrm_activity',
+        'entity' => 'Activity',
+        'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
+        'html' => [
+          'type' => 'Select Date',
+          'label' => 'Created Date',
+        ],
+        'add' => '4.7',
+        'is_core_field' => TRUE,
+        'uniqueName' => 'activity_created_date',
+      ],
+      'modified_date' => [
+        'name' => 'modified_date',
+        'type' => 256,
+        'title' => 'Modified Date',
+        'description' => 'When was the activity (or closely related entity) was created or modified or deleted.',
+        'required' => '',
+        'where' => 'civicrm_activity.modified_date',
+        'export' => TRUE,
+        'default' => 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP',
+        'table_name' => 'civicrm_activity',
+        'entity' => 'Activity',
+        'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
+        'html' => [
+          'type' => 'Select Date',
+          'label' => 'Modified Date',
+        ],
+        'readonly' => TRUE,
+        'add' => '4.7',
+        'is_core_field' => TRUE,
+        'uniqueName' => 'activity_modified_date',
       ],
       'assignee_contact_id' => [
         'name' => 'assignee_id',
@@ -489,6 +637,16 @@ function activity_getfields_expectedresult() {
         'FKClassName' => 'CRM_Contact_DAO_Contact',
         'FKApiName' => 'Contact',
       ],
+      'source_contact_id' => [
+        'name' => 'source_contact_id',
+        'title' => 'Activity Source Contact',
+        'description' => 'Person who created this activity. Defaults to current user.',
+        'type' => 1,
+        'FKClassName' => 'CRM_Contact_DAO_Contact',
+        'api.default' => 'user_contact_id',
+        'FKApiName' => 'Contact',
+        'api.required' => TRUE,
+      ],
       'case_id' => [
         'name' => 'case_id',
         'title' => 'Case ID',
@@ -504,23 +662,23 @@ function activity_getfields_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetFields"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetFields"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/GetTargetandAssignee.ex.php b/civicrm/api/v3/examples/Activity/GetTargetandAssignee.ex.php
index 1cdffbae4b702d3d658593df286f77b83a5e667c..f9236211b397e833851d569225d446617f84316f 100644
--- a/civicrm/api/v3/examples/Activity/GetTargetandAssignee.ex.php
+++ b/civicrm/api/v3/examples/Activity/GetTargetandAssignee.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.create API.
  *
@@ -22,7 +27,7 @@ function activity_create_example() {
     'assignee_contact_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -81,6 +86,8 @@ function activity_create_expectedresult() {
         'engagement_level' => '',
         'weight' => '',
         'is_star' => '',
+        'created_date' => '',
+        'modified_date' => '',
       ],
     ],
   ];
@@ -89,23 +96,23 @@ function activity_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testActivityReturnTargetAssignee"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityReturnTargetAssignee"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/GetTargetandAssigneeName.ex.php b/civicrm/api/v3/examples/Activity/GetTargetandAssigneeName.ex.php
index 7eaa7b8f9b7c41d91f996cabbedab56fecee858d..8c40df7603af8e291150fae025f4f8841e1bdb08 100644
--- a/civicrm/api/v3/examples/Activity/GetTargetandAssigneeName.ex.php
+++ b/civicrm/api/v3/examples/Activity/GetTargetandAssigneeName.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.getsingle API.
  *
@@ -18,7 +23,7 @@ function activity_getsingle_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'getsingle', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,8 +53,16 @@ function activity_getsingle_expectedresult() {
   $expectedResult = [
     'id' => '1',
     'subject' => 'Make-it-Happen Meeting',
+    'assignee_contact_id' => [],
+    'assignee_contact_name' => [
+      '5' => 'C Shore',
+    ],
+    'assignee_contact_sort_name' => [
+      '5' => 'Shore, C',
+    ],
     'source_contact_id' => '6',
     'source_contact_name' => 'D Bug',
+    'source_contact_sort_name' => 'Bug, D',
     'target_contact_id' => [
       '1' => '4',
     ],
@@ -57,9 +70,9 @@ function activity_getsingle_expectedresult() {
       '3' => 'A Cat',
       '4' => 'B Good',
     ],
-    'assignee_contact_id' => [],
-    'assignee_contact_name' => [
-      '5' => 'C Shore',
+    'target_contact_sort_name' => [
+      '3' => 'Cat, A',
+      '4' => 'Good, B',
     ],
   ];
 
@@ -67,23 +80,23 @@ function activity_getsingle_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testActivityReturnTargetAssigneeName"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityReturnTargetAssigneeName"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/ReturnAssigneeContact.ex.php b/civicrm/api/v3/examples/Activity/ReturnAssigneeContact.ex.php
index 3c61ec8b8a83a280d1833b7dd209c489bdf574e3..1b4ce1121e72b241fd88fe10170e9cc46989878c 100644
--- a/civicrm/api/v3/examples/Activity/ReturnAssigneeContact.ex.php
+++ b/civicrm/api/v3/examples/Activity/ReturnAssigneeContact.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.get API.
  *
@@ -15,9 +20,13 @@ function activity_get_example() {
     'api.contact.get' => [
       'id' => '$value.source_contact_id',
     ],
+    'return' => [
+      '0' => 'activity_type_id',
+      '1' => 'subject',
+    ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -54,21 +63,18 @@ function activity_get_expectedresult() {
         'id' => '1',
         'activity_type_id' => '9999',
         'subject' => 'test activity type id',
-        'activity_date_time' => '2011-06-02 14:36:13',
-        'duration' => '120',
-        'location' => 'Pennsylvania',
-        'details' => 'a test activity',
-        'status_id' => '2',
-        'priority_id' => '1',
-        'is_test' => 0,
-        'is_auto' => 0,
-        'is_current_revision' => '1',
-        'is_deleted' => 0,
-        'is_star' => 0,
+        'source_contact_id' => '1',
+        'source_contact_name' => 'Mr. Anthony Anderson II',
+        'source_contact_sort_name' => 'Anderson, Anthony',
         'assignee_contact_id' => [
           '0' => '3',
         ],
-        'source_contact_id' => '1',
+        'assignee_contact_name' => [
+          '3' => 'The Rock roccky',
+        ],
+        'assignee_contact_sort_name' => [
+          '3' => 'roccky, The Rock',
+        ],
         'api.contact.get' => [
           'is_error' => 0,
           'version' => 3,
@@ -101,7 +107,7 @@ function activity_get_expectedresult() {
               'prefix_id' => '3',
               'suffix_id' => '3',
               'formal_title' => '',
-              'communication_style_id' => '',
+              'communication_style_id' => '1',
               'job_title' => '',
               'gender_id' => '',
               'birth_date' => '',
@@ -138,7 +144,7 @@ function activity_get_expectedresult() {
               'languages' => 'English (United States)',
               'individual_prefix' => 'Mr.',
               'individual_suffix' => 'II',
-              'communication_style' => '',
+              'communication_style' => 'Formal',
               'gender' => '',
               'state_province_name' => '',
               'state_province' => '',
@@ -155,23 +161,23 @@ function activity_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testActivityGetGoodID1"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityGetGoodID1"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ActivityContact/Create.ex.php b/civicrm/api/v3/examples/ActivityContact/Create.ex.php
index d538c10419cfde4ed0b04d55eadeae523800bbf3..f3a9bf503776ac70eb4678d12923abf4eb637e9b 100644
--- a/civicrm/api/v3/examples/ActivityContact/Create.ex.php
+++ b/civicrm/api/v3/examples/ActivityContact/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ActivityContact.create API.
  *
@@ -12,7 +17,7 @@ function activity_contact_create_example() {
     'record_type_id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ActivityContact', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,23 +63,23 @@ function activity_contact_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateActivityContact"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateActivityContact"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ActivityContact/Delete.ex.php b/civicrm/api/v3/examples/ActivityContact/Delete.ex.php
index 34a0727e074e3af64a94b9e9651dfb9cbfcae3b1..dba912828e67f26d072c3dd1f367e4ae6b4f45c6 100644
--- a/civicrm/api/v3/examples/ActivityContact/Delete.ex.php
+++ b/civicrm/api/v3/examples/ActivityContact/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ActivityContact.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function activity_contact_delete_example() {
   $params = [
-    'id' => 11,
+    'id' => 14,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ActivityContact', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function activity_contact_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteActivityContact"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteActivityContact"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ActivityType/Create.ex.php b/civicrm/api/v3/examples/ActivityType/Create.ex.php
index 32298d87390aabc0272980304a5ce37863f0cf70..43c02fd3c230387b68e74093964654a5dac4dec9 100644
--- a/civicrm/api/v3/examples/ActivityType/Create.ex.php
+++ b/civicrm/api/v3/examples/ActivityType/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ActivityType.create API.
  *
@@ -18,7 +23,7 @@ function activity_type_create_example() {
     'is_default' => 0,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ActivityType', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,10 +54,10 @@ function activity_type_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 869,
+    'id' => 859,
     'values' => [
-      '869' => [
-        'id' => '869',
+      '859' => [
+        'id' => '859',
         'option_group_id' => '2',
         'label' => 'send out letters',
         'value' => '55',
@@ -79,23 +84,23 @@ function activity_type_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testActivityTypeCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityTypeCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ActivityType/Get.ex.php b/civicrm/api/v3/examples/ActivityType/Get.ex.php
index 0c81f5052c60042a7a6d60598f1b0dc32b589fe0..eb3c70436135ea47d05dcd95960e259d95f51f9f 100644
--- a/civicrm/api/v3/examples/ActivityType/Get.ex.php
+++ b/civicrm/api/v3/examples/ActivityType/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ActivityType.get API.
  *
@@ -11,7 +16,7 @@
 function activity_type_get_example() {
   $params = [];
 
-  try{
+  try {
     $result = civicrm_api3('ActivityType', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -86,23 +91,23 @@ function activity_type_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testActivityTypeGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityTypeGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Address/AddressLike.ex.php b/civicrm/api/v3/examples/Address/AddressLike.ex.php
index 6f36acfeb36286fdbbef58fe042c5010648c8cf8..47dc4b85b015cf5873d17590127cc099e22de72f 100644
--- a/civicrm/api/v3/examples/Address/AddressLike.ex.php
+++ b/civicrm/api/v3/examples/Address/AddressLike.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Address.get API.
  *
@@ -13,9 +18,10 @@ function address_get_example() {
       'LIKE' => '%mb%',
     ],
     'sequential' => 1,
+    'return' => 'street_address',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Address', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,21 +52,11 @@ function address_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 1,
+    'id' => 2,
     'values' => [
       '0' => [
-        'id' => '1',
-        'contact_id' => '4',
-        'location_type_id' => '33',
-        'is_primary' => '1',
-        'is_billing' => 0,
+        'id' => '2',
         'street_address' => 'Ambachtstraat 23',
-        'street_number' => '23',
-        'street_name' => 'Ambachtstraat',
-        'city' => 'Brummen',
-        'postal_code' => '6971 BN',
-        'country_id' => '1152',
-        'manual_geo_code' => 0,
       ],
     ],
   ];
@@ -69,23 +65,23 @@ function address_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetAddressLikeSuccess"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetAddressLikeSuccess"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Address/AddressParse.ex.php b/civicrm/api/v3/examples/Address/AddressParse.ex.php
index 264e7684bfbe6a00d75d94a9913fbabba7fe45d2..6bac470ffc9f32420dfaa6761cb1fc3a4888b6fa 100644
--- a/civicrm/api/v3/examples/Address/AddressParse.ex.php
+++ b/civicrm/api/v3/examples/Address/AddressParse.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Address.create API.
  *
@@ -12,10 +17,10 @@ function address_create_example() {
     'street_parsing' => 1,
     'street_address' => '54A Excelsior Ave. Apt 1C',
     'location_type_id' => 8,
-    'contact_id' => 4,
+    'contact_id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Address', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,11 +51,11 @@ function address_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 1,
+    'id' => 2,
     'values' => [
-      '1' => [
-        'id' => '1',
-        'contact_id' => '4',
+      '2' => [
+        'id' => '2',
+        'contact_id' => '3',
         'location_type_id' => '8',
         'is_primary' => '1',
         'is_billing' => 0,
@@ -68,23 +73,23 @@ function address_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateAddressParsing"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateAddressParsing"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Address/AddressSort.ex.php b/civicrm/api/v3/examples/Address/AddressSort.ex.php
index 7c4937ba1245062edef59fd43996789049238d74..bde3f3d8af8a6a7bdf74d04231addf20d082a093 100644
--- a/civicrm/api/v3/examples/Address/AddressSort.ex.php
+++ b/civicrm/api/v3/examples/Address/AddressSort.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Address.get API.
  *
@@ -14,9 +19,10 @@ function address_get_example() {
       'limit' => 2,
     ],
     'sequential' => 1,
+    'return' => 'street_address',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Address', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,32 +55,12 @@ function address_get_expectedresult() {
     'count' => 2,
     'values' => [
       '0' => [
-        'id' => '2',
-        'contact_id' => '4',
-        'location_type_id' => '31',
-        'is_primary' => '1',
-        'is_billing' => 0,
+        'id' => '3',
         'street_address' => 'yzy',
-        'street_number' => '23',
-        'street_name' => 'Ambachtstraat',
-        'city' => 'Brummen',
-        'postal_code' => '6971 BN',
-        'country_id' => '1152',
-        'manual_geo_code' => 0,
       ],
       '1' => [
-        'id' => '1',
-        'contact_id' => '4',
-        'location_type_id' => '31',
-        'is_primary' => 0,
-        'is_billing' => 0,
+        'id' => '2',
         'street_address' => 'Ambachtstraat 23',
-        'street_number' => '23',
-        'street_name' => 'Ambachtstraat',
-        'city' => 'Brummen',
-        'postal_code' => '6971 BN',
-        'country_id' => '1152',
-        'manual_geo_code' => 0,
       ],
     ],
   ];
@@ -83,23 +69,23 @@ function address_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetAddressSort"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetAddressSort"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Address/Create.ex.php b/civicrm/api/v3/examples/Address/Create.ex.php
index 870a0208e4e7b646f55eb25b33f0dd8a1c266bad..d3bacbe11a916876b0c1c94543803fe15fa39157 100644
--- a/civicrm/api/v3/examples/Address/Create.ex.php
+++ b/civicrm/api/v3/examples/Address/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Address.create API.
  *
@@ -7,7 +12,7 @@
  */
 function address_create_example() {
   $params = [
-    'contact_id' => 4,
+    'contact_id' => 3,
     'street_name' => 'Ambachtstraat',
     'street_number' => '23',
     'street_address' => 'Ambachtstraat 23',
@@ -17,7 +22,7 @@ function address_create_example() {
     'is_primary' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Address', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,11 +53,11 @@ function address_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 1,
+    'id' => 2,
     'values' => [
-      '1' => [
-        'id' => '1',
-        'contact_id' => '4',
+      '2' => [
+        'id' => '2',
+        'contact_id' => '3',
         'location_type_id' => '1',
         'is_primary' => '1',
         'is_billing' => 0,
@@ -71,23 +76,23 @@ function address_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateAddressDefaultLocation"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateAddressDefaultLocation"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Address/Delete.ex.php b/civicrm/api/v3/examples/Address/Delete.ex.php
index ba8524486c61cd54dcdb603415d72786923e8f3b..e7e060a02e76beb63f3361a6133fb5749857bb28 100644
--- a/civicrm/api/v3/examples/Address/Delete.ex.php
+++ b/civicrm/api/v3/examples/Address/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Address.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function address_delete_example() {
   $params = [
-    'id' => 1,
+    'id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Address', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function address_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteAddress"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteAddress"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Address/Get.ex.php b/civicrm/api/v3/examples/Address/Get.ex.php
index 92f17e96cb43696ef1487faef688221a23b31b57..d58398aeead2f469029e8103c9471b7c6963d0f1 100644
--- a/civicrm/api/v3/examples/Address/Get.ex.php
+++ b/civicrm/api/v3/examples/Address/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Address.get API.
  *
@@ -7,11 +12,16 @@
  */
 function address_get_example() {
   $params = [
-    'contact_id' => 4,
+    'contact_id' => 3,
     'street_name' => 'Ambachtstraat',
+    'return' => [
+      '0' => 'location_type_id',
+      '1' => 'is_primary',
+      '2' => 'street_address',
+    ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Address', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,21 +52,13 @@ function address_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 1,
+    'id' => 2,
     'values' => [
-      '1' => [
-        'id' => '1',
-        'contact_id' => '4',
+      '2' => [
+        'id' => '2',
         'location_type_id' => '27',
         'is_primary' => '1',
-        'is_billing' => 0,
         'street_address' => 'Ambachtstraat 23',
-        'street_number' => '23',
-        'street_name' => 'Ambachtstraat',
-        'city' => 'Brummen',
-        'postal_code' => '6971 BN',
-        'country_id' => '1152',
-        'manual_geo_code' => 0,
       ],
     ],
   ];
@@ -65,23 +67,23 @@ function address_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetAddress"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetAddress"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Address/GetOptions.ex.php b/civicrm/api/v3/examples/Address/GetOptions.ex.php
index db58c9f81b9bcfc162ffbbf26621dbdae6157be7..ae7090d658f7dca3161eaa5aeeac2bcee410e280 100644
--- a/civicrm/api/v3/examples/Address/GetOptions.ex.php
+++ b/civicrm/api/v3/examples/Address/GetOptions.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Address.getoptions API.
  *
@@ -10,7 +15,7 @@ function address_getoptions_example() {
     'field' => 'location_type_id',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Address', 'getoptions', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -54,23 +59,23 @@ function address_getoptions_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testLocationTypeGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ConstantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testLocationTypeGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ConstantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Batch/Create.ex.php b/civicrm/api/v3/examples/Batch/Create.ex.php
index 978a965ab8a212d6e0241d99d3a518c2e0c20239..08457b0178332c8b47a6403a9b598f596d90d930 100644
--- a/civicrm/api/v3/examples/Batch/Create.ex.php
+++ b/civicrm/api/v3/examples/Batch/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Batch.create API.
  *
@@ -12,10 +17,10 @@ function batch_create_example() {
     'description' => 'This is description for New Batch 04',
     'total' => '400.44',
     'item_count' => 4,
-    'id' => 3,
+    'id' => 5,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Batch', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,10 +51,10 @@ function batch_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 5,
     'values' => [
-      '3' => [
-        'id' => '3',
+      '5' => [
+        'id' => '5',
         'name' => 'New_Batch_04',
         'title' => 'New Batch 04',
         'description' => 'This is description for New Batch 04',
@@ -74,23 +79,23 @@ function batch_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testUpdate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/BatchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testUpdate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/BatchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Batch/Delete.ex.php b/civicrm/api/v3/examples/Batch/Delete.ex.php
index 0180f59c0314292d5ae95735943e3a904ff04cf5..871e65756c15e024c246aaa0d8182c585aea5451 100644
--- a/civicrm/api/v3/examples/Batch/Delete.ex.php
+++ b/civicrm/api/v3/examples/Batch/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Batch.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function batch_delete_example() {
   $params = [
-    'id' => 5,
+    'id' => 8,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Batch', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function batch_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testBatchDeleteCorrectSyntax"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/BatchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testBatchDeleteCorrectSyntax"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/BatchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Batch/Get.ex.php b/civicrm/api/v3/examples/Batch/Get.ex.php
index 84e73fed73ba0025d76b959affce01e6e0ddabee..04a0f42c50119817c4f2015d2255002ec3c6b932 100644
--- a/civicrm/api/v3/examples/Batch/Get.ex.php
+++ b/civicrm/api/v3/examples/Batch/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Batch.get API.
  *
@@ -10,7 +15,7 @@ function batch_get_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Batch', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -47,6 +52,7 @@ function batch_get_expectedresult() {
         'id' => '1',
         'name' => 'Batch_433397',
         'title' => 'Batch_433397',
+        'created_date' => '2013-07-28 08:49:19',
         'modified_date' => '2012-11-14 16:02:35',
         'status_id' => '1',
       ],
@@ -57,23 +63,23 @@ function batch_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/BatchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/BatchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Batch/Update.ex.php b/civicrm/api/v3/examples/Batch/Update.ex.php
index 5eed12da7e5e9ec3e661f978ff376fb3a3a7a9d9..0ee073de8dc79724ed3fb8841f528c47702ee0f7 100644
--- a/civicrm/api/v3/examples/Batch/Update.ex.php
+++ b/civicrm/api/v3/examples/Batch/Update.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example of using batch update API.
  *
@@ -15,7 +20,7 @@ function batch_update_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('batch', 'update', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -77,7 +82,7 @@ function batch_update_expectedresult() {
 * The test that created it is called
 * testUpdate
 * and can be found in
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/BatchTest.php
+* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/BatchTest.php.
 *
 * You can see the outcome of the API tests at
 * https://test.civicrm.org/job/CiviCRM-master-git/
diff --git a/civicrm/api/v3/examples/Campaign/Create.ex.php b/civicrm/api/v3/examples/Campaign/Create.ex.php
index 342f8c3c6492d4645144caa3a617b9e96eeffdc3..cf4ab0e714d3d6cf992e0ac04f45779fdab39933 100644
--- a/civicrm/api/v3/examples/Campaign/Create.ex.php
+++ b/civicrm/api/v3/examples/Campaign/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Campaign.create API.
  *
@@ -15,7 +20,7 @@ function campaign_create_example() {
     'created_date' => 'first sat of July 2008',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Campaign', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -74,23 +79,23 @@ function campaign_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateCampaign"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CampaignTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateCampaign"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CampaignTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Campaign/Delete.ex.php b/civicrm/api/v3/examples/Campaign/Delete.ex.php
index 4acc3c37bb4d7f35eb5b8a0a1f779ef31bd3e67a..81a793590ae0aaf9f93d55e25e2700f9230a5cbf 100644
--- a/civicrm/api/v3/examples/Campaign/Delete.ex.php
+++ b/civicrm/api/v3/examples/Campaign/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Campaign.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function campaign_delete_example() {
   $params = [
-    'id' => 3,
+    'id' => 5,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Campaign', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function campaign_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteCampaign"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CampaignTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteCampaign"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CampaignTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Campaign/Get.ex.php b/civicrm/api/v3/examples/Campaign/Get.ex.php
index 0938d0f7cb2f9702ec386227329d97638e30efeb..317e91a14f8c11e17b72d39e03cbd820ffd0d47c 100644
--- a/civicrm/api/v3/examples/Campaign/Get.ex.php
+++ b/civicrm/api/v3/examples/Campaign/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Campaign.get API.
  *
@@ -12,7 +17,7 @@ function campaign_get_example() {
     'created_date' => 'first sat of July 2008',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Campaign', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,10 +48,10 @@ function campaign_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 3,
     'values' => [
-      '2' => [
-        'id' => '2',
+      '3' => [
+        'id' => '3',
         'name' => 'campaign_title',
         'title' => 'campaign title',
         'description' => 'Call people, ask for money',
@@ -60,23 +65,23 @@ function campaign_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetCampaign"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CampaignTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetCampaign"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CampaignTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Case/Create.ex.php b/civicrm/api/v3/examples/Case/Create.ex.php
index abea3d5ecaedcef3bb71cc8dad41755385cf44c3..b03342315cbdc92e2353d7469a5b7a46adf03310 100644
--- a/civicrm/api/v3/examples/Case/Create.ex.php
+++ b/civicrm/api/v3/examples/Case/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Case.create API.
  *
@@ -13,7 +18,7 @@ function case_create_example() {
     'custom_1' => 'custom string',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Case', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -65,23 +70,23 @@ function case_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCaseCreateCustom"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CaseTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCaseCreateCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CaseTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/CaseContact/Create.ex.php b/civicrm/api/v3/examples/CaseContact/Create.ex.php
index 9491e8d159d07af97f1af3784b6f82df77e847b4..495da74a84adb670ca220af212b2e623ece8a42f 100644
--- a/civicrm/api/v3/examples/CaseContact/Create.ex.php
+++ b/civicrm/api/v3/examples/CaseContact/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CaseContact.create API.
  *
@@ -11,7 +16,7 @@ function case_contact_create_example() {
     'contact_id' => 20,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('CaseContact', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -56,23 +61,23 @@ function case_contact_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCaseContactCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CaseContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCaseContactCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CaseContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/CaseContact/Get.ex.php b/civicrm/api/v3/examples/CaseContact/Get.ex.php
index 75619449d606cf801ec630b319f904bdaecad627..0c8e042d3a5f3c6dd6463ec38158f6db5991dd38 100644
--- a/civicrm/api/v3/examples/CaseContact/Get.ex.php
+++ b/civicrm/api/v3/examples/CaseContact/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CaseContact.get API.
  *
@@ -10,7 +15,7 @@ function case_contact_get_example() {
     'contact_id' => 19,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('CaseContact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -55,23 +60,23 @@ function case_contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCaseContactGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CaseContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCaseContactGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CaseContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Constant/Get.ex.php b/civicrm/api/v3/examples/Constant/Get.ex.php
index 24ee51a80f567f95f683616a4c982590b51afe18..67050d8770d982ef91ada9e7cb96046851d4d6b5 100644
--- a/civicrm/api/v3/examples/Constant/Get.ex.php
+++ b/civicrm/api/v3/examples/Constant/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Constant.get API.
  *
@@ -13,7 +18,7 @@ function constant_get_example() {
     'name' => 'activityType',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Constant', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -88,23 +93,23 @@ function constant_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testActivityType"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ConstantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityType"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ConstantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/APIChainedArray.ex.php b/civicrm/api/v3/examples/Contact/APIChainedArray.ex.php
index dbb7bc713aa5eec7a36bffb3f609852e4b05c6bd..94a3e62c0cc76fc7b624efefc1e57892837d990c 100644
--- a/civicrm/api/v3/examples/Contact/APIChainedArray.ex.php
+++ b/civicrm/api/v3/examples/Contact/APIChainedArray.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
@@ -19,7 +24,7 @@ function contact_get_example() {
     'api.Note.get' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -104,7 +109,7 @@ function contact_get_expectedresult() {
         'phone_id' => '',
         'phone_type_id' => '',
         'phone' => '',
-        'email_id' => '1',
+        'email_id' => '3',
         'email' => 'man3@yahoo.com',
         'on_hold' => 0,
         'im_id' => '',
@@ -130,7 +135,7 @@ function contact_get_expectedresult() {
             '0' => [
               'id' => '1',
               'contact_id' => '3',
-              'url' => 'http://civicrm.org',
+              'url' => 'https://civicrm.org',
             ],
           ],
         ],
@@ -169,6 +174,7 @@ function contact_get_expectedresult() {
               'is_test' => 0,
               'is_pay_later' => 0,
               'contribution_check_number' => '',
+              'is_template' => 0,
               'financial_account_id' => '1',
               'accounting_code' => '4200',
               'campaign_id' => '',
@@ -208,23 +214,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetIndividualWithChainedArrays"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetIndividualWithChainedArrays"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/APIChainedArrayFormats.ex.php b/civicrm/api/v3/examples/Contact/APIChainedArrayFormats.ex.php
index aed4d81f0a14d7b77be0841335b9888ea4dae594..9590b7aa435665f751b3923cc392b52ee15210ab 100644
--- a/civicrm/api/v3/examples/Contact/APIChainedArrayFormats.ex.php
+++ b/civicrm/api/v3/examples/Contact/APIChainedArrayFormats.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
@@ -20,7 +25,7 @@ function contact_get_example() {
     'api.Membership.getCount' => [],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -105,7 +110,7 @@ function contact_get_expectedresult() {
         'phone_id' => '',
         'phone_type_id' => '',
         'phone' => '',
-        'email_id' => '1',
+        'email_id' => '3',
         'email' => 'man3@yahoo.com',
         'on_hold' => 0,
         'im_id' => '',
@@ -122,7 +127,7 @@ function contact_get_expectedresult() {
         'state_province' => '',
         'country' => '',
         'id' => '3',
-        'api.website.getValue' => 'http://civicrm.org',
+        'api.website.getValue' => 'https://civicrm.org',
         'api.Contribution.getCount' => 2,
         'api.CustomValue.get' => [
           'is_error' => 0,
@@ -136,7 +141,7 @@ function contact_get_expectedresult() {
           'count' => 0,
           'values' => [],
         ],
-        'api.Membership.getCount' => 1,
+        'api.Membership.getCount' => 0,
       ],
     ],
   ];
@@ -145,23 +150,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetIndividualWithChainedArraysFormats"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetIndividualWithChainedArraysFormats"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/APIChainedArrayMultipleCustom.ex.php b/civicrm/api/v3/examples/Contact/APIChainedArrayMultipleCustom.ex.php
index 75640d5586d45cc309fff672e0351c331393bc50..4bfd9fb6cf1aa88a571835d57ebe317baba30a60 100644
--- a/civicrm/api/v3/examples/Contact/APIChainedArrayMultipleCustom.ex.php
+++ b/civicrm/api/v3/examples/Contact/APIChainedArrayMultipleCustom.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
@@ -17,7 +22,7 @@ function contact_get_example() {
     'api.CustomValue.get' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -102,7 +107,7 @@ function contact_get_expectedresult() {
         'phone_id' => '',
         'phone_type_id' => '',
         'phone' => '',
-        'email_id' => '1',
+        'email_id' => '3',
         'email' => 'man3@yahoo.com',
         'on_hold' => 0,
         'im_id' => '',
@@ -119,7 +124,7 @@ function contact_get_expectedresult() {
         'state_province' => '',
         'country' => '',
         'id' => '3',
-        'api.website.getValue' => 'http://civicrm.org',
+        'api.website.getValue' => 'https://civicrm.org',
         'api.Contribution.getCount' => 2,
         'api.CustomValue.get' => [
           'is_error' => 0,
@@ -187,23 +192,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetIndividualWithChainedArraysAndMultipleCustom"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetIndividualWithChainedArraysAndMultipleCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/APIChainedArrayValuesFromSiblingFunction.ex.php b/civicrm/api/v3/examples/Contact/APIChainedArrayValuesFromSiblingFunction.ex.php
index 9570d244cd290ba7eabd1e8a8d729c9f89702400..9ba497b712d20da5c1f97d24e60f83c15b2f6791 100644
--- a/civicrm/api/v3/examples/Contact/APIChainedArrayValuesFromSiblingFunction.ex.php
+++ b/civicrm/api/v3/examples/Contact/APIChainedArrayValuesFromSiblingFunction.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.create API.
  *
@@ -22,7 +27,7 @@ function contact_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -120,23 +125,23 @@ function contact_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testChainingValuesCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testChainingValuesCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/ChainTwoWebsites.ex.php b/civicrm/api/v3/examples/Contact/ChainTwoWebsites.ex.php
index 3526a4d009f0c4306e1df816248dd3dd2efd5b74..a4e5efa7ed87e19509926a31fc5583baf3eaeb51 100644
--- a/civicrm/api/v3/examples/Contact/ChainTwoWebsites.ex.php
+++ b/civicrm/api/v3/examples/Contact/ChainTwoWebsites.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.create API.
  *
@@ -28,14 +33,14 @@ function contact_create_example() {
       'skipCleanMoney' => 1,
     ],
     'api.website.create' => [
-      'url' => 'http://civicrm.org',
+      'url' => 'https://civicrm.org',
     ],
     'api.website.create.2' => [
-      'url' => 'http://chained.org',
+      'url' => 'https://chained.org',
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -153,8 +158,9 @@ function contact_create_expectedresult() {
               'check_number' => '',
               'campaign_id' => '',
               'creditnote_id' => '',
-              'tax_amount' => '',
+              'tax_amount' => 0,
               'revenue_recognition_date' => '',
+              'is_template' => '',
               'contribution_type_id' => '1',
             ],
           ],
@@ -168,7 +174,7 @@ function contact_create_expectedresult() {
             '0' => [
               'id' => '1',
               'contact_id' => '3',
-              'url' => 'http://civicrm.org',
+              'url' => 'https://civicrm.org',
               'website_type_id' => '',
             ],
           ],
@@ -182,7 +188,7 @@ function contact_create_expectedresult() {
             '0' => [
               'id' => '2',
               'contact_id' => '3',
-              'url' => 'http://chained.org',
+              'url' => 'https://chained.org',
               'website_type_id' => '',
             ],
           ],
@@ -195,23 +201,23 @@ function contact_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateIndividualWithContributionDottedSyntax"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateIndividualWithContributionDottedSyntax"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/ChainTwoWebsitesSyntax2.ex.php b/civicrm/api/v3/examples/Contact/ChainTwoWebsitesSyntax2.ex.php
index 9d587c36b0c071f398033f75ab4fbe8918c91250..3a1596a8fe81efdb0f094040d5095ed19681f426 100644
--- a/civicrm/api/v3/examples/Contact/ChainTwoWebsitesSyntax2.ex.php
+++ b/civicrm/api/v3/examples/Contact/ChainTwoWebsitesSyntax2.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.create API.
  *
@@ -29,16 +34,16 @@ function contact_create_example() {
     ],
     'api.website.create' => [
       '0' => [
-        'url' => 'http://civicrm.org',
+        'url' => 'https://civicrm.org',
       ],
       '1' => [
-        'url' => 'http://chained.org',
+        'url' => 'https://chained.org',
         'website_type_id' => 2,
       ],
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -156,8 +161,9 @@ function contact_create_expectedresult() {
               'check_number' => '',
               'campaign_id' => '',
               'creditnote_id' => '',
-              'tax_amount' => '',
+              'tax_amount' => 0,
               'revenue_recognition_date' => '',
+              'is_template' => '',
               'contribution_type_id' => '1',
             ],
           ],
@@ -172,7 +178,7 @@ function contact_create_expectedresult() {
               '0' => [
                 'id' => '1',
                 'contact_id' => '3',
-                'url' => 'http://civicrm.org',
+                'url' => 'https://civicrm.org',
                 'website_type_id' => '',
               ],
             ],
@@ -186,7 +192,7 @@ function contact_create_expectedresult() {
               '0' => [
                 'id' => '2',
                 'contact_id' => '3',
-                'url' => 'http://chained.org',
+                'url' => 'https://chained.org',
                 'website_type_id' => '2',
               ],
             ],
@@ -200,23 +206,23 @@ function contact_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateIndividualWithContributionChainedArrays"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateIndividualWithContributionChainedArrays"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/ContactIDOfLoggedInUserContactAPI.ex.php b/civicrm/api/v3/examples/Contact/ContactIDOfLoggedInUserContactAPI.ex.php
index a3f0d28d452833ebf20122359a50365a468ead83..e0eeec276db3d6160c9acac561c79db5bf7dc29a 100644
--- a/civicrm/api/v3/examples/Contact/ContactIDOfLoggedInUserContactAPI.ex.php
+++ b/civicrm/api/v3/examples/Contact/ContactIDOfLoggedInUserContactAPI.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
- * Get contact id of the current logged in user
+ * Get contact id of the current logged in user.
  *
  * @return array
  *   API result array
@@ -12,7 +17,7 @@ function contact_get_example() {
     'id' => 'user_contact_id',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,8 +54,8 @@ function contact_get_expectedresult() {
         'contact_id' => '3',
         'contact_type' => 'Individual',
         'contact_sub_type' => '',
-        'sort_name' => 'User 202290815, Logged In',
-        'display_name' => 'Mr. Logged In User 202290815 II',
+        'sort_name' => 'User 707727958, Logged In',
+        'display_name' => 'Mr. Logged In User 707727958 II',
         'do_not_email' => 0,
         'do_not_phone' => 0,
         'do_not_mail' => 0,
@@ -67,7 +72,7 @@ function contact_get_expectedresult() {
         'preferred_mail_format' => 'Both',
         'first_name' => 'Logged In',
         'middle_name' => 'J.',
-        'last_name' => 'User 202290815',
+        'last_name' => 'User 707727958',
         'prefix_id' => '3',
         'suffix_id' => '3',
         'formal_title' => '',
@@ -97,7 +102,7 @@ function contact_get_expectedresult() {
         'phone_id' => '',
         'phone_type_id' => '',
         'phone' => '',
-        'email_id' => '1',
+        'email_id' => '3',
         'email' => 'anthony_anderson@civicrm.org',
         'on_hold' => 0,
         'im_id' => '',
@@ -122,23 +127,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testLoggedInUserAPISupportToken"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testLoggedInUserAPISupportToken"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/Create.ex.php b/civicrm/api/v3/examples/Contact/Create.ex.php
index 73ebfaa96f7a42d4a34b31477f8f333a3bd3e675..cbf2a40d2ca50f103d7384dd4c6f8ea9376466ea 100644
--- a/civicrm/api/v3/examples/Contact/Create.ex.php
+++ b/civicrm/api/v3/examples/Contact/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.create API.
  *
@@ -15,7 +20,7 @@ function contact_create_example() {
     'custom_1' => 'custom string',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -106,23 +111,23 @@ function contact_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateWithCustom"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateWithCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/CreateParticipantPayment.ex.php b/civicrm/api/v3/examples/Contact/CreateParticipantPayment.ex.php
index 11aa8c872c80d2f6205012a67b15359136cc0cbd..ba7bc6631436459a61c6b7c844463b429d3de393 100644
--- a/civicrm/api/v3/examples/Contact/CreateParticipantPayment.ex.php
+++ b/civicrm/api/v3/examples/Contact/CreateParticipantPayment.ex.php
@@ -1,9 +1,14 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.create API.
  *
  * Single function to create contact with partipation & contribution.
- * Note that in the case of 'contribution' the 'create' is implied (api.contribution.create)
+ * Note that in the case of 'contribution' the 'create' is implied (api.contribution.create).
  *
  * @return array
  *   API result array
@@ -13,7 +18,7 @@ function contact_create_example() {
     'contact_type' => 'Individual',
     'display_name' => 'dlobo',
     'api.participant' => [
-      'event_id' => 43,
+      'event_id' => 41,
       'status_id' => 1,
       'role_id' => 1,
       'format.only_id' => 1,
@@ -29,7 +34,7 @@ function contact_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -60,10 +65,10 @@ function contact_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 5,
+    'id' => 7,
     'values' => [
-      '5' => [
-        'id' => '5',
+      '7' => [
+        'id' => '7',
         'contact_type' => 'Individual',
         'contact_sub_type' => '',
         'do_not_email' => 0,
@@ -135,23 +140,23 @@ function contact_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateParticipantWithPayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateParticipantWithPayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/CustomFieldGet.ex.php b/civicrm/api/v3/examples/Contact/CustomFieldGet.ex.php
index d2dc04746fd8d1bf32d3783febce3fcb30c7c715..2f76fb669f22c4500f0994d41ac5173414cdb995 100644
--- a/civicrm/api/v3/examples/Contact/CustomFieldGet.ex.php
+++ b/civicrm/api/v3/examples/Contact/CustomFieldGet.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
@@ -13,7 +18,7 @@ function contact_get_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -59,23 +64,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetWithCustom"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetWithCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/CustomFieldGetReturnSyntaxVariation.ex.php b/civicrm/api/v3/examples/Contact/CustomFieldGetReturnSyntaxVariation.ex.php
index 0c4d4840dba65a195e1083a441fff4dee1970cb9..6bb4a9bd8f7ff3f2f47bb4214aa5c8eb951a15a6 100644
--- a/civicrm/api/v3/examples/Contact/CustomFieldGetReturnSyntaxVariation.ex.php
+++ b/civicrm/api/v3/examples/Contact/CustomFieldGetReturnSyntaxVariation.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
@@ -13,7 +18,7 @@ function contact_get_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -59,23 +64,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetWithCustomReturnSyntax"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetWithCustomReturnSyntax"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/Delete.ex.php b/civicrm/api/v3/examples/Contact/Delete.ex.php
index ab8d6a6809a29fbc61127e93236850372f889d6e..5573cda0365c4af1db76ba29a7f88e200bc7d1f2 100644
--- a/civicrm/api/v3/examples/Contact/Delete.ex.php
+++ b/civicrm/api/v3/examples/Contact/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.delete API.
  *
@@ -10,7 +15,7 @@ function contact_delete_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function contact_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/FormatIsSuccess_Fail.ex.php b/civicrm/api/v3/examples/Contact/FormatIsSuccess_Fail.ex.php
index 4bff37e48d9e13c00fbd11dce2f35242009afa30..addf2a22a986d4336638821d59a194a42fd2c888 100644
--- a/civicrm/api/v3/examples/Contact/FormatIsSuccess_Fail.ex.php
+++ b/civicrm/api/v3/examples/Contact/FormatIsSuccess_Fail.ex.php
@@ -1,9 +1,14 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.create API.
  *
  * This demonstrates use of the 'format.is_success' param.
- * This param causes only the success or otherwise of the function to be returned as BOOLEAN
+ * This param causes only the success or otherwise of the function to be returned as BOOLEAN.
  *
  * @return array
  *   API result array
@@ -14,7 +19,7 @@ function contact_create_example() {
     'format.is_success' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -47,23 +52,23 @@ function contact_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactCreateFormatIsSuccessFalse"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactCreateFormatIsSuccessFalse"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/FormatIsSuccess_True.ex.php b/civicrm/api/v3/examples/Contact/FormatIsSuccess_True.ex.php
index ca3a493b0f7259ed66661283a4d6a7ce5f1d9974..3672c1c116ba9aac7ce9f5bbf47969d2cd412763 100644
--- a/civicrm/api/v3/examples/Contact/FormatIsSuccess_True.ex.php
+++ b/civicrm/api/v3/examples/Contact/FormatIsSuccess_True.ex.php
@@ -1,9 +1,14 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
  * This demonstrates use of the 'format.is_success' param.
- * This param causes only the success or otherwise of the function to be returned as BOOLEAN
+ * This param causes only the success or otherwise of the function to be returned as BOOLEAN.
  *
  * @return array
  *   API result array
@@ -14,7 +19,7 @@ function contact_get_example() {
     'format.is_success' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -47,23 +52,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactGetFormatIsSuccessTrue"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactGetFormatIsSuccessTrue"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/FormatOnlyID.ex.php b/civicrm/api/v3/examples/Contact/FormatOnlyID.ex.php
index 2aad1376a6932286e6bf0d1ee5cb049acb3ea94b..9ed03e5d3fdc6c5899c031eff8090e2f97b29aaf 100644
--- a/civicrm/api/v3/examples/Contact/FormatOnlyID.ex.php
+++ b/civicrm/api/v3/examples/Contact/FormatOnlyID.ex.php
@@ -1,10 +1,15 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
  * This demonstrates use of the 'format.id_only' param.
  * This param causes the id of the only entity to be returned as an integer.
- * It will be ignored if there is not exactly 1 result
+ * It will be ignored if there is not exactly 1 result.
  *
  * @return array
  *   API result array
@@ -15,7 +20,7 @@ function contact_get_example() {
     'format.only_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactGetFormatIDOnly"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactGetFormatIDOnly"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/FormatSingleValue.ex.php b/civicrm/api/v3/examples/Contact/FormatSingleValue.ex.php
index 926da812bed1ac78b6f5fd03f4d01bc6018a2429..59a30148f635857401dfc879691b5ff307faccc2 100644
--- a/civicrm/api/v3/examples/Contact/FormatSingleValue.ex.php
+++ b/civicrm/api/v3/examples/Contact/FormatSingleValue.ex.php
@@ -1,10 +1,15 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.getvalue API.
  *
  * This demonstrates use of the 'format.single_value' param.
  * This param causes only a single value of the only entity to be returned as an string.
- * It will be ignored if there is not exactly 1 result
+ * It will be ignored if there is not exactly 1 result.
  *
  * @return array
  *   API result array
@@ -15,7 +20,7 @@ function contact_getvalue_example() {
     'return' => 'display_name',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'getvalue', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function contact_getvalue_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactGetFormatSingleValue"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactGetFormatSingleValue"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/Get.ex.php b/civicrm/api/v3/examples/Contact/Get.ex.php
index 86b47f251b6ad444f09ac3ec8ced78544e050b63..9e52194dcc33932accba5c014298f634ae896a4b 100644
--- a/civicrm/api/v3/examples/Contact/Get.ex.php
+++ b/civicrm/api/v3/examples/Contact/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
@@ -10,7 +15,7 @@ function contact_get_example() {
     'email' => 'man2@yahoo.com',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -95,7 +100,7 @@ function contact_get_expectedresult() {
         'phone_id' => '',
         'phone_type_id' => '',
         'phone' => '',
-        'email_id' => '1',
+        'email_id' => '3',
         'email' => 'man2@yahoo.com',
         'on_hold' => 0,
         'im_id' => '',
@@ -120,23 +125,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactGetEmail"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactGetEmail"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/GetActions.ex.php b/civicrm/api/v3/examples/Contact/GetActions.ex.php
index 5d293b478f8399f9f5b56b9a219819e85b6a24c4..13c028b40da9575e23974fbf3d600aa120c05355 100644
--- a/civicrm/api/v3/examples/Contact/GetActions.ex.php
+++ b/civicrm/api/v3/examples/Contact/GetActions.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.getactions API.
  *
@@ -10,7 +15,7 @@
 function contact_getactions_example() {
   $params = [];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'getactions', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -83,23 +88,23 @@ function contact_getactions_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetActions"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetActions"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/GetCountContact.ex.php b/civicrm/api/v3/examples/Contact/GetCountContact.ex.php
index da0cff83ccfd92c1335896681059e0734307091e..fcb9fd35c1d8247f43de789d9b18c4a14d6fa418 100644
--- a/civicrm/api/v3/examples/Contact/GetCountContact.ex.php
+++ b/civicrm/api/v3/examples/Contact/GetCountContact.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.getcount API.
  *
@@ -13,7 +18,7 @@ function contact_getcount_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'getcount', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,23 +51,23 @@ function contact_getcount_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactGetFormatCountOnly"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactGetFormatCountOnly"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/GetFieldsOptions.ex.php b/civicrm/api/v3/examples/Contact/GetFieldsOptions.ex.php
index 392bbe1d385e7714fe132e0e93c02efa481fa251..1177b68ca4f742f73b3f5b4c545a31830fce5d64 100644
--- a/civicrm/api/v3/examples/Contact/GetFieldsOptions.ex.php
+++ b/civicrm/api/v3/examples/Contact/GetFieldsOptions.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.getfields API.
  *
@@ -15,7 +20,7 @@ function contact_getfields_example() {
     'action' => 'create',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'getfields', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -61,6 +66,13 @@ function contact_getfields_expectedresult() {
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
+        'html' => [
+          'type' => 'Number',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'readonly' => TRUE,
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.aliases' => [
           '0' => 'contact_id',
@@ -75,6 +87,7 @@ function contact_getfields_expectedresult() {
         'size' => 30,
         'where' => 'civicrm_contact.contact_type',
         'export' => TRUE,
+        'contactType' => '',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
@@ -90,6 +103,8 @@ function contact_getfields_expectedresult() {
           'labelColumn' => 'label',
           'condition' => 'parent_id IS NULL',
         ],
+        'readonly' => TRUE,
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.required' => 1,
       ],
@@ -120,6 +135,7 @@ function contact_getfields_expectedresult() {
           'labelColumn' => 'label',
           'condition' => 'parent_id IS NOT NULL',
         ],
+        'add' => '1.5',
         'is_core_field' => TRUE,
       ],
       'do_not_email' => [
@@ -137,7 +153,9 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'CheckBox',
+          'label' => 'Do Not Email',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'do_not_phone' => [
@@ -155,7 +173,9 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'CheckBox',
+          'label' => 'Do Not Phone',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'do_not_mail' => [
@@ -173,7 +193,9 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'CheckBox',
+          'label' => 'Do Not Mail',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'do_not_sms' => [
@@ -191,7 +213,9 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'CheckBox',
+          'label' => 'Do Not Sms',
         ],
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'do_not_trade' => [
@@ -209,7 +233,9 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'CheckBox',
+          'label' => 'Do Not Trade',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'is_opt_out' => [
@@ -227,7 +253,9 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'CheckBox',
+          'label' => 'Is Opt Out',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'legal_identifier' => [
@@ -248,9 +276,11 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Legal Identifier',
           'maxlength' => 32,
           'size' => 20,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'external_identifier' => [
@@ -271,9 +301,11 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'External Identifier',
           'maxlength' => 64,
           'size' => 8,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'sort_name' => [
@@ -294,6 +326,8 @@ function contact_getfields_expectedresult() {
           'maxlength' => 128,
           'size' => 30,
         ],
+        'readonly' => TRUE,
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'display_name' => [
@@ -314,6 +348,8 @@ function contact_getfields_expectedresult() {
           'maxlength' => 128,
           'size' => 30,
         ],
+        'readonly' => TRUE,
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'nick_name' => [
@@ -337,6 +373,7 @@ function contact_getfields_expectedresult() {
           'maxlength' => 128,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'legal_name' => [
@@ -350,15 +387,18 @@ function contact_getfields_expectedresult() {
         'where' => 'civicrm_contact.legal_name',
         'headerPattern' => '/^legal|(l(egal\\s)?name)$/i',
         'export' => TRUE,
+        'contactType' => 'Organization',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Legal Name',
           'maxlength' => 128,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'image_URL' => [
@@ -375,9 +415,11 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'File',
+          'label' => 'Image URL',
           'rows' => 2,
           'cols' => 80,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'preferred_communication_method' => [
@@ -406,6 +448,7 @@ function contact_getfields_expectedresult() {
           'optionGroupName' => 'preferred_communication_method',
           'optionEditPath' => 'civicrm/admin/options/preferred_communication_method',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'preferred_language' => [
@@ -433,6 +476,7 @@ function contact_getfields_expectedresult() {
           'keyColumn' => 'name',
           'optionEditPath' => 'civicrm/admin/options/languages',
         ],
+        'add' => '3.2',
         'is_core_field' => TRUE,
       ],
       'preferred_mail_format' => [
@@ -453,12 +497,14 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'Select',
+          'label' => 'Preferred Mail Format',
           'maxlength' => 8,
           'size' => 8,
         ],
         'pseudoconstant' => [
           'callback' => 'CRM_Core_SelectValues::pmf',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'hash' => [
@@ -474,6 +520,8 @@ function contact_getfields_expectedresult() {
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
+        'readonly' => TRUE,
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'api_key' => [
@@ -494,6 +542,13 @@ function contact_getfields_expectedresult() {
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
+        'html' => [
+          'label' => 'API KEY',
+          'maxlength' => 32,
+          'size' => 20,
+        ],
+        'readonly' => TRUE,
+        'add' => '2.2',
         'is_core_field' => TRUE,
       ],
       'first_name' => [
@@ -508,15 +563,18 @@ function contact_getfields_expectedresult() {
         'headerPattern' => '/^first|(f(irst\\s)?name)$/i',
         'dataPattern' => '/^\\w+$/',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'First Name',
           'maxlength' => 64,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'middle_name' => [
@@ -531,15 +589,18 @@ function contact_getfields_expectedresult() {
         'headerPattern' => '/^middle|(m(iddle\\s)?name)$/i',
         'dataPattern' => '/^\\w+$/',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Middle Name',
           'maxlength' => 64,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'last_name' => [
@@ -554,15 +615,18 @@ function contact_getfields_expectedresult() {
         'headerPattern' => '/^last|(l(ast\\s)?name)$/i',
         'dataPattern' => '/^\\w+(\\s\\w+)?+$/',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Last Name',
           'maxlength' => 64,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'prefix_id' => [
@@ -575,6 +639,7 @@ function contact_getfields_expectedresult() {
         'headerPattern' => '/^(prefix|title)/i',
         'dataPattern' => '/^(mr|ms|mrs|sir|dr)\\.?$/i',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
@@ -588,6 +653,7 @@ function contact_getfields_expectedresult() {
           'optionGroupName' => 'individual_prefix',
           'optionEditPath' => 'civicrm/admin/options/individual_prefix',
         ],
+        'add' => '1.2',
         'is_core_field' => TRUE,
         'api.aliases' => [
           '0' => 'individual_prefix',
@@ -604,6 +670,7 @@ function contact_getfields_expectedresult() {
         'headerPattern' => '/^suffix$/i',
         'dataPattern' => '/^(sr|jr)\\.?|i{2,}$/',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
@@ -617,6 +684,7 @@ function contact_getfields_expectedresult() {
           'optionGroupName' => 'individual_suffix',
           'optionEditPath' => 'civicrm/admin/options/individual_suffix',
         ],
+        'add' => '1.2',
         'is_core_field' => TRUE,
         'api.aliases' => [
           '0' => 'individual_suffix',
@@ -634,15 +702,18 @@ function contact_getfields_expectedresult() {
         'where' => 'civicrm_contact.formal_title',
         'headerPattern' => '/^title/i',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Formal Title',
           'maxlength' => 64,
           'size' => 30,
         ],
+        'add' => '4.5',
         'is_core_field' => TRUE,
       ],
       'communication_style_id' => [
@@ -650,7 +721,9 @@ function contact_getfields_expectedresult() {
         'type' => 1,
         'title' => 'Communication Style',
         'description' => 'Communication style (e.g. formal vs. familiar) to use with this contact. FK to communication styles in civicrm_option_value.',
+        'import' => TRUE,
         'where' => 'civicrm_contact.communication_style_id',
+        'headerPattern' => '/style/i',
         'export' => TRUE,
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
@@ -665,6 +738,7 @@ function contact_getfields_expectedresult() {
           'optionGroupName' => 'communication_style',
           'optionEditPath' => 'civicrm/admin/options/communication_style',
         ],
+        'add' => '4.4',
         'is_core_field' => TRUE,
       ],
       'email_greeting_id' => [
@@ -678,10 +752,16 @@ function contact_getfields_expectedresult() {
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
+        'html' => [
+          'type' => 'Select',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
         'pseudoconstant' => [
           'optionGroupName' => 'email_greeting',
           'optionEditPath' => 'civicrm/admin/options/email_greeting',
         ],
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'email_greeting_custom' => [
@@ -699,9 +779,11 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Email Greeting Custom',
           'maxlength' => 128,
           'size' => 45,
         ],
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'email_greeting_display' => [
@@ -716,11 +798,8 @@ function contact_getfields_expectedresult() {
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
-        'html' => [
-          'type' => 'Text',
-          'maxlength' => 255,
-          'size' => 45,
-        ],
+        'readonly' => TRUE,
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'postal_greeting_id' => [
@@ -735,7 +814,7 @@ function contact_getfields_expectedresult() {
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
-          'type' => 'Text',
+          'type' => 'Select',
           'size' => 6,
           'maxlength' => 14,
         ],
@@ -743,6 +822,7 @@ function contact_getfields_expectedresult() {
           'optionGroupName' => 'postal_greeting',
           'optionEditPath' => 'civicrm/admin/options/postal_greeting',
         ],
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'postal_greeting_custom' => [
@@ -760,9 +840,11 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Postal Greeting Custom',
           'maxlength' => 128,
           'size' => 45,
         ],
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'postal_greeting_display' => [
@@ -777,11 +859,8 @@ function contact_getfields_expectedresult() {
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
-        'html' => [
-          'type' => 'Text',
-          'maxlength' => 255,
-          'size' => 45,
-        ],
+        'readonly' => TRUE,
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'addressee_id' => [
@@ -795,10 +874,16 @@ function contact_getfields_expectedresult() {
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
+        'html' => [
+          'type' => 'Select',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
         'pseudoconstant' => [
           'optionGroupName' => 'addressee',
           'optionEditPath' => 'civicrm/admin/options/addressee',
         ],
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'addressee_custom' => [
@@ -816,9 +901,11 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Addressee Custom',
           'maxlength' => 128,
           'size' => 45,
         ],
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'addressee_display' => [
@@ -833,11 +920,8 @@ function contact_getfields_expectedresult() {
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
-        'html' => [
-          'type' => 'Text',
-          'maxlength' => 255,
-          'size' => 45,
-        ],
+        'readonly' => TRUE,
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'job_title' => [
@@ -852,32 +936,37 @@ function contact_getfields_expectedresult() {
         'headerPattern' => '/^job|(j(ob\\s)?title)$/i',
         'dataPattern' => '//',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Job Title',
           'maxlength' => 255,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'gender_id' => [
         'name' => 'gender_id',
         'type' => 1,
-        'title' => 'Gender',
+        'title' => 'Gender ID',
         'description' => 'FK to gender ID',
         'import' => TRUE,
         'where' => 'civicrm_contact.gender_id',
         'headerPattern' => '/^gender$/i',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Select',
+          'label' => 'Gender',
           'size' => 6,
           'maxlength' => 14,
         ],
@@ -885,6 +974,7 @@ function contact_getfields_expectedresult() {
           'optionGroupName' => 'gender',
           'optionEditPath' => 'civicrm/admin/options/gender',
         ],
+        'add' => '1.2',
         'is_core_field' => TRUE,
         'api.aliases' => [
           '0' => 'gender',
@@ -900,6 +990,7 @@ function contact_getfields_expectedresult() {
         'headerPattern' => '/^birth|(b(irth\\s)?date)|D(\\W*)O(\\W*)B(\\W*)$/i',
         'dataPattern' => '/\\d{4}-?\\d{2}-?\\d{2}/',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
@@ -907,24 +998,30 @@ function contact_getfields_expectedresult() {
         'html' => [
           'type' => 'Select Date',
           'formatType' => 'birth',
+          'label' => 'Birth Date',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'is_deceased' => [
         'name' => 'is_deceased',
         'type' => 16,
         'title' => 'Deceased',
+        'required' => TRUE,
         'import' => TRUE,
         'where' => 'civicrm_contact.is_deceased',
         'headerPattern' => '/i(s\\s)?d(eceased)$/i',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'CheckBox',
+          'label' => 'Is Deceased',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'deceased_date' => [
@@ -936,6 +1033,7 @@ function contact_getfields_expectedresult() {
         'where' => 'civicrm_contact.deceased_date',
         'headerPattern' => '/^deceased|(d(eceased\\s)?date)$/i',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
@@ -943,7 +1041,9 @@ function contact_getfields_expectedresult() {
         'html' => [
           'type' => 'Select Date',
           'formatType' => 'birth',
+          'label' => 'Deceased Date',
         ],
+        'add' => '1.5',
         'is_core_field' => TRUE,
       ],
       'household_name' => [
@@ -958,15 +1058,18 @@ function contact_getfields_expectedresult() {
         'headerPattern' => '/^household|(h(ousehold\\s)?name)$/i',
         'dataPattern' => '/^\\w+$/',
         'export' => TRUE,
+        'contactType' => 'Household',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Household Name',
           'maxlength' => 128,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'primary_contact_id' => [
@@ -975,16 +1078,19 @@ function contact_getfields_expectedresult() {
         'title' => 'Household Primary Contact ID',
         'description' => 'Optional FK to Primary Contact for this household.',
         'where' => 'civicrm_contact.primary_contact_id',
+        'contactType' => 'Household',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'FKClassName' => 'CRM_Contact_DAO_Contact',
         'html' => [
-          'type' => 'Select',
+          'label' => 'Household Primary Contact',
           'size' => 6,
           'maxlength' => 14,
         ],
+        'readonly' => TRUE,
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'FKApiName' => 'Contact',
       ],
@@ -1000,15 +1106,18 @@ function contact_getfields_expectedresult() {
         'headerPattern' => '/^organization|(o(rganization\\s)?name)$/i',
         'dataPattern' => '/^\\w+$/',
         'export' => TRUE,
+        'contactType' => 'Organization',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Organization Name',
           'maxlength' => 128,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'sic_code' => [
@@ -1022,15 +1131,18 @@ function contact_getfields_expectedresult() {
         'where' => 'civicrm_contact.sic_code',
         'headerPattern' => '/^sic|(s(ic\\s)?code)$/i',
         'export' => TRUE,
+        'contactType' => 'Organization',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'SIC Code',
           'maxlength' => 8,
           'size' => 8,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'user_unique_id' => [
@@ -1055,6 +1167,7 @@ function contact_getfields_expectedresult() {
           'maxlength' => 255,
           'size' => 45,
         ],
+        'add' => '2.0',
         'is_core_field' => TRUE,
       ],
       'created_date' => [
@@ -1065,11 +1178,14 @@ function contact_getfields_expectedresult() {
         'required' => '',
         'where' => 'civicrm_contact.created_date',
         'export' => TRUE,
-        'default' => 'NULL',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
+        'html' => [
+          'label' => 'Created Date',
+        ],
+        'add' => '4.3',
         'is_core_field' => TRUE,
       ],
       'modified_date' => [
@@ -1085,6 +1201,11 @@ function contact_getfields_expectedresult() {
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
+        'html' => [
+          'label' => 'Modified Date',
+        ],
+        'readonly' => TRUE,
+        'add' => '4.3',
         'is_core_field' => TRUE,
       ],
       'source' => [
@@ -1107,16 +1228,18 @@ function contact_getfields_expectedresult() {
           'maxlength' => 255,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'uniqueName' => 'contact_source',
       ],
       'employer_id' => [
         'name' => 'employer_id',
         'type' => 1,
-        'title' => 'Current Employer',
+        'title' => 'Current Employer ID',
         'description' => 'OPTIONAL FK to civicrm_contact record.',
         'where' => 'civicrm_contact.employer_id',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
@@ -1124,9 +1247,11 @@ function contact_getfields_expectedresult() {
         'FKClassName' => 'CRM_Contact_DAO_Contact',
         'html' => [
           'type' => 'EntityRef',
+          'label' => 'Current Employer',
           'size' => 6,
           'maxlength' => 14,
         ],
+        'add' => '2.1',
         'is_core_field' => TRUE,
         'uniqueName' => 'current_employer_id',
         'FKApiName' => 'Contact',
@@ -1145,6 +1270,7 @@ function contact_getfields_expectedresult() {
         'html' => [
           'type' => 'CheckBox',
         ],
+        'add' => '3.2',
         'is_core_field' => TRUE,
         'uniqueName' => 'contact_is_deleted',
       ],
@@ -1169,18 +1295,19 @@ function contact_getfields_expectedresult() {
         'extends_entity_column_id' => '',
         'is_view' => 0,
         'is_multiple' => 0,
-        'option_group_id' => '110',
+        'option_group_id' => '109',
         'date_format' => '',
         'time_format' => '',
         'is_required' => '1',
         'table_name' => 'civicrm_value_select_test_g_1',
         'column_name' => 'our_special_field_1',
+        'serialize' => 0,
         'where' => 'civicrm_value_select_test_g_1.our_special_field_1',
         'extends_table' => 'civicrm_contact',
         'search_table' => 'contact_a',
         'pseudoconstant' => [
-          'optionGroupName' => 'our_special_field_20190820191605',
-          'optionEditPath' => 'civicrm/admin/options/our_special_field_20190820191605',
+          'optionGroupName' => 'our_special_field_20220117122549',
+          'optionEditPath' => 'civicrm/admin/options/our_special_field_20220117122549',
         ],
         'options' => [
           '1' => 'Label1',
@@ -1213,23 +1340,23 @@ function contact_getfields_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCustomFieldCreateWithOptionValues"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCustomFieldCreateWithOptionValues"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/GetMergedfrom.ex.php b/civicrm/api/v3/examples/Contact/GetMergedfrom.ex.php
index 5349486299a632c9a8ae8e8a471a2e116bed3285..7c3c47790058f109adfb3600495a740753169ba2 100644
--- a/civicrm/api/v3/examples/Contact/GetMergedfrom.ex.php
+++ b/civicrm/api/v3/examples/Contact/GetMergedfrom.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.getmergedfrom API.
  *
@@ -10,7 +15,7 @@ function contact_getmergedfrom_example() {
     'contact_id' => 4,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'getmergedfrom', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,23 +63,23 @@ function contact_getmergedfrom_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMergedGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMergedGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/GetMergedto.ex.php b/civicrm/api/v3/examples/Contact/GetMergedto.ex.php
index 7d50e49cc8579d26918d95054cb8c90609b5880c..1b6c18da3f441a6d54fd07d9db14011c554a20ce 100644
--- a/civicrm/api/v3/examples/Contact/GetMergedto.ex.php
+++ b/civicrm/api/v3/examples/Contact/GetMergedto.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.getmergedto API.
  *
@@ -11,7 +16,7 @@ function contact_getmergedto_example() {
     'contact_id' => 6,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'getmergedto', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -54,23 +59,23 @@ function contact_getmergedto_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMergedGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMergedGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/GetOptions.ex.php b/civicrm/api/v3/examples/Contact/GetOptions.ex.php
index 60cd8e5197e41b8398e5aa431eaaae3cb8f7709d..75a7c9b9370ba465e122f393783c382fa1ce7d99 100644
--- a/civicrm/api/v3/examples/Contact/GetOptions.ex.php
+++ b/civicrm/api/v3/examples/Contact/GetOptions.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.getoptions API.
  *
@@ -12,7 +17,7 @@ function contact_getoptions_example() {
     'field' => 'custom_1',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'getoptions', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -53,23 +58,23 @@ function contact_getoptions_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCustomFieldCreateWithOptionValues"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCustomFieldCreateWithOptionValues"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/GetSingleContact.ex.php b/civicrm/api/v3/examples/Contact/GetSingleContact.ex.php
index 1c5534833ba9f9d807f52fadcedf14196a9c9c05..3992b4b438ba6ca4f1b9dc078c7429538937e319 100644
--- a/civicrm/api/v3/examples/Contact/GetSingleContact.ex.php
+++ b/civicrm/api/v3/examples/Contact/GetSingleContact.ex.php
@@ -1,10 +1,15 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.getsingle API.
  *
  * This demonstrates use of the 'format.single_entity_array' param.
  * This param causes the only contact to be returned as an array without the other levels.
- * It will be ignored if there is not exactly 1 result
+ * It will be ignored if there is not exactly 1 result.
  *
  * @return array
  *   API result array
@@ -14,7 +19,7 @@ function contact_getsingle_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'getsingle', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -93,7 +98,7 @@ function contact_getsingle_expectedresult() {
     'phone_id' => '',
     'phone_type_id' => '',
     'phone' => '',
-    'email_id' => '1',
+    'email_id' => '3',
     'email' => 'anthony_anderson@civicrm.org',
     'on_hold' => 0,
     'im_id' => '',
@@ -116,23 +121,23 @@ function contact_getsingle_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactGetSingleEntityArray"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactGetSingleEntityArray"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/GetUnique.ex.php b/civicrm/api/v3/examples/Contact/GetUnique.ex.php
index b8f75bcc4eb464ea5de9b4006561e6b7d691771a..44ddafecbf5198b55a076d6302e54b159c59c523 100644
--- a/civicrm/api/v3/examples/Contact/GetUnique.ex.php
+++ b/civicrm/api/v3/examples/Contact/GetUnique.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.getunique API.
  *
@@ -8,7 +13,7 @@
 function contact_getunique_example() {
   $params = [];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'getunique', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,23 +54,23 @@ function contact_getunique_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactGetUnique"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactGetUnique"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/GroupFilterUsingContactAPI.ex.php b/civicrm/api/v3/examples/Contact/GroupFilterUsingContactAPI.ex.php
index 1fd3b4f3ac8314cdee1d053883730a731b956eac..4e21725d1b08342d2da324a6e62d76d1dad4959b 100644
--- a/civicrm/api/v3/examples/Contact/GroupFilterUsingContactAPI.ex.php
+++ b/civicrm/api/v3/examples/Contact/GroupFilterUsingContactAPI.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
@@ -17,7 +22,7 @@ function contact_get_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -54,8 +59,8 @@ function contact_get_expectedresult() {
         'contact_id' => '3',
         'contact_type' => 'Individual',
         'contact_sub_type' => '',
-        'sort_name' => 'Groupmember, Test2',
-        'display_name' => 'Test2 Groupmember',
+        'sort_name' => 'Group member, Test2',
+        'display_name' => 'Test2 Group member',
         'do_not_email' => 0,
         'do_not_phone' => 0,
         'do_not_mail' => 0,
@@ -72,7 +77,7 @@ function contact_get_expectedresult() {
         'preferred_mail_format' => 'Both',
         'first_name' => 'Test2',
         'middle_name' => '',
-        'last_name' => 'Groupmember',
+        'last_name' => 'Group member',
         'prefix_id' => '',
         'suffix_id' => '',
         'formal_title' => '',
@@ -102,7 +107,7 @@ function contact_get_expectedresult() {
         'phone_id' => '',
         'phone_type_id' => '',
         'phone' => '',
-        'email_id' => '1',
+        'email_id' => '3',
         'email' => 'test@example.org',
         'on_hold' => 0,
         'im_id' => '',
@@ -127,23 +132,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactGetWithGroupTitleMultipleGroups"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactGetWithGroupTitleMultipleGroups"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/NestedReplaceEmail.ex.php b/civicrm/api/v3/examples/Contact/NestedReplaceEmail.ex.php
index 04d61e2bc699fdb7f20faa8da1ba521717168f08..8b443f1993d787365c559f11db7fbca21997c385 100644
--- a/civicrm/api/v3/examples/Contact/NestedReplaceEmail.ex.php
+++ b/civicrm/api/v3/examples/Contact/NestedReplaceEmail.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
@@ -41,7 +46,7 @@ function contact_get_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -149,7 +154,7 @@ function contact_get_expectedresult() {
           'count' => 5,
           'values' => [
             '0' => [
-              'id' => '19',
+              'id' => '35',
               'contact_id' => '19',
               'location_type_id' => '38',
               'email' => '1-1@example.com',
@@ -163,7 +168,7 @@ function contact_get_expectedresult() {
               'signature_html' => '',
             ],
             '1' => [
-              'id' => '20',
+              'id' => '36',
               'contact_id' => '19',
               'location_type_id' => '38',
               'email' => '1-2@example.com',
@@ -177,7 +182,7 @@ function contact_get_expectedresult() {
               'signature_html' => '',
             ],
             '2' => [
-              'id' => '21',
+              'id' => '37',
               'contact_id' => '19',
               'location_type_id' => '38',
               'email' => '1-3@example.com',
@@ -191,7 +196,7 @@ function contact_get_expectedresult() {
               'signature_html' => '',
             ],
             '3' => [
-              'id' => '22',
+              'id' => '38',
               'contact_id' => '19',
               'location_type_id' => '39',
               'email' => '2-1@example.com',
@@ -205,7 +210,7 @@ function contact_get_expectedresult() {
               'signature_html' => '',
             ],
             '4' => [
-              'id' => '23',
+              'id' => '39',
               'contact_id' => '19',
               'location_type_id' => '39',
               'email' => '2-2@example.com',
@@ -228,23 +233,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testReplaceEmailsInChain"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EmailTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testReplaceEmailsInChain"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EmailTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contribution/ContributionCreateWithHonoreeContact.ex.php b/civicrm/api/v3/examples/Contribution/ContributionCreateWithHonoreeContact.ex.php
index a1e4172a0add88e9ae1173cdcfc4982d85f62e48..8492f774c58c1ccb148429f5d1e9c9992cb56a4f 100644
--- a/civicrm/api/v3/examples/Contribution/ContributionCreateWithHonoreeContact.ex.php
+++ b/civicrm/api/v3/examples/Contribution/ContributionCreateWithHonoreeContact.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contribution.create API.
  *
@@ -9,7 +14,7 @@
  */
 function contribution_create_example() {
   $params = [
-    'contact_id' => 32,
+    'contact_id' => 3,
     'receive_date' => '20120511',
     'total_amount' => '100',
     'financial_type_id' => 1,
@@ -18,10 +23,10 @@ function contribution_create_example() {
     'net_amount' => '95',
     'source' => 'SSF',
     'contribution_status_id' => 1,
-    'honor_contact_id' => 33,
+    'honor_contact_id' => 4,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contribution', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -56,7 +61,7 @@ function contribution_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '32',
+        'contact_id' => '3',
         'financial_type_id' => '1',
         'contribution_page_id' => '',
         'payment_instrument_id' => '4',
@@ -83,7 +88,7 @@ function contribution_create_expectedresult() {
         'check_number' => '',
         'campaign_id' => '',
         'creditnote_id' => '',
-        'tax_amount' => '',
+        'tax_amount' => 0,
         'revenue_recognition_date' => '',
         'is_template' => '',
         'contribution_type_id' => '1',
@@ -95,23 +100,23 @@ function contribution_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateContributionWithHonoreeContact"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateContributionWithHonoreeContact"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contribution/ContributionCreateWithNote.ex.php b/civicrm/api/v3/examples/Contribution/ContributionCreateWithNote.ex.php
index 16bf6b2e4dcce9b23a970e0b487169e48f93b771..b0b2726779138e2e5fa2dd8d17b1bbe2cd577474 100644
--- a/civicrm/api/v3/examples/Contribution/ContributionCreateWithNote.ex.php
+++ b/civicrm/api/v3/examples/Contribution/ContributionCreateWithNote.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contribution.create API.
  *
@@ -9,7 +14,7 @@
  */
 function contribution_create_example() {
   $params = [
-    'contact_id' => 26,
+    'contact_id' => 3,
     'receive_date' => '2012-01-01',
     'total_amount' => '100',
     'financial_type_id' => 1,
@@ -24,7 +29,7 @@ function contribution_create_example() {
     'note' => 'my contribution note',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contribution', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -59,7 +64,7 @@ function contribution_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '26',
+        'contact_id' => '3',
         'financial_type_id' => '1',
         'contribution_page_id' => '',
         'payment_instrument_id' => '1',
@@ -86,7 +91,7 @@ function contribution_create_expectedresult() {
         'check_number' => '',
         'campaign_id' => '',
         'creditnote_id' => '',
-        'tax_amount' => '',
+        'tax_amount' => 0,
         'revenue_recognition_date' => '',
         'is_template' => '',
         'contribution_type_id' => '1',
@@ -98,23 +103,23 @@ function contribution_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateContributionWithNote"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateContributionWithNote"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contribution/ContributionCreateWithSoftCredit.ex.php b/civicrm/api/v3/examples/Contribution/ContributionCreateWithSoftCredit.ex.php
index d830ef95e0cddec7a811ba8cdebee0c6ed27c132..e6a60601cf3fd2749109686338d3a54a72a2677a 100644
--- a/civicrm/api/v3/examples/Contribution/ContributionCreateWithSoftCredit.ex.php
+++ b/civicrm/api/v3/examples/Contribution/ContributionCreateWithSoftCredit.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contribution.create API.
  *
@@ -9,7 +14,7 @@
  */
 function contribution_create_example() {
   $params = [
-    'contact_id' => 28,
+    'contact_id' => 3,
     'receive_date' => '20120511',
     'total_amount' => '100',
     'financial_type_id' => 1,
@@ -20,14 +25,14 @@ function contribution_create_example() {
     'contribution_status_id' => 1,
     'soft_credit' => [
       '1' => [
-        'contact_id' => 29,
+        'contact_id' => 4,
         'amount' => 50,
         'soft_credit_type_id' => 3,
       ],
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contribution', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -62,7 +67,7 @@ function contribution_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '28',
+        'contact_id' => '3',
         'financial_type_id' => '1',
         'contribution_page_id' => '',
         'payment_instrument_id' => '4',
@@ -89,7 +94,7 @@ function contribution_create_expectedresult() {
         'check_number' => '',
         'campaign_id' => '',
         'creditnote_id' => '',
-        'tax_amount' => '',
+        'tax_amount' => 0,
         'revenue_recognition_date' => '',
         'is_template' => '',
         'contribution_type_id' => '1',
@@ -101,23 +106,23 @@ function contribution_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateContributionWithSoftCredit"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateContributionWithSoftCredit"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contribution/ContributionCreateWithSoftCreditDefaults.ex.php b/civicrm/api/v3/examples/Contribution/ContributionCreateWithSoftCreditDefaults.ex.php
index 915a68c5bcdede4501e431f6688eef4d235f4661..86686dbd23fd5d8e1d79ab236f56ae73a6564ae7 100644
--- a/civicrm/api/v3/examples/Contribution/ContributionCreateWithSoftCreditDefaults.ex.php
+++ b/civicrm/api/v3/examples/Contribution/ContributionCreateWithSoftCreditDefaults.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contribution.create API.
  *
@@ -9,7 +14,7 @@
  */
 function contribution_create_example() {
   $params = [
-    'contact_id' => 30,
+    'contact_id' => 3,
     'receive_date' => '20120511',
     'total_amount' => '100',
     'financial_type_id' => 1,
@@ -18,10 +23,10 @@ function contribution_create_example() {
     'net_amount' => '95',
     'source' => 'SSF',
     'contribution_status_id' => 1,
-    'soft_credit_to' => 31,
+    'soft_credit_to' => 4,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contribution', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -56,7 +61,7 @@ function contribution_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '30',
+        'contact_id' => '3',
         'financial_type_id' => '1',
         'contribution_page_id' => '',
         'payment_instrument_id' => '4',
@@ -83,7 +88,7 @@ function contribution_create_expectedresult() {
         'check_number' => '',
         'campaign_id' => '',
         'creditnote_id' => '',
-        'tax_amount' => '',
+        'tax_amount' => 0,
         'revenue_recognition_date' => '',
         'is_template' => '',
         'contribution_type_id' => '1',
@@ -95,23 +100,23 @@ function contribution_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateContributionWithSoftCreditDefaults"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateContributionWithSoftCreditDefaults"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contribution/Create.ex.php b/civicrm/api/v3/examples/Contribution/Create.ex.php
index c8fedf7f64a8c25e18fd993675d0f81646fb132d..557102d48c0d0bfd0cf45f62cbba445647c1c678 100644
--- a/civicrm/api/v3/examples/Contribution/Create.ex.php
+++ b/civicrm/api/v3/examples/Contribution/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contribution.create API.
  *
@@ -7,7 +12,7 @@
  */
 function contribution_create_example() {
   $params = [
-    'contact_id' => 1,
+    'contact_id' => 3,
     'receive_date' => '20120511',
     'total_amount' => '100',
     'financial_type_id' => 1,
@@ -16,10 +21,10 @@ function contribution_create_example() {
     'is_pay_later' => 1,
     'invoice_id' => 67890,
     'source' => 'SSF',
-    'contribution_status_id' => 2,
+    'contribution_status_id' => 'Pending',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contribution', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -54,7 +59,7 @@ function contribution_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '1',
+        'contact_id' => '3',
         'financial_type_id' => '1',
         'contribution_page_id' => '1',
         'payment_instrument_id' => '4',
@@ -93,23 +98,23 @@ function contribution_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateContributionPayLaterOnline"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateContributionPayLaterOnline"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contribution/CreateWithNestedLineItems.ex.php b/civicrm/api/v3/examples/Contribution/CreateWithNestedLineItems.ex.php
index 36e23c41c7b4d437ac53b6c4b304a6a4409ae704..efdc4e3b051781fd7ff437490c7bd5c791d1ce71 100644
--- a/civicrm/api/v3/examples/Contribution/CreateWithNestedLineItems.ex.php
+++ b/civicrm/api/v3/examples/Contribution/CreateWithNestedLineItems.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contribution.create API.
  *
@@ -9,7 +14,7 @@
  */
 function contribution_create_example() {
   $params = [
-    'contact_id' => 13,
+    'contact_id' => 3,
     'receive_date' => '20120511',
     'total_amount' => '100',
     'financial_type_id' => 1,
@@ -20,7 +25,7 @@ function contribution_create_example() {
     'trxn_id' => 12345,
     'invoice_id' => 67890,
     'source' => 'SSF',
-    'contribution_status_id' => 1,
+    'contribution_status_id' => 'Pending',
     'skipLineItem' => 1,
     'api.line_item.create' => [
       '0' => [
@@ -38,7 +43,7 @@ function contribution_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contribution', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -73,7 +78,7 @@ function contribution_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '13',
+        'contact_id' => '3',
         'financial_type_id' => '1',
         'contribution_page_id' => '',
         'payment_instrument_id' => '1',
@@ -95,7 +100,7 @@ function contribution_create_expectedresult() {
         'contribution_recur_id' => '',
         'is_test' => '',
         'is_pay_later' => '',
-        'contribution_status_id' => '1',
+        'contribution_status_id' => '2',
         'address_id' => '',
         'check_number' => '',
         'campaign_id' => '',
@@ -126,6 +131,7 @@ function contribution_create_expectedresult() {
                 'financial_type_id' => '',
                 'non_deductible_amount' => '',
                 'tax_amount' => '',
+                'membership_num_terms' => '',
               ],
             ],
           ],
@@ -150,6 +156,7 @@ function contribution_create_expectedresult() {
                 'financial_type_id' => '',
                 'non_deductible_amount' => '',
                 'tax_amount' => '',
+                'membership_num_terms' => '',
               ],
             ],
           ],
@@ -162,23 +169,23 @@ function contribution_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateContributionChainedLineItems"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateContributionChainedLineItems"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contribution/Delete.ex.php b/civicrm/api/v3/examples/Contribution/Delete.ex.php
index b13f4108dd9fcaa16c0dc911e367485ead401fbc..abb478aa67a0c370f2e7154ea5287bf209048299 100644
--- a/civicrm/api/v3/examples/Contribution/Delete.ex.php
+++ b/civicrm/api/v3/examples/Contribution/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contribution.delete API.
  *
@@ -10,7 +15,7 @@ function contribution_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contribution', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,23 +56,23 @@ function contribution_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteContribution"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteContribution"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contribution/Get.ex.php b/civicrm/api/v3/examples/Contribution/Get.ex.php
index 410875dc47c4dbaf657ad2149c66ccd56bf06811..28fd89ea34eaab370ae63b877857d122e2bea177 100644
--- a/civicrm/api/v3/examples/Contribution/Get.ex.php
+++ b/civicrm/api/v3/examples/Contribution/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contribution.get API.
  *
@@ -8,9 +13,24 @@
 function contribution_get_example() {
   $params = [
     'contribution_id' => 1,
+    'return' => [
+      '0' => 'invoice_number',
+      '1' => 'contribution_source',
+      '2' => 'contact_id',
+      '3' => 'receive_date',
+      '4' => 'total_amount',
+      '5' => 'financial_type_id',
+      '6' => 'non_deductible_amount',
+      '7' => 'fee_amount',
+      '8' => 'net_amount',
+      '9' => 'trxn_id',
+      '10' => 'invoice_id',
+      '11' => 'source',
+      '12' => 'contribution_status_id',
+    ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contribution', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -45,16 +65,10 @@ function contribution_get_expectedresult() {
     'values' => [
       '1' => [
         'contact_id' => '3',
-        'contact_type' => 'Individual',
-        'contact_sub_type' => '',
-        'sort_name' => 'Anderson, Anthony',
-        'display_name' => 'Mr. Anthony Anderson II',
-        'contribution_id' => '1',
-        'currency' => 'USD',
         'contribution_recur_id' => '',
         'contribution_status_id' => '1',
-        'contribution_campaign_id' => '',
-        'payment_instrument_id' => '4',
+        'contribution_id' => '1',
+        'financial_type_id' => '1',
         'receive_date' => '2010-01-20 00:00:00',
         'non_deductible_amount' => '10.00',
         'total_amount' => '100.00',
@@ -63,29 +77,9 @@ function contribution_get_expectedresult() {
         'trxn_id' => '23456',
         'invoice_id' => '78910',
         'invoice_number' => 'INV_1',
-        'contribution_cancel_date' => '',
-        'cancel_reason' => '',
-        'receipt_date' => '',
-        'thankyou_date' => '',
         'contribution_source' => 'SSF',
-        'amount_level' => '',
-        'is_test' => 0,
-        'is_pay_later' => 0,
-        'contribution_check_number' => '',
-        'financial_account_id' => '1',
-        'accounting_code' => '4200',
-        'campaign_id' => '',
-        'contribution_campaign_title' => '',
-        'financial_type_id' => '1',
-        'financial_type' => 'Donation',
-        'contribution_note' => '',
-        'contribution_batch' => '',
         'contribution_recur_status' => 'Completed',
-        'payment_instrument' => 'Check',
         'contribution_status' => 'Completed',
-        'check_number' => '',
-        'instrument_id' => '4',
-        'cancel_date' => '',
         'id' => '1',
         'contribution_type_id' => '1',
       ],
@@ -96,23 +90,23 @@ function contribution_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetContribution"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetContribution"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contribution/GetUnique.ex.php b/civicrm/api/v3/examples/Contribution/GetUnique.ex.php
index 04b96bece685e90ef8cd412859ccb2d696c536ac..7f7253330771f77242ac06cad58916df918825a2 100644
--- a/civicrm/api/v3/examples/Contribution/GetUnique.ex.php
+++ b/civicrm/api/v3/examples/Contribution/GetUnique.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contribution.getunique API.
  *
@@ -8,7 +13,7 @@
 function contribution_getunique_example() {
   $params = [];
 
-  try{
+  try {
     $result = civicrm_api3('Contribution', 'getunique', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,23 +54,23 @@ function contribution_getunique_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContributionGetUnique"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContributionGetUnique"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionPage/Create.ex.php b/civicrm/api/v3/examples/ContributionPage/Create.ex.php
index 5ad0fd2858c0606e777ed49ece9b0881a795f95c..e795e702129214c5fabbe495408d663c87945b7b 100644
--- a/civicrm/api/v3/examples/ContributionPage/Create.ex.php
+++ b/civicrm/api/v3/examples/ContributionPage/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionPage.create API.
  *
@@ -12,13 +17,14 @@ function contribution_page_create_example() {
     'currency' => 'NZD',
     'goal_amount' => 34567,
     'is_pay_later' => 1,
+    'pay_later_text' => 'Send check',
     'is_monetary' => TRUE,
     'is_email_receipt' => TRUE,
     'receipt_from_email' => 'yourconscience@donate.com',
     'receipt_from_name' => 'Ego Freud',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionPage', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -66,7 +72,7 @@ function contribution_page_create_expectedresult() {
         'is_recur_installments' => '',
         'adjust_recur_start_date' => '',
         'is_pay_later' => '1',
-        'pay_later_text' => '',
+        'pay_later_text' => 'Send check',
         'pay_later_receipt' => '',
         'is_partial_payment' => '',
         'initial_amount_label' => '',
@@ -97,6 +103,7 @@ function contribution_page_create_expectedresult() {
         'campaign_id' => '',
         'is_share' => '',
         'is_billing_required' => '',
+        'frontend_title' => '',
         'contribution_type_id' => '1',
       ],
     ],
@@ -106,23 +113,23 @@ function contribution_page_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateContributionPage"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionPageTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "basicCreateTest"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CiviUnitTestCase.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionPage/Delete.ex.php b/civicrm/api/v3/examples/ContributionPage/Delete.ex.php
index 423f5c2b08cd3861474cfa265ad78912abe3433f..831bbafc71e29bf42fc460bca866a0ff01d24e08 100644
--- a/civicrm/api/v3/examples/ContributionPage/Delete.ex.php
+++ b/civicrm/api/v3/examples/ContributionPage/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionPage.delete API.
  *
@@ -10,7 +15,7 @@ function contribution_page_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionPage', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function contribution_page_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteContributionPage"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionPageTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "basicDeleteTest"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CiviUnitTestCase.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionPage/Get.ex.php b/civicrm/api/v3/examples/ContributionPage/Get.ex.php
index ae66d5d0dbedf491542f2a52754c903a7d8ac089..bfc747f45c1ea80bad4ed79ed5ec2e873a7cfc9d 100644
--- a/civicrm/api/v3/examples/ContributionPage/Get.ex.php
+++ b/civicrm/api/v3/examples/ContributionPage/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionPage.get API.
  *
@@ -11,7 +16,7 @@ function contribution_page_get_example() {
     'financial_type_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionPage', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -56,6 +61,7 @@ function contribution_page_get_expectedresult() {
         'is_recur_installments' => 0,
         'adjust_recur_start_date' => 0,
         'is_pay_later' => '1',
+        'pay_later_text' => 'Send check',
         'is_partial_payment' => 0,
         'is_allow_other_amount' => 0,
         'goal_amount' => '34567.00',
@@ -76,23 +82,23 @@ function contribution_page_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetBasicContributionPage"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionPageTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetBasicContributionPage"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionPageTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionPage/Submit.ex.php b/civicrm/api/v3/examples/ContributionPage/Submit.ex.php
index c7ef21f1c03d29bb470b52f1331cb2fb54c1f64e..1b3f68bd3c2721866b2890b6c7c6363a3469a472 100644
--- a/civicrm/api/v3/examples/ContributionPage/Submit.ex.php
+++ b/civicrm/api/v3/examples/ContributionPage/Submit.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionPage.submit API.
  *
- * submit contribution page
+ * submit contribution page.
  *
  * @return array
  *   API result array
@@ -13,6 +18,7 @@ function contribution_page_submit_example() {
     'pledge_amount' => [
       '2' => 1,
     ],
+    'price_2' => 3,
     'billing_first_name' => 'Billy',
     'billing_middle_name' => 'Goat',
     'billing_last_name' => 'Gruff',
@@ -28,12 +34,11 @@ function contribution_page_submit_example() {
     'pledge_id' => '1',
     'cid' => '4',
     'contact_id' => '4',
-    'amount' => '100',
     'is_pledge' => TRUE,
     'pledge_block_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionPage', 'submit', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -71,23 +76,23 @@ function contribution_page_submit_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testSubmitPledgePayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionPageTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testSubmitPledgePayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionPageTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionRecur/Create.ex.php b/civicrm/api/v3/examples/ContributionRecur/Create.ex.php
index 7018d2ef9fa7b9ca6062c80bf9606e91cbf6ce8e..6843dbf101b14d7f469389ce8f66a836cdcec549 100644
--- a/civicrm/api/v3/examples/ContributionRecur/Create.ex.php
+++ b/civicrm/api/v3/examples/ContributionRecur/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionRecur.create API.
  *
@@ -10,14 +15,14 @@ function contribution_recur_create_example() {
     'contact_id' => 3,
     'installments' => '12',
     'frequency_interval' => '1',
-    'amount' => '500',
+    'amount' => '500.00',
     'contribution_status_id' => 1,
     'start_date' => '2012-01-01 00:00:00',
     'currency' => 'USD',
     'frequency_unit' => 'day',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionRecur', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -53,7 +58,7 @@ function contribution_recur_create_expectedresult() {
       '1' => [
         'id' => '1',
         'contact_id' => '3',
-        'amount' => '500',
+        'amount' => '500.00',
         'currency' => 'USD',
         'frequency_unit' => 'day',
         'frequency_interval' => '1',
@@ -88,23 +93,23 @@ function contribution_recur_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateContributionRecur"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionRecurTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "basicCreateTest"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CiviUnitTestCase.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionRecur/Delete.ex.php b/civicrm/api/v3/examples/ContributionRecur/Delete.ex.php
index 52e8b6482b483fcb64eae4f116df535be1c1cbea..8f3628496546b308d3d62ec3c66235e14fd458b4 100644
--- a/civicrm/api/v3/examples/ContributionRecur/Delete.ex.php
+++ b/civicrm/api/v3/examples/ContributionRecur/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionRecur.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function contribution_recur_delete_example() {
   $params = [
-    'id' => 4,
+    'id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionRecur', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function contribution_recur_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteContributionRecur"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionRecurTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "basicDeleteTest"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CiviUnitTestCase.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionRecur/Get.ex.php b/civicrm/api/v3/examples/ContributionRecur/Get.ex.php
index ce054103fce6159973e65d37b748e00d2755c8ca..38caa084ea810497f7a5e1b73b1b95d9c4d4faba 100644
--- a/civicrm/api/v3/examples/ContributionRecur/Get.ex.php
+++ b/civicrm/api/v3/examples/ContributionRecur/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionRecur.get API.
  *
@@ -10,7 +15,7 @@ function contribution_recur_get_example() {
     'amount' => '500',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionRecur', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -41,11 +46,11 @@ function contribution_recur_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 3,
     'values' => [
-      '2' => [
-        'id' => '2',
-        'contact_id' => '4',
+      '3' => [
+        'id' => '3',
+        'contact_id' => '5',
         'amount' => '500.00',
         'currency' => 'USD',
         'frequency_unit' => 'day',
@@ -68,23 +73,23 @@ function contribution_recur_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetContributionRecur"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionRecurTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetContributionRecur"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionRecurTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionSoft/Create.ex.php b/civicrm/api/v3/examples/ContributionSoft/Create.ex.php
index 83a46b9e67944f4cd861d475eee55f227bc4d317..9a95fe6eaeac5ceaa8c0a2d36e9813425a52053f 100644
--- a/civicrm/api/v3/examples/ContributionSoft/Create.ex.php
+++ b/civicrm/api/v3/examples/ContributionSoft/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionSoft.create API.
  *
@@ -14,7 +19,7 @@ function contribution_soft_create_example() {
     'soft_credit_type_id' => 5,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionSoft', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -66,23 +71,23 @@ function contribution_soft_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateContributionSoft"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionSoftTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateContributionSoft"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionSoftTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionSoft/Delete.ex.php b/civicrm/api/v3/examples/ContributionSoft/Delete.ex.php
index 8bf895bebdc31e7a7c7fe33305f07ed547fa1a08..02c4265afcac96634880ce86140107651d05f47c 100644
--- a/civicrm/api/v3/examples/ContributionSoft/Delete.ex.php
+++ b/civicrm/api/v3/examples/ContributionSoft/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionSoft.delete API.
  *
@@ -10,7 +15,7 @@ function contribution_soft_delete_example() {
     'id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionSoft', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function contribution_soft_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteContributionSoft"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionSoftTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteContributionSoft"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionSoftTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionSoft/Get.ex.php b/civicrm/api/v3/examples/ContributionSoft/Get.ex.php
index 1ac873f42fc53c2c761f17102dd51813cf9aff9d..26dadff3b4ce0cc44c7f725fd1bfb7307b5c5479 100644
--- a/civicrm/api/v3/examples/ContributionSoft/Get.ex.php
+++ b/civicrm/api/v3/examples/ContributionSoft/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionSoft.get API.
  *
@@ -10,7 +15,7 @@ function contribution_soft_get_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionSoft', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -59,23 +64,23 @@ function contribution_soft_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetContributionSoft"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionSoftTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetContributionSoft"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionSoftTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Country/Create.ex.php b/civicrm/api/v3/examples/Country/Create.ex.php
index ab03f90864a95e4b12afbdc5d76867a02ba15b03..9897b2c57f2ca0f307ef842056446be72b51f73a 100644
--- a/civicrm/api/v3/examples/Country/Create.ex.php
+++ b/civicrm/api/v3/examples/Country/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Country.create API.
  *
@@ -12,7 +17,7 @@ function country_create_example() {
     'region_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Country', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,10 +48,10 @@ function country_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 1254,
+    'id' => 1255,
     'values' => [
-      '1254' => [
-        'id' => '1254',
+      '1255' => [
+        'id' => '1255',
         'name' => 'Made Up Land',
         'iso_code' => 'ZZ',
         'country_code' => '',
@@ -55,6 +60,7 @@ function country_create_expectedresult() {
         'ndd_prefix' => '',
         'region_id' => '1',
         'is_province_abbreviated' => '',
+        'is_active' => '',
       ],
     ],
   ];
@@ -63,23 +69,23 @@ function country_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateCountry"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CountryTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateCountry"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CountryTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Country/Delete.ex.php b/civicrm/api/v3/examples/Country/Delete.ex.php
index 691d99a2c6e31557ccb9bbaf0fd4d540b0330d65..07c01d631ae409ec02a8e943c1995b55f83991e5 100644
--- a/civicrm/api/v3/examples/Country/Delete.ex.php
+++ b/civicrm/api/v3/examples/Country/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Country.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function country_delete_example() {
   $params = [
-    'id' => 1255,
+    'id' => 1257,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Country', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function country_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteCountry"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CountryTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteCountry"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CountryTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Country/Get.ex.php b/civicrm/api/v3/examples/Country/Get.ex.php
index 827b2c5c0d22a0db1fd26db1bf08e0454dc2158e..bef86bf4a9a9ba194c9a71996712467b92b293a8 100644
--- a/civicrm/api/v3/examples/Country/Get.ex.php
+++ b/civicrm/api/v3/examples/Country/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Country.get API.
  *
@@ -10,7 +15,7 @@ function country_get_example() {
     'iso_code' => 'ZZ',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Country', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -41,14 +46,15 @@ function country_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 1256,
+    'id' => 1259,
     'values' => [
-      '1256' => [
-        'id' => '1256',
+      '1259' => [
+        'id' => '1259',
         'name' => 'Made Up Land',
         'iso_code' => 'ZZ',
         'region_id' => '1',
         'is_province_abbreviated' => 0,
+        'is_active' => '1',
       ],
     ],
   ];
@@ -57,23 +63,23 @@ function country_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CountryTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CountryTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/CustomField/Create.ex.php b/civicrm/api/v3/examples/CustomField/Create.ex.php
index 1d622aa3de450beaf8dc0c59765575b96d69b4d8..ed02778eee994fc6b898e94c94403892372651cd 100644
--- a/civicrm/api/v3/examples/CustomField/Create.ex.php
+++ b/civicrm/api/v3/examples/CustomField/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CustomField.create API.
  *
@@ -19,7 +24,7 @@ function custom_field_create_example() {
     'is_active' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('CustomField', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -81,6 +86,7 @@ function custom_field_create_expectedresult() {
         'note_rows' => '',
         'column_name' => 'name1_1',
         'option_group_id' => '',
+        'serialize' => 0,
         'filter' => '',
         'in_selector' => 0,
       ],
@@ -91,23 +97,23 @@ function custom_field_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCustomFieldCreateWithEdit"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCustomFieldCreateWithEdit"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/CustomField/Delete.ex.php b/civicrm/api/v3/examples/CustomField/Delete.ex.php
index 6ea27931d31760f80da6233655bd030d5f5497f5..70a300f970a05f05a08126364a3e23f321c432f7 100644
--- a/civicrm/api/v3/examples/CustomField/Delete.ex.php
+++ b/civicrm/api/v3/examples/CustomField/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CustomField.delete API.
  *
@@ -10,7 +15,7 @@ function custom_field_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('CustomField', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function custom_field_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCustomFieldDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCustomFieldDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/CustomGroup/Create.ex.php b/civicrm/api/v3/examples/CustomGroup/Create.ex.php
index 99787e2640cea4b2747a63a1e37fe1b4e89be5d1..a0b4a0ff8a825bf6cb9bbcac83c8be72b10542e8 100644
--- a/civicrm/api/v3/examples/CustomGroup/Create.ex.php
+++ b/civicrm/api/v3/examples/CustomGroup/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CustomGroup.create API.
  *
@@ -20,7 +25,7 @@ function custom_group_create_example() {
     'is_active' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('CustomGroup', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -75,6 +80,7 @@ function custom_group_create_expectedresult() {
         'created_date' => '',
         'is_reserved' => '',
         'is_public' => '',
+        'icon' => '',
       ],
     ],
   ];
@@ -83,23 +89,23 @@ function custom_group_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCustomGroupCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCustomGroupCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/CustomGroup/Delete.ex.php b/civicrm/api/v3/examples/CustomGroup/Delete.ex.php
index f09b053b270ab71f5ad6cc9e3d47d90f234130b7..235dee916139ea28afec300e71f417a93c73c0cf 100644
--- a/civicrm/api/v3/examples/CustomGroup/Delete.ex.php
+++ b/civicrm/api/v3/examples/CustomGroup/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CustomGroup.delete API.
  *
@@ -10,7 +15,7 @@ function custom_group_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('CustomGroup', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function custom_group_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCustomGroupDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCustomGroupDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/CustomGroup/Get.ex.php b/civicrm/api/v3/examples/CustomGroup/Get.ex.php
index 29cc2f521b526aba3c505ff936edf584c10bf929..1ad72fa5d59f88cc163f11d5db1f59ad4ed74173 100644
--- a/civicrm/api/v3/examples/CustomGroup/Get.ex.php
+++ b/civicrm/api/v3/examples/CustomGroup/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CustomGroup.get API.
  *
@@ -8,7 +13,7 @@
 function custom_group_get_example() {
   $params = [];
 
-  try{
+  try {
     $result = civicrm_api3('CustomGroup', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -65,23 +70,23 @@ function custom_group_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetCustomGroupSuccess"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetCustomGroupSuccess"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/CustomValue/Create.ex.php b/civicrm/api/v3/examples/CustomValue/Create.ex.php
index 966133dacd09a947e331dd8eac34b194d0d76ade..4b2ca0b56fceff18eebabe37d91da799edaae2fb 100644
--- a/civicrm/api/v3/examples/CustomValue/Create.ex.php
+++ b/civicrm/api/v3/examples/CustomValue/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CustomValue.create API.
  *
@@ -11,7 +16,7 @@ function custom_value_create_example() {
     'entity_id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('CustomValue', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function custom_value_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateCustomValue"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomValueTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateCustomValue"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomValueTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-master-git/
+ *
+ * To Learn about the API read
+ * http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
+ *
+ * Browse the api on your own site with the api explorer
+ * http://MYSITE.ORG/path/to/civicrm/api
+ *
+ * Read more about testing here
+ * http://wiki.civicrm.org/confluence/display/CRM/Testing
+ *
+ * API Standards documentation:
+ * http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
+ */
diff --git a/civicrm/api/v3/examples/CustomValue/FormatFieldName.ex.php b/civicrm/api/v3/examples/CustomValue/FormatFieldName.ex.php
index b901dade8a03b9d16b63b7f798ffbad9413b2d0b..9918a76d4daec6fb3792d369137b44b1aaf41176 100644
--- a/civicrm/api/v3/examples/CustomValue/FormatFieldName.ex.php
+++ b/civicrm/api/v3/examples/CustomValue/FormatFieldName.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CustomValue.get API.
  *
- * utilises field names
+ * Utilises field names.
  *
  * @return array
  *   API result array
@@ -14,7 +19,7 @@ function custom_value_get_example() {
     'format.field_names' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('CustomValue', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -99,23 +104,23 @@ function custom_value_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetMultipleCustomValues"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomValueTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetMultipleCustomValues"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomValueTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-master-git/
+ *
+ * To Learn about the API read
+ * http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
+ *
+ * Browse the api on your own site with the api explorer
+ * http://MYSITE.ORG/path/to/civicrm/api
+ *
+ * Read more about testing here
+ * http://wiki.civicrm.org/confluence/display/CRM/Testing
+ *
+ * API Standards documentation:
+ * http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
+ */
diff --git a/civicrm/api/v3/examples/CustomValue/Get.ex.php b/civicrm/api/v3/examples/CustomValue/Get.ex.php
index 126b6e350f2e0958bc69e58b9befa2e9d126ccec..77fa73348d11bfe78ad5144a8931a8c891fb862f 100644
--- a/civicrm/api/v3/examples/CustomValue/Get.ex.php
+++ b/civicrm/api/v3/examples/CustomValue/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CustomValue.get API.
  *
@@ -13,7 +18,7 @@ function custom_value_get_example() {
     'entity_id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('CustomValue', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -98,23 +103,23 @@ function custom_value_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetMultipleCustomValues"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomValueTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetMultipleCustomValues"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomValueTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-master-git/
+ *
+ * To Learn about the API read
+ * http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
+ *
+ * Browse the api on your own site with the api explorer
+ * http://MYSITE.ORG/path/to/civicrm/api
+ *
+ * Read more about testing here
+ * http://wiki.civicrm.org/confluence/display/CRM/Testing
+ *
+ * API Standards documentation:
+ * http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
+ */
diff --git a/civicrm/api/v3/examples/Domain/Create.ex.php b/civicrm/api/v3/examples/Domain/Create.ex.php
index 70280cf0b43877b39d0042d2336f7331bc8dc551..f4bbe211fcbff4c214bdc1863b639c82f49a7138 100644
--- a/civicrm/api/v3/examples/Domain/Create.ex.php
+++ b/civicrm/api/v3/examples/Domain/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Domain.create API.
  *
@@ -13,7 +18,7 @@ function domain_create_example() {
     'contact_id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Domain', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -62,23 +67,23 @@ function domain_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/DomainTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/DomainTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Domain/Get.ex.php b/civicrm/api/v3/examples/Domain/Get.ex.php
index 9ccfc284cd8595a5506a1bf42aa55cc25a6c8729..0c8e4382dc4081f98c83fecd7558b6e96df5cf9e 100644
--- a/civicrm/api/v3/examples/Domain/Get.ex.php
+++ b/civicrm/api/v3/examples/Domain/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Domain.get API.
  *
@@ -10,7 +15,7 @@ function domain_get_example() {
     'sequential' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Domain', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -45,7 +50,7 @@ function domain_get_expectedresult() {
       '0' => [
         'id' => '1',
         'name' => 'Default Domain Name',
-        'version' => '4.6.alpha1',
+        'version' => '5.47.alpha1',
         'contact_id' => '3',
         'locale_custom_strings' => 'a:1:{s:5:\"en_US\";a:0:{}}',
         'domain_email' => 'my@email.com',
@@ -67,14 +72,14 @@ function domain_get_expectedresult() {
         ],
         'from_name' => 'FIXME',
         'from_email' => 'info@EXAMPLE.ORG',
-        'domain_version' => '4.6.alpha1',
+        'domain_version' => '5.47.alpha1',
       ],
       '1' => [
         'id' => '2',
         'name' => 'Second Domain',
-        'version' => '4.6.alpha1',
+        'version' => '5.47.alpha1',
         'contact_id' => '2',
-        'domain_email' => '\"Domain Email\" <domainemail2@example.org>',
+        'domain_email' => 'domainemail2@example.org',
         'domain_phone' => [
           'phone_type' => 'Phone',
           'phone' => '204 555-1001',
@@ -93,7 +98,7 @@ function domain_get_expectedresult() {
         ],
         'from_name' => 'FIXME',
         'from_email' => 'info@EXAMPLE.ORG',
-        'domain_version' => '4.6.alpha1',
+        'domain_version' => '5.47.alpha1',
       ],
     ],
   ];
@@ -102,23 +107,23 @@ function domain_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/DomainTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/DomainTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Email/Create.ex.php b/civicrm/api/v3/examples/Email/Create.ex.php
index b2db488cab741855822d96c063c285627f8008a5..65c563a7e55a17bd95059321c56edacb25c79616 100644
--- a/civicrm/api/v3/examples/Email/Create.ex.php
+++ b/civicrm/api/v3/examples/Email/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Email.create API.
  *
@@ -12,7 +17,7 @@ function email_create_example() {
     'on_hold' => '2',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Email', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,10 +48,10 @@ function email_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 26,
+    'id' => 49,
     'values' => [
-      '26' => [
-        'id' => '26',
+      '49' => [
+        'id' => '49',
         'contact_id' => '23',
         'location_type_id' => '1',
         'email' => 'api@a-team.com',
@@ -54,7 +59,7 @@ function email_create_expectedresult() {
         'is_billing' => '',
         'on_hold' => '2',
         'is_bulkmail' => '',
-        'hold_date' => '20190820191652',
+        'hold_date' => '20220117122830',
         'reset_date' => '',
         'signature_text' => '',
         'signature_html' => '',
@@ -66,23 +71,23 @@ function email_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testEmailOnHold"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EmailTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testEmailOnHold"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EmailTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Email/Delete.ex.php b/civicrm/api/v3/examples/Email/Delete.ex.php
index b872078fc542cda79c747d9ffcf27d0cc2a7a02d..b2bb3c5ba5778019bb5b3370931518b3fc9fc933 100644
--- a/civicrm/api/v3/examples/Email/Delete.ex.php
+++ b/civicrm/api/v3/examples/Email/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Email.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function email_delete_example() {
   $params = [
-    'id' => 12,
+    'id' => 21,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Email', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function email_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteEmail"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EmailTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteEmail"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EmailTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Email/Replace.ex.php b/civicrm/api/v3/examples/Email/Replace.ex.php
index 4623896d513a3040fe6e3443a86324462b27004c..075ed52e6f5b9b17763540d3b74777af485dc714 100644
--- a/civicrm/api/v3/examples/Email/Replace.ex.php
+++ b/civicrm/api/v3/examples/Email/Replace.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Email.replace API.
  *
@@ -37,7 +42,7 @@ function email_replace_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Email', 'replace', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -69,8 +74,8 @@ function email_replace_expectedresult() {
     'version' => 3,
     'count' => 5,
     'values' => [
-      '13' => [
-        'id' => '13',
+      '23' => [
+        'id' => '23',
         'contact_id' => '17',
         'location_type_id' => '34',
         'email' => '1-1@example.com',
@@ -83,8 +88,8 @@ function email_replace_expectedresult() {
         'signature_text' => '',
         'signature_html' => '',
       ],
-      '14' => [
-        'id' => '14',
+      '24' => [
+        'id' => '24',
         'contact_id' => '17',
         'location_type_id' => '34',
         'email' => '1-2@example.com',
@@ -97,8 +102,8 @@ function email_replace_expectedresult() {
         'signature_text' => '',
         'signature_html' => '',
       ],
-      '15' => [
-        'id' => '15',
+      '25' => [
+        'id' => '25',
         'contact_id' => '17',
         'location_type_id' => '34',
         'email' => '1-3@example.com',
@@ -111,8 +116,8 @@ function email_replace_expectedresult() {
         'signature_text' => '',
         'signature_html' => '',
       ],
-      '16' => [
-        'id' => '16',
+      '26' => [
+        'id' => '26',
         'contact_id' => '17',
         'location_type_id' => '35',
         'email' => '2-1@example.com',
@@ -125,8 +130,8 @@ function email_replace_expectedresult() {
         'signature_text' => '',
         'signature_html' => '',
       ],
-      '17' => [
-        'id' => '17',
+      '27' => [
+        'id' => '27',
         'contact_id' => '17',
         'location_type_id' => '35',
         'email' => '2-2@example.com',
@@ -146,23 +151,23 @@ function email_replace_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testReplaceEmail"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EmailTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testReplaceEmail"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EmailTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/EntityBatch/Create.ex.php b/civicrm/api/v3/examples/EntityBatch/Create.ex.php
index b2039d6d941619819521c1669a507f9dc49c3c6d..540e1ba5ba02c9cb875c16ee331ddf165ca3eedb 100644
--- a/civicrm/api/v3/examples/EntityBatch/Create.ex.php
+++ b/civicrm/api/v3/examples/EntityBatch/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the EntityBatch.create API.
  *
@@ -7,12 +12,12 @@
  */
 function entity_batch_create_example() {
   $params = [
-    'entity_id' => 1,
+    'entity_id' => '1',
     'batch_id' => 1,
     'entity_table' => 'civicrm_financial_trxn',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('EntityBatch', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,23 +63,23 @@ function entity_batch_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateEntityBatch"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityBatchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateEntityBatch"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityBatchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/EntityBatch/Delete.ex.php b/civicrm/api/v3/examples/EntityBatch/Delete.ex.php
index 1c195417e6cb4504f4caf4b7c7977724ea5ca261..1dac21e44b85a7c1eb56db5aedb4ac52922db5c3 100644
--- a/civicrm/api/v3/examples/EntityBatch/Delete.ex.php
+++ b/civicrm/api/v3/examples/EntityBatch/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the EntityBatch.delete API.
  *
@@ -10,7 +15,7 @@ function entity_batch_delete_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('EntityBatch', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function entity_batch_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteEntityBatch"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityBatchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteEntityBatch"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityBatchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/EntityBatch/Get.ex.php b/civicrm/api/v3/examples/EntityBatch/Get.ex.php
index 20044f5e62db61b80bc2000afdf10d4a2efb3707..ce46614cce04e8fb92eaa3c59ad61305028eea05 100644
--- a/civicrm/api/v3/examples/EntityBatch/Get.ex.php
+++ b/civicrm/api/v3/examples/EntityBatch/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the EntityBatch.get API.
  *
@@ -7,12 +12,12 @@
  */
 function entity_batch_get_example() {
   $params = [
-    'entity_id' => 2,
+    'entity_id' => '3',
     'batch_id' => 2,
     'entity_table' => 'civicrm_financial_trxn',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('EntityBatch', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,7 +53,7 @@ function entity_batch_get_expectedresult() {
       '2' => [
         'id' => '2',
         'entity_table' => 'civicrm_financial_trxn',
-        'entity_id' => '2',
+        'entity_id' => '3',
         'batch_id' => '2',
       ],
     ],
@@ -58,23 +63,23 @@ function entity_batch_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetEntityBatch"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityBatchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetEntityBatch"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityBatchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/EntityTag/Create.ex.php b/civicrm/api/v3/examples/EntityTag/Create.ex.php
index d819a96e80dbd7dd29327bc274415116202e4f38..986ecfbfe3fc744dc0f5aa72009221efc237964d 100644
--- a/civicrm/api/v3/examples/EntityTag/Create.ex.php
+++ b/civicrm/api/v3/examples/EntityTag/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the EntityTag.create API.
  *
@@ -11,7 +16,7 @@ function entity_tag_create_example() {
     'tag_id' => '6',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('EntityTag', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function entity_tag_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testIndividualEntityTagGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityTagTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testIndividualEntityTagGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityTagTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-master-git/
+ *
+ * To Learn about the API read
+ * http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
+ *
+ * Browse the api on your own site with the api explorer
+ * http://MYSITE.ORG/path/to/civicrm/api
+ *
+ * Read more about testing here
+ * http://wiki.civicrm.org/confluence/display/CRM/Testing
+ *
+ * API Standards documentation:
+ * http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
+ */
diff --git a/civicrm/api/v3/examples/EntityTag/Delete.ex.php b/civicrm/api/v3/examples/EntityTag/Delete.ex.php
index 51ecc823bb7debe407ed9d47fd8901a790265529..f2a4915a9f2132aee02cb3b9ee24e527e1754bba 100644
--- a/civicrm/api/v3/examples/EntityTag/Delete.ex.php
+++ b/civicrm/api/v3/examples/EntityTag/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the EntityTag.delete API.
  *
@@ -11,7 +16,7 @@ function entity_tag_delete_example() {
     'tag_id' => '19',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('EntityTag', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,23 +54,23 @@ function entity_tag_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testEntityTagDeleteHH"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityTagTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testEntityTagDeleteHH"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityTagTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/EntityTag/Get.ex.php b/civicrm/api/v3/examples/EntityTag/Get.ex.php
index 5312259a604dbeee9bef666ed88d658b7af6b44f..d47ccee808d3f4cbc308ea68e5da43ec4c8c36d9 100644
--- a/civicrm/api/v3/examples/EntityTag/Get.ex.php
+++ b/civicrm/api/v3/examples/EntityTag/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the EntityTag.get API.
  *
@@ -10,7 +15,7 @@ function entity_tag_get_example() {
     'contact_id' => 18,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('EntityTag', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -41,10 +46,10 @@ function entity_tag_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 5,
+    'id' => 6,
     'values' => [
-      '5' => [
-        'id' => '5',
+      '6' => [
+        'id' => '6',
         'entity_table' => 'civicrm_contact',
         'entity_id' => '18',
         'tag_id' => '11',
@@ -56,23 +61,23 @@ function entity_tag_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testIndividualEntityTagGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityTagTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testIndividualEntityTagGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityTagTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Event/ContactRefCustomField.ex.php b/civicrm/api/v3/examples/Event/ContactRefCustomField.ex.php
index 5fe5f62f35e82c6d54715a2f817650a893ac0bb6..419ae61b835e9493f6896a2cf86ce9cc5637f9a5 100644
--- a/civicrm/api/v3/examples/Event/ContactRefCustomField.ex.php
+++ b/civicrm/api/v3/examples/Event/ContactRefCustomField.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Event.get API.
  *
@@ -10,10 +15,10 @@
 function event_get_example() {
   $params = [
     'return.custom_2' => 1,
-    'custom_2' => 4,
+    'custom_2' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Event', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -76,7 +81,7 @@ function event_get_expectedresult() {
         'is_confirm_enabled' => '1',
         'is_billing_required' => 0,
         'custom_1' => 'defaultValue',
-        'custom_2_id' => '4',
+        'custom_2_id' => '3',
         'custom_2' => 'Contact, Test',
       ],
     ],
@@ -86,23 +91,23 @@ function event_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testEventGetCustomContactRefFieldCRM16036"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testEventGetCustomContactRefFieldCRM16036"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Event/Create.ex.php b/civicrm/api/v3/examples/Event/Create.ex.php
index 7f79b3a2576ee1dc3df9ba0030f8b70eb7d4c55e..52c0858b003e52c2c5ee3f11b7388214ee3f9dac 100644
--- a/civicrm/api/v3/examples/Event/Create.ex.php
+++ b/civicrm/api/v3/examples/Event/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Event.create API.
  *
@@ -24,7 +29,7 @@ function event_create_example() {
     'is_show_location' => 0,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Event', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -63,6 +68,7 @@ function event_create_expectedresult() {
         'summary' => 'If you have any CiviCRM related issues or want to track where CiviCRM is heading, Sign up now',
         'description' => 'This event is intended to give brief idea about progess of CiviCRM and giving solutions to common user issues',
         'event_type_id' => '1',
+        'participant_listing_id' => '',
         'is_public' => '1',
         'start_date' => '2013-07-29 00:00:00',
         'end_date' => '2013-08-04 00:00:00',
@@ -134,23 +140,23 @@ function event_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateEventSuccess"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateEventSuccess"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Event/Delete.ex.php b/civicrm/api/v3/examples/Event/Delete.ex.php
index 99e53f4ab0baf13ccb69e844d00991e26edf3cdc..e26639122639216f757ac42d936e955ba0f00f51 100644
--- a/civicrm/api/v3/examples/Event/Delete.ex.php
+++ b/civicrm/api/v3/examples/Event/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Event.delete API.
  *
@@ -10,7 +15,7 @@ function event_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Event', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function event_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Event/Get.ex.php b/civicrm/api/v3/examples/Event/Get.ex.php
index aee29dd29b7f4bfa67a9f851435513bc7cedbef3..bb24a0230250eb2c4b33f1d9b055cba221d6b3f6 100644
--- a/civicrm/api/v3/examples/Event/Get.ex.php
+++ b/civicrm/api/v3/examples/Event/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Event.get API.
  *
@@ -11,7 +16,7 @@ function event_get_example() {
     'sequential' => TRUE,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Event', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -81,23 +86,23 @@ function event_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetEventByEventTitle"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetEventByEventTitle"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Event/IsCurrentOption.ex.php b/civicrm/api/v3/examples/Event/IsCurrentOption.ex.php
index 8a40f7a6f284152c7dc19125747f442ae28ab8fe..c094ec7ff52d942b0120301fe79eedcab605d70b 100644
--- a/civicrm/api/v3/examples/Event/IsCurrentOption.ex.php
+++ b/civicrm/api/v3/examples/Event/IsCurrentOption.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Event.get API.
  *
@@ -12,7 +17,7 @@ function event_get_example() {
     'isCurrent' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Event', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -89,23 +94,23 @@ function event_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetIsCurrent"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetIsCurrent"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Event/IsFullOption.ex.php b/civicrm/api/v3/examples/Event/IsFullOption.ex.php
index 07e6b42994a00067ccebefe8c2f21930eedc154d..747a6bd30a8f7f2c42b47beb118c61e0aa3302b9 100644
--- a/civicrm/api/v3/examples/Event/IsFullOption.ex.php
+++ b/civicrm/api/v3/examples/Event/IsFullOption.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Event.getsingle API.
  *
@@ -13,7 +18,7 @@ function event_getsingle_example() {
     'return.is_full' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Event', 'getsingle', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -66,7 +71,7 @@ function event_getsingle_expectedresult() {
     'allow_selfcancelxfer' => 0,
     'selfcancelxfer_time' => 0,
     'is_template' => 0,
-    'created_date' => '2019-08-20 19:17:20',
+    'created_date' => '2022-01-17 12:29:42',
     'is_share' => '1',
     'is_confirm_enabled' => '1',
     'is_billing_required' => 0,
@@ -78,23 +83,23 @@ function event_getsingle_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetSingleReturnIsFull"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetSingleReturnIsFull"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Grant/Create.ex.php b/civicrm/api/v3/examples/Grant/Create.ex.php
index 80c79bab87f81a2aedb85f7330e5c6c621701c9f..e48884fdad771430521063dbee011f9d9273e850 100644
--- a/civicrm/api/v3/examples/Grant/Create.ex.php
+++ b/civicrm/api/v3/examples/Grant/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Grant.create API.
  *
@@ -17,7 +22,7 @@ function grant_create_example() {
     'grant_type_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Grant', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -74,23 +79,23 @@ function grant_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateGrant"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GrantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateGrant"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GrantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Grant/Delete.ex.php b/civicrm/api/v3/examples/Grant/Delete.ex.php
index 8ef84ffc357ee89773c387a581df944f877381fa..f214c55fbd78ed31ae205a220911b7e4713deec5 100644
--- a/civicrm/api/v3/examples/Grant/Delete.ex.php
+++ b/civicrm/api/v3/examples/Grant/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Grant.delete API.
  *
@@ -10,7 +15,7 @@ function grant_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Grant', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function grant_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteGrant"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GrantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteGrant"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GrantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Grant/Get.ex.php b/civicrm/api/v3/examples/Grant/Get.ex.php
index 16692d60bf0bbb2e65ddfedfbf70ed9b990bac4c..0516eec65fda063b7c67de64aa420f0dbc5fc4ce 100644
--- a/civicrm/api/v3/examples/Grant/Get.ex.php
+++ b/civicrm/api/v3/examples/Grant/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Grant.get API.
  *
@@ -10,7 +15,7 @@ function grant_get_example() {
     'rationale' => 'Just Because',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Grant', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -61,23 +66,23 @@ function grant_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetGrant"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GrantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetGrant"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GrantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Group/Get.ex.php b/civicrm/api/v3/examples/Group/Get.ex.php
index f2a35bf736e378364db8dacd94653c4337584473..fb92e045ccd8d6d723e06b7ba316cefb652df28e 100644
--- a/civicrm/api/v3/examples/Group/Get.ex.php
+++ b/civicrm/api/v3/examples/Group/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Group.get API.
  *
@@ -10,7 +15,7 @@ function group_get_example() {
     'name' => 'Test Group 1',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Group', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -50,9 +55,6 @@ function group_get_expectedresult() {
         'description' => 'New Test Group Created',
         'is_active' => '1',
         'visibility' => 'Public Pages',
-        'where_clause' => ' (  ( ( `civicrm_group_contact-5d5bbacea0631`.group_id IN (\"1\") ) )  ) ',
-        'select_tables' => 'a:8:{s:15:\"civicrm_contact\";i:1;s:15:\"civicrm_address\";i:1;s:15:\"civicrm_country\";i:1;s:13:\"civicrm_email\";i:1;s:13:\"civicrm_phone\";i:1;s:10:\"civicrm_im\";i:1;s:19:\"civicrm_worldregion\";i:1;s:37:\"`civicrm_group_contact-5d5bbacea0631`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d5bbacea0631` ON (contact_a.id = `civicrm_group_contact-5d5bbacea0631`.contact_id AND `civicrm_group_contact-5d5bbacea0631`.status IN (\'Added\'))\";}',
-        'where_tables' => 'a:2:{s:15:\"civicrm_contact\";i:1;s:37:\"`civicrm_group_contact-5d5bbacea0631`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d5bbacea0631` ON (contact_a.id = `civicrm_group_contact-5d5bbacea0631`.contact_id AND `civicrm_group_contact-5d5bbacea0631`.status IN (\'Added\'))\";}',
         'group_type' => [
           '0' => '1',
           '1' => '2',
@@ -67,23 +69,23 @@ function group_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetGroupParamsWithGroupName"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetGroupParamsWithGroupName"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Group/GetFields.ex.php b/civicrm/api/v3/examples/Group/GetFields.ex.php
index 09d09af2a47b4966e1c18a006d4fb1b77789148a..dcdb68a6080ecb8461e142573316310bf435fc9c 100644
--- a/civicrm/api/v3/examples/Group/GetFields.ex.php
+++ b/civicrm/api/v3/examples/Group/GetFields.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Group.getfields API.
  *
@@ -12,7 +17,7 @@ function group_getfields_example() {
     'action' => 'create',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Group', 'getfields', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,7 +47,7 @@ function group_getfields_expectedresult() {
   $expectedResult = [
     'is_error' => 0,
     'version' => 3,
-    'count' => 20,
+    'count' => 22,
     'values' => [
       'id' => [
         'name' => 'id',
@@ -55,6 +60,13 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'html' => [
+          'type' => 'Number',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'readonly' => TRUE,
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.aliases' => [
           '0' => 'group_id',
@@ -72,6 +84,7 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'title' => [
@@ -79,8 +92,8 @@ function group_getfields_expectedresult() {
         'type' => 2,
         'title' => 'Group Title',
         'description' => 'Name of Group.',
-        'maxlength' => 64,
-        'size' => 30,
+        'maxlength' => 255,
+        'size' => 45,
         'where' => 'civicrm_group.title',
         'table_name' => 'civicrm_group',
         'entity' => 'Group',
@@ -88,9 +101,10 @@ function group_getfields_expectedresult() {
         'localizable' => 1,
         'html' => [
           'type' => 'Text',
-          'maxlength' => 64,
-          'size' => 30,
+          'maxlength' => 255,
+          'size' => 45,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.required' => 1,
       ],
@@ -111,6 +125,7 @@ function group_getfields_expectedresult() {
           'rows' => 2,
           'cols' => 60,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'source' => [
@@ -125,6 +140,7 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'saved_search_id' => [
@@ -138,6 +154,12 @@ function group_getfields_expectedresult() {
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
         'FKClassName' => 'CRM_Contact_DAO_SavedSearch',
+        'html' => [
+          'label' => 'Saved Search',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'FKApiName' => 'SavedSearch',
       ],
@@ -151,6 +173,7 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.default' => 1,
       ],
@@ -175,6 +198,7 @@ function group_getfields_expectedresult() {
         'pseudoconstant' => [
           'callback' => 'CRM_Core_SelectValues::groupVisibility',
         ],
+        'add' => '1.2',
         'is_core_field' => TRUE,
       ],
       'where_clause' => [
@@ -187,6 +211,8 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'readonly' => TRUE,
+        'add' => '1.6',
         'is_core_field' => TRUE,
       ],
       'select_tables' => [
@@ -200,6 +226,8 @@ function group_getfields_expectedresult() {
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
         'serialize' => 4,
+        'readonly' => TRUE,
+        'add' => '1.6',
         'is_core_field' => TRUE,
       ],
       'where_tables' => [
@@ -213,6 +241,8 @@ function group_getfields_expectedresult() {
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
         'serialize' => 4,
+        'readonly' => TRUE,
+        'add' => '1.6',
         'is_core_field' => TRUE,
       ],
       'group_type' => [
@@ -232,6 +262,7 @@ function group_getfields_expectedresult() {
           'optionGroupName' => 'group_type',
           'optionEditPath' => 'civicrm/admin/options/group_type',
         ],
+        'add' => '1.9',
         'is_core_field' => TRUE,
       ],
       'cache_date' => [
@@ -245,6 +276,8 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'readonly' => TRUE,
+        'add' => '2.1',
         'is_core_field' => TRUE,
       ],
       'refresh_date' => [
@@ -258,6 +291,8 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'readonly' => TRUE,
+        'add' => '4.3',
         'is_core_field' => TRUE,
       ],
       'parents' => [
@@ -274,6 +309,7 @@ function group_getfields_expectedresult() {
         'pseudoconstant' => [
           'callback' => 'CRM_Core_PseudoConstant::allGroup',
         ],
+        'add' => '2.1',
         'is_core_field' => TRUE,
       ],
       'children' => [
@@ -286,6 +322,7 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'add' => '2.1',
         'is_core_field' => TRUE,
       ],
       'is_hidden' => [
@@ -298,6 +335,7 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'add' => '2.2',
         'is_core_field' => TRUE,
       ],
       'is_reserved' => [
@@ -309,12 +347,13 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'add' => '4.2',
         'is_core_field' => TRUE,
       ],
       'created_id' => [
         'name' => 'created_id',
         'type' => 1,
-        'title' => 'Group Created By',
+        'title' => 'Created By Contact ID',
         'description' => 'FK to contact table.',
         'where' => 'civicrm_group.created_id',
         'table_name' => 'civicrm_group',
@@ -322,13 +361,19 @@ function group_getfields_expectedresult() {
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
         'FKClassName' => 'CRM_Contact_DAO_Contact',
+        'html' => [
+          'label' => 'Created By',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'add' => '4.3',
         'is_core_field' => TRUE,
         'FKApiName' => 'Contact',
       ],
       'modified_id' => [
         'name' => 'modified_id',
         'type' => 1,
-        'title' => 'Group Modified By',
+        'title' => 'Modified By Contact ID',
         'description' => 'FK to contact table.',
         'where' => 'civicrm_group.modified_id',
         'table_name' => 'civicrm_group',
@@ -336,9 +381,56 @@ function group_getfields_expectedresult() {
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
         'FKClassName' => 'CRM_Contact_DAO_Contact',
+        'html' => [
+          'label' => 'Modified By',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'readonly' => TRUE,
+        'add' => '4.5',
         'is_core_field' => TRUE,
         'FKApiName' => 'Contact',
       ],
+      'frontend_title' => [
+        'name' => 'frontend_title',
+        'type' => 2,
+        'title' => 'Public Group Title',
+        'description' => 'Alternative public title for this Group.',
+        'maxlength' => 255,
+        'size' => 45,
+        'where' => 'civicrm_group.frontend_title',
+        'table_name' => 'civicrm_group',
+        'entity' => 'Group',
+        'bao' => 'CRM_Contact_BAO_Group',
+        'localizable' => 1,
+        'html' => [
+          'type' => 'Text',
+          'maxlength' => 255,
+          'size' => 45,
+        ],
+        'add' => '5.31',
+        'is_core_field' => TRUE,
+      ],
+      'frontend_description' => [
+        'name' => 'frontend_description',
+        'type' => 32,
+        'title' => 'Public Group Description',
+        'description' => 'Alternative public description of the group.',
+        'rows' => 2,
+        'cols' => 60,
+        'where' => 'civicrm_group.frontend_description',
+        'table_name' => 'civicrm_group',
+        'entity' => 'Group',
+        'bao' => 'CRM_Contact_BAO_Group',
+        'localizable' => 1,
+        'html' => [
+          'type' => 'TextArea',
+          'rows' => 2,
+          'cols' => 60,
+        ],
+        'add' => '5.31',
+        'is_core_field' => TRUE,
+      ],
     ],
   ];
 
@@ -346,23 +438,23 @@ function group_getfields_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testgetfields"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testgetfields"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupContact/Create.ex.php b/civicrm/api/v3/examples/GroupContact/Create.ex.php
index afb9496b78898a2d0a07dd0375353bc1505bcc4b..e60ffc8bd584e8d666341a3fe94798513ff43de3 100644
--- a/civicrm/api/v3/examples/GroupContact/Create.ex.php
+++ b/civicrm/api/v3/examples/GroupContact/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupContact.create API.
  *
@@ -12,7 +17,7 @@ function group_contact_create_example() {
     'group_id' => 11,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupContact', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -53,23 +58,23 @@ function group_contact_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupContact/Delete.ex.php b/civicrm/api/v3/examples/GroupContact/Delete.ex.php
index 0f4db2245fd60acdb7f1892ea7bf8edc61358225..590ea6f5151b1a3476db20b3c29567f065bfda28 100644
--- a/civicrm/api/v3/examples/GroupContact/Delete.ex.php
+++ b/civicrm/api/v3/examples/GroupContact/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupContact.delete API.
  *
@@ -11,7 +16,7 @@ function group_contact_delete_example() {
     'skip_undelete' => TRUE,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupContact', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -52,23 +57,23 @@ function group_contact_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePermanent"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePermanent"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupContact/Get.ex.php b/civicrm/api/v3/examples/GroupContact/Get.ex.php
index e7718d55111dd51e357723c899c37f3787a750bf..823559f8d497cc1fb1708c654120021ba5fdb13f 100644
--- a/civicrm/api/v3/examples/GroupContact/Get.ex.php
+++ b/civicrm/api/v3/examples/GroupContact/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupContact.get API.
  *
@@ -10,7 +15,7 @@ function group_contact_get_example() {
     'contact_id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupContact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -59,23 +64,23 @@ function group_contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupContact/GetWithGroupID.ex.php b/civicrm/api/v3/examples/GroupContact/GetWithGroupID.ex.php
index 2607a81f7f92cf32459876e0da5e7c9706970de4..113a76de57af01c2f6971771f9be66697b71c5c9 100644
--- a/civicrm/api/v3/examples/GroupContact/GetWithGroupID.ex.php
+++ b/civicrm/api/v3/examples/GroupContact/GetWithGroupID.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupContact.get API.
  *
@@ -14,7 +19,7 @@ function group_contact_get_example() {
     'sequential' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupContact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -65,9 +70,6 @@ function group_contact_get_expectedresult() {
               'description' => 'New Test Group Created',
               'is_active' => '1',
               'visibility' => 'Public Pages',
-              'where_clause' => ' (  ( ( `civicrm_group_contact-5d5bbabeb0cbd`.group_id IN (\"3\") ) )  ) ',
-              'select_tables' => 'a:8:{s:15:\"civicrm_contact\";i:1;s:15:\"civicrm_address\";i:1;s:15:\"civicrm_country\";i:1;s:13:\"civicrm_email\";i:1;s:13:\"civicrm_phone\";i:1;s:10:\"civicrm_im\";i:1;s:19:\"civicrm_worldregion\";i:1;s:37:\"`civicrm_group_contact-5d5bbabeb0cbd`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d5bbabeb0cbd` ON (contact_a.id = `civicrm_group_contact-5d5bbabeb0cbd`.contact_id AND `civicrm_group_contact-5d5bbabeb0cbd`.status IN (\'Added\'))\";}',
-              'where_tables' => 'a:2:{s:15:\"civicrm_contact\";i:1;s:37:\"`civicrm_group_contact-5d5bbabeb0cbd`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d5bbabeb0cbd` ON (contact_a.id = `civicrm_group_contact-5d5bbabeb0cbd`.contact_id AND `civicrm_group_contact-5d5bbabeb0cbd`.status IN (\'Added\'))\";}',
               'group_type' => [
                 '0' => '1',
                 '1' => '2',
@@ -85,23 +87,23 @@ function group_contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetGroupID"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetGroupID"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupNesting/Create.ex.php b/civicrm/api/v3/examples/GroupNesting/Create.ex.php
index a25f5bb4635792ebdb05cf0d4349cb5a316eb19c..2f2d7268a66ebfe93165a9cafe7ee9b0862dce41 100644
--- a/civicrm/api/v3/examples/GroupNesting/Create.ex.php
+++ b/civicrm/api/v3/examples/GroupNesting/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupNesting.create API.
  *
@@ -11,7 +16,7 @@ function group_nesting_create_example() {
     'child_group_id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupNesting', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -56,23 +61,23 @@ function group_nesting_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupNestingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupNestingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupNesting/Delete.ex.php b/civicrm/api/v3/examples/GroupNesting/Delete.ex.php
index dc99c74c88ed1742cd0ccf9fc2a4b950d516b07a..536ac38d64ef76c1eb251f8cf42e14c8781b6fe0 100644
--- a/civicrm/api/v3/examples/GroupNesting/Delete.ex.php
+++ b/civicrm/api/v3/examples/GroupNesting/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupNesting.delete API.
  *
@@ -10,7 +15,7 @@ function group_nesting_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupNesting', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function group_nesting_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupNestingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupNestingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupNesting/Get.ex.php b/civicrm/api/v3/examples/GroupNesting/Get.ex.php
index 40631a5cc314b3557c165605ad2ee6251ab9e9dc..1625e8bb7ea3e27ba5daa9ce2a7eae9c48e49ec7 100644
--- a/civicrm/api/v3/examples/GroupNesting/Get.ex.php
+++ b/civicrm/api/v3/examples/GroupNesting/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupNesting.get API.
  *
@@ -11,7 +16,7 @@ function group_nesting_get_example() {
     'child_group_id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupNesting', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -56,23 +61,23 @@ function group_nesting_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupNestingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupNestingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupOrganization/Create.ex.php b/civicrm/api/v3/examples/GroupOrganization/Create.ex.php
index 9d812d508a9ea8c8fb090a2e2e8ff254439dab1e..63552d4da8cb89317131e02ab1b5a6f5a256c5f9 100644
--- a/civicrm/api/v3/examples/GroupOrganization/Create.ex.php
+++ b/civicrm/api/v3/examples/GroupOrganization/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupOrganization.create API.
  *
@@ -7,11 +12,11 @@
  */
 function group_organization_create_example() {
   $params = [
-    'organization_id' => 8,
-    'group_id' => 6,
+    'organization_id' => 12,
+    'group_id' => 10,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupOrganization', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,12 +47,12 @@ function group_organization_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 6,
     'values' => [
-      '3' => [
-        'id' => '3',
-        'group_id' => '6',
-        'organization_id' => '8',
+      '6' => [
+        'id' => '6',
+        'group_id' => '10',
+        'organization_id' => '12',
       ],
     ],
   ];
@@ -56,23 +61,23 @@ function group_organization_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGroupOrganizationCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupOrganizationTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGroupOrganizationCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupOrganizationTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupOrganization/Delete.ex.php b/civicrm/api/v3/examples/GroupOrganization/Delete.ex.php
index 722934bf19da7e172d8e4dd3cd97ffedec1f4718..e84acd361f8018933312cce87c070f1e07701346 100644
--- a/civicrm/api/v3/examples/GroupOrganization/Delete.ex.php
+++ b/civicrm/api/v3/examples/GroupOrganization/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupOrganization.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function group_organization_delete_example() {
   $params = [
-    'id' => 5,
+    'id' => 10,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupOrganization', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function group_organization_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGroupOrganizationDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupOrganizationTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGroupOrganizationDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupOrganizationTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupOrganization/Get.ex.php b/civicrm/api/v3/examples/GroupOrganization/Get.ex.php
index 500c215a7942b68bf7f434abffcfea57cecc4f93..c0ef24fa35ec222851e49ef1204d8f5de3d1083c 100644
--- a/civicrm/api/v3/examples/GroupOrganization/Get.ex.php
+++ b/civicrm/api/v3/examples/GroupOrganization/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupOrganization.get API.
  *
@@ -7,10 +12,10 @@
  */
 function group_organization_get_example() {
   $params = [
-    'organization_id' => 1,
+    'organization_id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupOrganization', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function group_organization_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGroupOrganizationGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupOrganizationTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGroupOrganizationGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupOrganizationTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Im/Create.ex.php b/civicrm/api/v3/examples/Im/Create.ex.php
index dda5c2ccf6c7aa0e81f4fd2fd18c00d4fbf9262c..03af0f6cae27c3e164e8f443a8c659bc89b48b93 100644
--- a/civicrm/api/v3/examples/Im/Create.ex.php
+++ b/civicrm/api/v3/examples/Im/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Im.create API.
  *
@@ -12,7 +17,7 @@ function im_create_example() {
     'provider_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Im', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,15 +48,15 @@ function im_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 3,
     'values' => [
-      '2' => [
-        'id' => '2',
+      '3' => [
+        'id' => '3',
         'contact_id' => '5',
         'location_type_id' => '1',
         'name' => 'My Yahoo IM Handle',
         'provider_id' => '1',
-        'is_primary' => '',
+        'is_primary' => '1',
         'is_billing' => '',
       ],
     ],
@@ -61,23 +66,23 @@ function im_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateImDefaultLocation"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ImTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateImDefaultLocation"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ImTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Im/Delete.ex.php b/civicrm/api/v3/examples/Im/Delete.ex.php
index 975bfac70bafe37da1c658a029a0983d24267310..d2f5e2a4ca29abf46175760da0757392f7173cde 100644
--- a/civicrm/api/v3/examples/Im/Delete.ex.php
+++ b/civicrm/api/v3/examples/Im/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Im.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function im_delete_example() {
   $params = [
-    'id' => 4,
+    'id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Im', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function im_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteIm"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ImTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteIm"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ImTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Im/Get.ex.php b/civicrm/api/v3/examples/Im/Get.ex.php
index e2cacaad3f877f7d389de9ff2cd34528c1f51d6a..dd611a381830fbb6d357335f1a35ddfa84ad62fc 100644
--- a/civicrm/api/v3/examples/Im/Get.ex.php
+++ b/civicrm/api/v3/examples/Im/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Im.get API.
  *
@@ -13,7 +18,7 @@ function im_get_example() {
     'provider_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Im', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -44,15 +49,15 @@ function im_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 5,
     'values' => [
-      '3' => [
-        'id' => '3',
+      '5' => [
+        'id' => '5',
         'contact_id' => '7',
         'location_type_id' => '1',
         'name' => 'My Yahoo IM Handle',
         'provider_id' => '1',
-        'is_primary' => 0,
+        'is_primary' => '1',
         'is_billing' => 0,
       ],
     ],
@@ -62,23 +67,23 @@ function im_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetIm"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ImTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetIm"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ImTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Job/Clone.ex.php b/civicrm/api/v3/examples/Job/Clone.ex.php
index b2235b8854cc0d35c2d449ace52f9a3fad82496e..aad91cb682fd675097606038598642dfef90f1cc 100644
--- a/civicrm/api/v3/examples/Job/Clone.ex.php
+++ b/civicrm/api/v3/examples/Job/Clone.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Job.clone API.
  *
@@ -10,7 +15,7 @@ function job_clone_example() {
     'id' => 31,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Job', 'clone', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -50,7 +55,7 @@ function job_clone_expectedresult() {
         'name' => 'API_Test_Job - Copy',
         'description' => 'A long description written by hand in cursive',
         'api_entity' => 'ApiTestEntity',
-        'api_action' => 'apitestaction',
+        'api_action' => 'api_test_action',
         'parameters' => 'Semi-formal explanation of runtime job parameters',
         'is_active' => '1',
       ],
@@ -61,23 +66,23 @@ function job_clone_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testClone"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/JobTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testClone"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/JobTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Job/Create.ex.php b/civicrm/api/v3/examples/Job/Create.ex.php
index 5109836ee969332817766c67668ead950c8f09e0..f022cce7d9b5882de7c6df9481933bf1d465aab4 100644
--- a/civicrm/api/v3/examples/Job/Create.ex.php
+++ b/civicrm/api/v3/examples/Job/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Job.create API.
  *
@@ -12,12 +17,12 @@ function job_create_example() {
     'description' => 'A long description written by hand in cursive',
     'run_frequency' => 'Daily',
     'api_entity' => 'ApiTestEntity',
-    'api_action' => 'apitestaction',
+    'api_action' => 'api_test_action',
     'parameters' => 'Semi-formal explanation of runtime job parameters',
     'is_active' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Job', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -59,7 +64,7 @@ function job_create_expectedresult() {
         'name' => 'API_Test_Job',
         'description' => 'A long description written by hand in cursive',
         'api_entity' => 'ApiTestEntity',
-        'api_action' => 'apitestaction',
+        'api_action' => 'api_test_action',
         'parameters' => 'Semi-formal explanation of runtime job parameters',
         'is_active' => '1',
       ],
@@ -70,23 +75,23 @@ function job_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/JobTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/JobTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Job/Delete.ex.php b/civicrm/api/v3/examples/Job/Delete.ex.php
index 6bbd95169abda387fad383d3ab77248fe34d7bce..995e8654eb3cdce38fcfefdcd84d2e757cd66c2a 100644
--- a/civicrm/api/v3/examples/Job/Delete.ex.php
+++ b/civicrm/api/v3/examples/Job/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Job.delete API.
  *
@@ -10,7 +15,7 @@ function job_delete_example() {
     'id' => 33,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Job', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,23 +48,23 @@ function job_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/JobTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/JobTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/LineItem/Create.ex.php b/civicrm/api/v3/examples/LineItem/Create.ex.php
index 050bcfa25deeeed5e8c805d9e0fca58fef83ec9c..a3e8a2104419350b660ddc2f505a034250676e00 100644
--- a/civicrm/api/v3/examples/LineItem/Create.ex.php
+++ b/civicrm/api/v3/examples/LineItem/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the LineItem.create API.
  *
@@ -10,14 +15,13 @@ function line_item_create_example() {
     'price_field_value_id' => 1,
     'price_field_id' => 1,
     'entity_table' => 'civicrm_contribution',
-    'entity_id' => 1,
+    'entity_id' => 3,
     'qty' => 1,
     'unit_price' => 50,
     'line_total' => 50,
-    'debug' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('LineItem', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,12 +52,12 @@ function line_item_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 6,
     'values' => [
-      '2' => [
-        'id' => '2',
+      '6' => [
+        'id' => '6',
         'entity_table' => 'civicrm_contribution',
-        'entity_id' => '1',
+        'entity_id' => '3',
         'contribution_id' => '',
         'price_field_id' => '1',
         'label' => 'line item',
@@ -65,6 +69,7 @@ function line_item_create_expectedresult() {
         'financial_type_id' => '',
         'non_deductible_amount' => '',
         'tax_amount' => '',
+        'membership_num_terms' => '',
       ],
     ],
   ];
@@ -73,23 +78,23 @@ function line_item_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateLineItem"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LineItemTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateLineItem"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LineItemTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/LineItem/Delete.ex.php b/civicrm/api/v3/examples/LineItem/Delete.ex.php
index a84be8f5606beeda4407bb4df23473b1701052b7..21b035602ee947f8bf52863e71d9e625db8731bb 100644
--- a/civicrm/api/v3/examples/LineItem/Delete.ex.php
+++ b/civicrm/api/v3/examples/LineItem/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the LineItem.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function line_item_delete_example() {
   $params = [
-    'id' => 4,
+    'id' => 17,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('LineItem', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function line_item_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteLineItem"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LineItemTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteLineItem"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LineItemTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/LineItem/Get.ex.php b/civicrm/api/v3/examples/LineItem/Get.ex.php
index 2e5d7fa2ecddf6f9bad2978265638cede7dc9230..1feccf91807a19cf9321cea79837460b4b663f20 100644
--- a/civicrm/api/v3/examples/LineItem/Get.ex.php
+++ b/civicrm/api/v3/examples/LineItem/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the LineItem.get API.
  *
@@ -10,7 +15,7 @@ function line_item_get_example() {
     'entity_table' => 'civicrm_contribution',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('LineItem', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -41,13 +46,13 @@ function line_item_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 15,
     'values' => [
-      '3' => [
-        'id' => '3',
+      '15' => [
+        'id' => '15',
         'entity_table' => 'civicrm_contribution',
-        'entity_id' => '2',
-        'contribution_id' => '2',
+        'entity_id' => '7',
+        'contribution_id' => '7',
         'price_field_id' => '1',
         'label' => 'Contribution Amount',
         'qty' => '1.00',
@@ -56,6 +61,7 @@ function line_item_get_expectedresult() {
         'price_field_value_id' => '1',
         'financial_type_id' => '1',
         'non_deductible_amount' => '0.00',
+        'tax_amount' => '0.00',
         'contribution_type_id' => '1',
       ],
     ],
@@ -65,23 +71,23 @@ function line_item_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetBasicLineItem"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LineItemTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetBasicLineItem"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LineItemTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/LocBlock/Create.ex.php b/civicrm/api/v3/examples/LocBlock/Create.ex.php
index b752ec02a6e097a04bab6e91be254fa1ac6e2171..5d3ef0aa20c507ab072b242ffcc6efe310fbf5a0 100644
--- a/civicrm/api/v3/examples/LocBlock/Create.ex.php
+++ b/civicrm/api/v3/examples/LocBlock/Create.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the LocBlock.create API.
  *
- * Create locBlock with existing entities
+ * Create locBlock with existing entities.
  *
  * @return array
  *   API result array
@@ -14,7 +19,7 @@ function loc_block_create_example() {
     'email_id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('LocBlock', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -65,23 +70,23 @@ function loc_block_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateLocBlock"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LocBlockTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateLocBlock"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LocBlockTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/LocBlock/CreateEntities.ex.php b/civicrm/api/v3/examples/LocBlock/CreateEntities.ex.php
index 1ac4588448827d97a2098c0a5f0fb288f53dcd47..17ceb410e3d882b10456ff95bde4a6440f49f4c3 100644
--- a/civicrm/api/v3/examples/LocBlock/CreateEntities.ex.php
+++ b/civicrm/api/v3/examples/LocBlock/CreateEntities.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the LocBlock.create API.
  *
@@ -27,7 +32,7 @@ function loc_block_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('LocBlock', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -124,23 +129,23 @@ function loc_block_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateLocBlockEntities"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LocBlockTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateLocBlockEntities"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LocBlockTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/LocBlock/Get.ex.php b/civicrm/api/v3/examples/LocBlock/Get.ex.php
index 926c03d45eb5ff140f19d686576d02b04600014d..338cc385f4080ecb5333dec948ba80266f48c928 100644
--- a/civicrm/api/v3/examples/LocBlock/Get.ex.php
+++ b/civicrm/api/v3/examples/LocBlock/Get.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the LocBlock.get API.
  *
- * Get entities and location block in 1 api call
+ * Get entities and location block in 1 api call.
  *
  * @return array
  *   API result array
@@ -13,7 +18,7 @@ function loc_block_get_example() {
     'return' => 'all',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('LocBlock', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -93,23 +98,23 @@ function loc_block_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateLocBlockEntities"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LocBlockTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateLocBlockEntities"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LocBlockTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Logging/Get.ex.php b/civicrm/api/v3/examples/Logging/Get.ex.php
index a0a26f4c254e2d8393887d9e3796fc23392a0fa7..28484e4b583c9d06b54fc07125d5763b5b25408d 100644
--- a/civicrm/api/v3/examples/Logging/Get.ex.php
+++ b/civicrm/api/v3/examples/Logging/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Logging.get API.
  *
@@ -10,7 +15,7 @@ function logging_get_example() {
     'log_conn_id' => 'wooty wop wop',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Logging', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,7 +54,7 @@ function logging_get_expectedresult() {
         'from' => 'Anderson, Anthony',
         'to' => 'Dwarf, Dopey',
         'table' => 'civicrm_contact',
-        'log_date' => '2019-08-20 19:23:24',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '1' => [
@@ -59,7 +64,7 @@ function logging_get_expectedresult() {
         'from' => 'Mr. Anthony Anderson II',
         'to' => 'Mr. Dopey Dwarf II',
         'table' => 'civicrm_contact',
-        'log_date' => '2019-08-20 19:23:24',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '2' => [
@@ -69,7 +74,7 @@ function logging_get_expectedresult() {
         'from' => 'Anthony',
         'to' => 'Dopey',
         'table' => 'civicrm_contact',
-        'log_date' => '2019-08-20 19:23:24',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '3' => [
@@ -79,137 +84,137 @@ function logging_get_expectedresult() {
         'from' => 'Anderson',
         'to' => 'Dwarf',
         'table' => 'civicrm_contact',
-        'log_date' => '2019-08-20 19:23:24',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '4' => [
         'action' => 'Update',
         'id' => '3',
         'field' => 'modified_date',
-        'from' => '2019-08-20 19:23:20',
-        'to' => '2019-08-20 19:23:24',
+        'from' => '2022-01-17 12:53:29',
+        'to' => '2022-01-17 12:53:39',
         'table' => 'civicrm_contact',
-        'log_date' => '2019-08-20 19:23:24',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '5' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'id',
         'from' => '',
-        'to' => '2',
+        'to' => '4',
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '6' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'contact_id',
         'from' => '',
         'to' => '3',
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '7' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'location_type_id',
         'from' => '',
         'to' => '1',
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '8' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'email',
         'from' => '',
         'to' => 'dopey@mail.com',
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '9' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'is_primary',
         'from' => '',
         'to' => 0,
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '10' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'is_billing',
         'from' => '',
         'to' => 0,
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '11' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'on_hold',
         'from' => '',
         'to' => 0,
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '12' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'is_bulkmail',
         'from' => '',
         'to' => 0,
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '13' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'hold_date',
         'from' => '',
         'to' => '',
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '14' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'reset_date',
         'from' => '',
         'to' => '',
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '15' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'signature_text',
         'from' => '',
         'to' => '',
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '16' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'signature_html',
         'from' => '',
         'to' => '',
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
     ],
@@ -219,23 +224,23 @@ function logging_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetNoDate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LoggingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetNoDate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LoggingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Logging/Revert.ex.php b/civicrm/api/v3/examples/Logging/Revert.ex.php
index 32fa318ff29c4dcbe28e8ea5a3429e1a0480500c..59c11fff938e06e30f425ddcc28473e869589eb1 100644
--- a/civicrm/api/v3/examples/Logging/Revert.ex.php
+++ b/civicrm/api/v3/examples/Logging/Revert.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Logging.revert API.
  *
@@ -8,10 +13,10 @@
 function logging_revert_example() {
   $params = [
     'log_conn_id' => 'woot',
-    'log_date' => '2019-08-20 19:22:48',
+    'log_date' => '2022-01-17 12:52:20',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Logging', 'revert', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,23 +54,23 @@ function logging_revert_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "/home/seamus/buildkit/build/47-test/sites/all/modules/civicrm/tests/phpunit/api/v3/LoggingTest.php"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/Revert
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "/home/seamus/buildkit/build/47-test/web/sites/all/modules/civicrm/tests/phpunit/api/v3/LoggingTest.php"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/Revert
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MailSettings/ChainedGetDelete.ex.php b/civicrm/api/v3/examples/MailSettings/ChainedGetDelete.ex.php
index b243259d28de2ccb12d21f868baf5abd8aea5f8e..8dd2b35d5a2a18edb74f09ee27481720b56ca9fe 100644
--- a/civicrm/api/v3/examples/MailSettings/ChainedGetDelete.ex.php
+++ b/civicrm/api/v3/examples/MailSettings/ChainedGetDelete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MailSettings.get API.
  *
@@ -13,7 +18,7 @@ function mail_settings_get_example() {
     'api.MailSettings.delete' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MailSettings', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -44,10 +49,10 @@ function mail_settings_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 6,
+    'id' => 10,
     'values' => [
-      '6' => [
-        'id' => '6',
+      '10' => [
+        'id' => '10',
         'domain_id' => '1',
         'name' => 'delete this setting',
         'is_default' => '1',
@@ -57,6 +62,8 @@ function mail_settings_get_expectedresult() {
         'username' => 'sue',
         'password' => 'pass',
         'is_ssl' => 0,
+        'is_non_case_email_skipped' => 0,
+        'is_contact_creation_disabled_if_no_match' => 0,
         'api.MailSettings.delete' => [
           'is_error' => 0,
           'version' => 3,
@@ -71,23 +78,23 @@ function mail_settings_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetMailSettingsChainDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailSettingsTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetMailSettingsChainDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailSettingsTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MailSettings/Create.ex.php b/civicrm/api/v3/examples/MailSettings/Create.ex.php
index 08eba6659768c6ea01ff2025aa592b9b96e73267..12357ea680f00a890a25c4e67cd121f6d1f2d940 100644
--- a/civicrm/api/v3/examples/MailSettings/Create.ex.php
+++ b/civicrm/api/v3/examples/MailSettings/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MailSettings.create API.
  *
@@ -17,7 +22,7 @@ function mail_settings_create_example() {
     'is_default' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MailSettings', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,10 +53,10 @@ function mail_settings_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 5,
+    'id' => 8,
     'values' => [
-      '5' => [
-        'id' => '5',
+      '8' => [
+        'id' => '8',
         'domain_id' => '1',
         'name' => 'my mail setting',
         'is_default' => '1',
@@ -66,6 +71,8 @@ function mail_settings_create_expectedresult() {
         'is_ssl' => '',
         'source' => '',
         'activity_status' => '',
+        'is_non_case_email_skipped' => '',
+        'is_contact_creation_disabled_if_no_match' => '',
       ],
     ],
   ];
@@ -74,23 +81,23 @@ function mail_settings_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteMailSettings"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailSettingsTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteMailSettings"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailSettingsTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MailSettings/Delete.ex.php b/civicrm/api/v3/examples/MailSettings/Delete.ex.php
index dbfc74cfc5f864c4851de0f7e0420f20f3ae906d..87945c6be8a568945d5455af3629888abf626732 100644
--- a/civicrm/api/v3/examples/MailSettings/Delete.ex.php
+++ b/civicrm/api/v3/examples/MailSettings/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MailSettings.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function mail_settings_delete_example() {
   $params = [
-    'id' => 5,
+    'id' => 8,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MailSettings', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function mail_settings_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteMailSettings"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailSettingsTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteMailSettings"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailSettingsTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MailSettings/Get.ex.php b/civicrm/api/v3/examples/MailSettings/Get.ex.php
index 42d80d7c2e0513e0ba3de7d21b2d243693a2ea9b..b007e786e2695d811e0d3a046e8df1e36434b3e0 100644
--- a/civicrm/api/v3/examples/MailSettings/Get.ex.php
+++ b/civicrm/api/v3/examples/MailSettings/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MailSettings.get API.
  *
@@ -17,7 +22,7 @@ function mail_settings_get_example() {
     'is_default' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MailSettings', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,10 +53,10 @@ function mail_settings_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 4,
+    'id' => 6,
     'values' => [
-      '4' => [
-        'id' => '4',
+      '6' => [
+        'id' => '6',
         'domain_id' => '1',
         'name' => 'my mail setting',
         'is_default' => '1',
@@ -61,6 +66,8 @@ function mail_settings_get_expectedresult() {
         'username' => 'sue',
         'password' => 'pass',
         'is_ssl' => 0,
+        'is_non_case_email_skipped' => 0,
+        'is_contact_creation_disabled_if_no_match' => 0,
       ],
     ],
   ];
@@ -69,23 +76,23 @@ function mail_settings_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetMailSettings"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailSettingsTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetMailSettings"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailSettingsTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MailSettings/GetOptions.ex.php b/civicrm/api/v3/examples/MailSettings/GetOptions.ex.php
index a1c39a2fcb59cb00c0179e4dfdb159e4c4ac671d..95ed1c3c3d030fbfd913d378902919bd6bdecaac 100644
--- a/civicrm/api/v3/examples/MailSettings/GetOptions.ex.php
+++ b/civicrm/api/v3/examples/MailSettings/GetOptions.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MailSettings.getoptions API.
  *
@@ -10,7 +15,7 @@ function mail_settings_getoptions_example() {
     'field' => 'protocol',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MailSettings', 'getoptions', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -53,23 +58,23 @@ function mail_settings_getoptions_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testmailProtocol"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ConstantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testmailProtocol"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ConstantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Mailing/Clone.ex.php b/civicrm/api/v3/examples/Mailing/Clone.ex.php
index 46b12fa62bd916cf9db5ba83b5bafadc0aaaedb3..fd9ebc16e66338a28e2ae1ae4ff6dba371efa161 100644
--- a/civicrm/api/v3/examples/Mailing/Clone.ex.php
+++ b/civicrm/api/v3/examples/Mailing/Clone.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Mailing.clone API.
  *
@@ -7,10 +12,10 @@
  */
 function mailing_clone_example() {
   $params = [
-    'id' => 27,
+    'id' => 28,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Mailing', 'clone', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -41,10 +46,10 @@ function mailing_clone_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 28,
+    'id' => 29,
     'values' => [
-      '28' => [
-        'id' => '28',
+      '29' => [
+        'id' => '29',
         'domain_id' => '1',
         'header_id' => '1',
         'footer_id' => '2',
@@ -63,7 +68,7 @@ function mailing_clone_expectedresult() {
         'body_text' => 'This is {contact.display_name}.
 https://civicrm.org
 {domain.address}{action.optOutUrl}',
-        'body_html' => '<link href=\'https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700|Zilla+Slab:500,700\' rel=\'stylesheet\' type=\'text/css\'><p><a href=\"http://{action.forward}\">Forward this email</a><a href=\"{action.forward}\">Forward this email with no protocol</a></p<p>This is {contact.display_name}.</p><p><a href=\'https://civicrm.org/\'>CiviCRM.org</a></p><p>{domain.address}{action.optOutUrl}</p>',
+        'body_html' => '<link href=\'https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700|Zilla+Slab:500,700\' rel=\'stylesheet\' type=\'text/css\'><p><a href=\"{action.forward}\">Forward this email</a></p><p>This is {contact.display_name}.</p><p><a href=\'https://civicrm.org/\'>CiviCRM.org</a></p><p>{domain.address}{action.optOutUrl}</p>',
         'url_tracking' => '1',
         'forward_replies' => 0,
         'auto_responder' => 0,
@@ -71,7 +76,7 @@ https://civicrm.org
         'is_completed' => '',
         'msg_template_id' => '',
         'override_verp' => '1',
-        'created_id' => '154',
+        'created_id' => '157',
         'created_date' => '2013-07-28 08:49:19',
         'modified_date' => '2012-11-14 16:02:35',
         'scheduled_id' => '',
@@ -97,23 +102,23 @@ https://civicrm.org
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testClone"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testClone"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Mailing/Create.ex.php b/civicrm/api/v3/examples/Mailing/Create.ex.php
index 6562c989a03e56ceeaad28f7ddb951f5d6287a2a..b02fd78d144cd89205bb27f18c73c15420c41d65 100644
--- a/civicrm/api/v3/examples/Mailing/Create.ex.php
+++ b/civicrm/api/v3/examples/Mailing/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Mailing.create API.
  *
@@ -11,17 +16,17 @@ function mailing_create_example() {
     'body_text' => 'This is {contact.display_name}.
 https://civicrm.org
 {domain.address}{action.optOutUrl}',
-    'body_html' => '<link href=\'https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700|Zilla+Slab:500,700\' rel=\'stylesheet\' type=\'text/css\'><p><a href=\"http://{action.forward}\">Forward this email</a><a href=\"{action.forward}\">Forward this email with no protocol</a></p<p>This is {contact.display_name}.</p><p><a href=\'https://civicrm.org/\'>CiviCRM.org</a></p><p>{domain.address}{action.optOutUrl}</p>',
+    'body_html' => '<link href=\'https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700|Zilla+Slab:500,700\' rel=\'stylesheet\' type=\'text/css\'><p><a href=\"{action.forward}\">Forward this email</a></p><p>This is {contact.display_name}.</p><p><a href=\'https://civicrm.org/\'>CiviCRM.org</a></p><p>{domain.address}{action.optOutUrl}</p>',
     'name' => 'mailing name',
-    'created_id' => 15,
+    'created_id' => 18,
     'header_id' => '',
     'footer_id' => '',
     'groups' => [
       'include' => [
-        '0' => 13,
+        '0' => 15,
       ],
       'exclude' => [
-        '0' => 14,
+        '0' => 16,
       ],
     ],
     'mailings' => [
@@ -42,7 +47,7 @@ https://civicrm.org
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Mailing', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -73,10 +78,10 @@ function mailing_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 9,
+    'id' => 10,
     'values' => [
-      '9' => [
-        'id' => '9',
+      '10' => [
+        'id' => '10',
         'domain_id' => '1',
         'header_id' => '',
         'footer_id' => '',
@@ -95,7 +100,7 @@ function mailing_create_expectedresult() {
         'body_text' => 'This is {contact.display_name}.
 https://civicrm.org
 {domain.address}{action.optOutUrl}',
-        'body_html' => '<link href=\'https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700|Zilla+Slab:500,700\' rel=\'stylesheet\' type=\'text/css\'><p><a href=\"http://{action.forward}\">Forward this email</a><a href=\"{action.forward}\">Forward this email with no protocol</a></p<p>This is {contact.display_name}.</p><p><a href=\'https://civicrm.org/\'>CiviCRM.org</a></p><p>{domain.address}{action.optOutUrl}</p>',
+        'body_html' => '<link href=\'https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700|Zilla+Slab:500,700\' rel=\'stylesheet\' type=\'text/css\'><p><a href=\"{action.forward}\">Forward this email</a></p><p>This is {contact.display_name}.</p><p><a href=\'https://civicrm.org/\'>CiviCRM.org</a></p><p>{domain.address}{action.optOutUrl}</p>',
         'url_tracking' => '1',
         'forward_replies' => 0,
         'auto_responder' => 0,
@@ -103,7 +108,7 @@ https://civicrm.org
         'is_completed' => '',
         'msg_template_id' => '',
         'override_verp' => '1',
-        'created_id' => '15',
+        'created_id' => '18',
         'created_date' => '2013-07-28 08:49:19',
         'modified_date' => '2012-11-14 16:02:35',
         'scheduled_id' => '',
@@ -129,9 +134,9 @@ https://civicrm.org
           'values' => [
             '0' => [
               'id' => '4',
-              'mailing_id' => '9',
-              'contact_id' => '16',
-              'email_id' => '16',
+              'mailing_id' => '10',
+              'contact_id' => '19',
+              'email_id' => '19',
               'api.contact.getvalue' => 'Mr. Includer Person II',
               'api.email.getvalue' => 'include.me@example.org',
             ],
@@ -145,23 +150,23 @@ https://civicrm.org
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMailerPreviewRecipients"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMailerPreviewRecipients"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Mailing/Delete.ex.php b/civicrm/api/v3/examples/Mailing/Delete.ex.php
index b0070b6eb47e1ac8a7e28000ee072a4885ba213d..9e3f5abaf9d342d7511fa82aafe50d171c6f1a94 100644
--- a/civicrm/api/v3/examples/Mailing/Delete.ex.php
+++ b/civicrm/api/v3/examples/Mailing/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Mailing.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function mailing_delete_example() {
   $params = [
-    'id' => 26,
+    'id' => 27,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Mailing', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function mailing_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMailerDeleteSuccess"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMailerDeleteSuccess"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Mailing/GetTokens.ex.php b/civicrm/api/v3/examples/Mailing/GetTokens.ex.php
index 986fd86e61b47139ba5b4874d882e811ef7aa5c4..d5f75dea9ed53c2579d97f3a28fbd60262dd3938 100644
--- a/civicrm/api/v3/examples/Mailing/GetTokens.ex.php
+++ b/civicrm/api/v3/examples/Mailing/GetTokens.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Mailing.gettokens API.
  *
@@ -16,7 +21,7 @@ function mailing_gettokens_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Mailing', 'gettokens', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,7 +51,7 @@ function mailing_gettokens_expectedresult() {
   $expectedResult = [
     'is_error' => 0,
     'version' => 3,
-    'count' => 88,
+    'count' => 90,
     'values' => [
       '{action.unsubscribe}' => 'Unsubscribe via email',
       '{action.unsubscribeUrl}' => 'Unsubscribe via web page',
@@ -57,52 +62,58 @@ function mailing_gettokens_expectedresult() {
       '{action.forward}' => 'Forward this email (link)',
       '{action.reply}' => 'Reply to this email (link)',
       '{action.subscribeUrl}' => 'Subscribe via web page',
+      '{mailing.key}' => 'Mailing key',
+      '{mailing.name}' => 'Mailing name',
+      '{mailing.group}' => 'Mailing group',
+      '{mailing.viewUrl}' => 'Mailing permalink',
       '{domain.name}' => 'Domain name',
       '{domain.address}' => 'Domain (organization) address',
       '{domain.phone}' => 'Domain (organization) phone',
       '{domain.email}' => 'Domain (organization) email',
-      '{mailing.name}' => 'Mailing name',
-      '{mailing.group}' => 'Mailing group',
-      '{mailing.viewUrl}' => 'Mailing permalink',
-      '{contact.contact_type}' => 'Contact Type',
-      '{contact.do_not_email}' => 'Do Not Email',
-      '{contact.do_not_phone}' => 'Do Not Phone',
-      '{contact.do_not_mail}' => 'Do Not Mail',
-      '{contact.do_not_sms}' => 'Do Not Sms',
-      '{contact.do_not_trade}' => 'Do Not Trade',
-      '{contact.is_opt_out}' => 'No Bulk Emails (User Opt Out)',
+      '{domain.id}' => 'Domain ID',
+      '{domain.description}' => 'Domain Description',
+      '{domain.now}' => 'Current time/date',
+      '{domain.tax_term}' => 'Sales tax term (e.g VAT)',
+      '{contact.checksum}' => 'Checksum',
+      '{contact.current_employer}' => 'Current Employer',
+      '{contact.world_region}' => 'World Region',
+      '{contact.id}' => 'Contact ID',
+      '{contact.contact_type:label}' => 'Contact Type',
+      '{contact.do_not_email:label}' => 'Do Not Email',
+      '{contact.do_not_phone:label}' => 'Do Not Phone',
+      '{contact.do_not_mail:label}' => 'Do Not Mail',
+      '{contact.do_not_sms:label}' => 'Do Not Sms',
+      '{contact.do_not_trade:label}' => 'Do Not Trade',
+      '{contact.is_opt_out:label}' => 'No Bulk Emails (User Opt Out)',
       '{contact.external_identifier}' => 'External Identifier',
       '{contact.sort_name}' => 'Sort Name',
       '{contact.display_name}' => 'Display Name',
       '{contact.nick_name}' => 'Nickname',
       '{contact.image_URL}' => 'Image Url',
-      '{contact.preferred_communication_method}' => 'Preferred Communication Method',
-      '{contact.preferred_language}' => 'Preferred Language',
-      '{contact.preferred_mail_format}' => 'Preferred Mail Format',
+      '{contact.preferred_communication_method:label}' => 'Preferred Communication Method',
+      '{contact.preferred_language:label}' => 'Preferred Language',
+      '{contact.preferred_mail_format:label}' => 'Preferred Mail Format',
       '{contact.hash}' => 'Contact Hash',
-      '{contact.contact_source}' => 'Contact Source',
+      '{contact.source}' => 'Contact Source',
       '{contact.first_name}' => 'First Name',
       '{contact.middle_name}' => 'Middle Name',
       '{contact.last_name}' => 'Last Name',
       '{contact.prefix_id:label}' => 'Individual Prefix',
       '{contact.suffix_id:label}' => 'Individual Suffix',
       '{contact.formal_title}' => 'Formal Title',
-      '{contact.communication_style}' => 'Communication Style',
-      '{contact.email_greeting_id}' => 'Email Greeting ID',
-      '{contact.postal_greeting_id}' => 'Postal Greeting ID',
-      '{contact.addressee_id}' => 'Addressee ID',
+      '{contact.communication_style_id:label}' => 'Communication Style',
+      '{contact.email_greeting_display}' => 'Email Greeting',
+      '{contact.postal_greeting_display}' => 'Postal Greeting',
+      '{contact.addressee_display}' => 'Addressee',
       '{contact.job_title}' => 'Job Title',
-      '{contact.gender}' => 'Gender',
+      '{contact.gender_id:label}' => 'Gender',
       '{contact.birth_date}' => 'Birth Date',
-      '{contact.current_employer_id}' => 'Current Employer ID',
-      '{contact.contact_is_deleted}' => 'Contact is in Trash',
+      '{contact.employer_id}' => 'Current Employer ID',
+      '{contact.is_deleted:label}' => 'Contact is in Trash',
       '{contact.created_date}' => 'Created Date',
       '{contact.modified_date}' => 'Modified Date',
-      '{contact.addressee}' => 'Addressee',
-      '{contact.email_greeting}' => 'Email Greeting',
-      '{contact.postal_greeting}' => 'Postal Greeting',
-      '{contact.current_employer}' => 'Current Employer',
-      '{contact.location_type}' => 'Location Type',
+      '{contact.address_id}' => 'Address ID',
+      '{contact.location_type_id:label}' => 'Address Location Type',
       '{contact.street_address}' => 'Street Address',
       '{contact.street_number}' => 'Street Number',
       '{contact.street_number_suffix}' => 'Street Number Suffix',
@@ -112,30 +123,26 @@ function mailing_gettokens_expectedresult() {
       '{contact.supplemental_address_2}' => 'Supplemental Address 2',
       '{contact.supplemental_address_3}' => 'Supplemental Address 3',
       '{contact.city}' => 'City',
+      '{contact.county}' => 'County',
       '{contact.postal_code_suffix}' => 'Postal Code Suffix',
       '{contact.postal_code}' => 'Postal Code',
+      '{contact.country}' => 'Country',
       '{contact.geo_code_1}' => 'Latitude',
       '{contact.geo_code_2}' => 'Longitude',
-      '{contact.manual_geo_code}' => 'Is Manually Geocoded',
       '{contact.address_name}' => 'Address Name',
-      '{contact.master_id}' => 'Master Address Belongs To',
-      '{contact.county}' => 'County',
-      '{contact.state_province}' => 'State',
-      '{contact.country}' => 'Country',
+      '{contact.master_id}' => 'Master Address ID',
       '{contact.phone}' => 'Phone',
       '{contact.phone_ext}' => 'Phone Extension',
-      '{contact.phone_type_id}' => 'Phone Type',
+      '{contact.phone_type}' => 'Phone Type',
       '{contact.email}' => 'Email',
-      '{contact.on_hold}' => 'On Hold',
+      '{contact.on_hold:label}' => 'On Hold',
       '{contact.signature_text}' => 'Signature Text',
       '{contact.signature_html}' => 'Signature Html',
-      '{contact.im_provider}' => 'IM Provider',
-      '{contact.im}' => 'IM Screen Name',
-      '{contact.openid}' => 'OpenID',
-      '{contact.world_region}' => 'World Region',
       '{contact.url}' => 'Website',
-      '{contact.checksum}' => 'Checksum',
-      '{contact.contact_id}' => 'Internal Contact ID',
+      '{contact.openid}' => 'OpenID',
+      '{contact.im}' => 'IM Screen Name',
+      '{contact.provider_id:label}' => 'IM Provider',
+      '{contact.state_province}' => 'State/Province',
     ],
   ];
 
@@ -143,23 +150,23 @@ function mailing_gettokens_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMailGetTokens"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMailGetTokens"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Mailing/Submit.ex.php b/civicrm/api/v3/examples/Mailing/Submit.ex.php
index 059ac070e757e318086a7f75a281e96c0a159c9c..067a0ebf236a4d00fa20ce71d3391c64df67f80a 100644
--- a/civicrm/api/v3/examples/Mailing/Submit.ex.php
+++ b/civicrm/api/v3/examples/Mailing/Submit.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Mailing.submit API.
  *
@@ -9,10 +14,10 @@ function mailing_submit_example() {
   $params = [
     'scheduled_date' => '2014-12-13 10:00:00',
     'approval_date' => '2014-12-13 00:00:00',
-    'id' => 22,
+    'id' => 23,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Mailing', 'submit', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,13 +48,13 @@ function mailing_submit_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 22,
+    'id' => 23,
     'values' => [
-      '22' => [
-        'id' => '22',
+      '23' => [
+        'id' => '23',
         'domain_id' => '1',
         'header_id' => '',
-        'footer_id' => '31',
+        'footer_id' => '33',
         'reply_id' => '8',
         'unsubscribe_id' => '5',
         'resubscribe_id' => '6',
@@ -73,12 +78,12 @@ https://civicrm.org
         'is_completed' => '',
         'msg_template_id' => '',
         'override_verp' => '1',
-        'created_id' => '45',
+        'created_id' => '48',
         'created_date' => '2013-07-28 08:49:19',
         'modified_date' => '2012-11-14 16:02:35',
-        'scheduled_id' => '46',
+        'scheduled_id' => '49',
         'scheduled_date' => '20130728085413',
-        'approver_id' => '46',
+        'approver_id' => '49',
         'approval_date' => '20130728085413',
         'approval_status_id' => '1',
         'approval_note' => '',
@@ -99,23 +104,23 @@ https://civicrm.org
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMailerSubmit"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMailerSubmit"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MailingAB/Create.ex.php b/civicrm/api/v3/examples/MailingAB/Create.ex.php
index 8a53d6ca71403ee0b606421e7ba40413f85157fc..8064520b84ce78786d5654c54dbb8fe8b51b898d 100644
--- a/civicrm/api/v3/examples/MailingAB/Create.ex.php
+++ b/civicrm/api/v3/examples/MailingAB/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MailingAB.create API.
  *
@@ -16,7 +21,7 @@ function mailing_a_b_create_example() {
     'group_percentage' => 10,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MailingAB', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -60,7 +65,7 @@ function mailing_a_b_create_expectedresult() {
         'testing_criteria' => 'subject',
         'winner_criteria' => 'open',
         'specific_url' => '',
-        'declare_winning_time' => '20190822192332',
+        'declare_winning_time' => '20220119125416',
         'group_percentage' => '10',
         'created_id' => '3',
         'created_date' => '2013-07-28 08:49:19',
@@ -72,23 +77,23 @@ function mailing_a_b_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMailingABCreateSuccess"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingABTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMailingABCreateSuccess"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingABTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MailingEventSubscribe/Create.ex.php b/civicrm/api/v3/examples/MailingEventSubscribe/Create.ex.php
index 01a5127b752eac178f8e7ae6702ab0f78293eb40..c466adee7b2470d7111c7e9e96ed94734d72e079 100644
--- a/civicrm/api/v3/examples/MailingEventSubscribe/Create.ex.php
+++ b/civicrm/api/v3/examples/MailingEventSubscribe/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MailingEventSubscribe.create API.
  *
@@ -14,7 +19,7 @@ function mailing_event_subscribe_create_example() {
     'time_stamp' => '20101212121212',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MailingEventSubscribe', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -59,23 +64,23 @@ function mailing_event_subscribe_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMailerGroupSubscribeGivenContactId"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMailerGroupSubscribeGivenContactId"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MailingGroup/Subscribe.ex.php b/civicrm/api/v3/examples/MailingGroup/Subscribe.ex.php
index 50c0a7ab9cf74c65e91d66e5c76542c62a29580c..bfe0799b376bc5e3083b3aece9f1e82975e55470 100644
--- a/civicrm/api/v3/examples/MailingGroup/Subscribe.ex.php
+++ b/civicrm/api/v3/examples/MailingGroup/Subscribe.ex.php
@@ -1,8 +1,12 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example of using mailing_group subscribe API.
  *
- *
  * @return array
  *   API result array
  */
@@ -15,7 +19,7 @@ function mailing_group_subscribe_example() {
     'time_stamp' => '20101212121212',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('mailing_group', 'subscribe', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -63,7 +67,7 @@ function mailing_group_subscribe_expectedresult() {
 * The test that created it is called
 * testMailerGroupSubscribeGivenContactId
 * and can be found in
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingGroupTest.php
+* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingGroupTest.php.
 *
 * You can see the outcome of the API tests at
 * https://test.civicrm.org/job/CiviCRM-master-git/
diff --git a/civicrm/api/v3/examples/Mapping/Create.ex.php b/civicrm/api/v3/examples/Mapping/Create.ex.php
index 4d5258489b12c0441aafa5c46c0a867329db923e..630db22863f3ba2a88babaec546058c512f3c14f 100644
--- a/civicrm/api/v3/examples/Mapping/Create.ex.php
+++ b/civicrm/api/v3/examples/Mapping/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Mapping.create API.
  *
@@ -12,7 +17,7 @@ function mapping_create_example() {
     'mapping_type_id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Mapping', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,23 +63,23 @@ function mapping_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateMapping"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateMapping"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Mapping/Delete.ex.php b/civicrm/api/v3/examples/Mapping/Delete.ex.php
index 33529d7cb3861fc1d7b5f17bd85ef4f7e4d8ea22..441b55c838e5802d243d957db00dd8549c2c77d3 100644
--- a/civicrm/api/v3/examples/Mapping/Delete.ex.php
+++ b/civicrm/api/v3/examples/Mapping/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Mapping.delete API.
  *
@@ -10,7 +15,7 @@ function mapping_delete_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Mapping', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function mapping_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteMapping"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteMapping"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Mapping/Get.ex.php b/civicrm/api/v3/examples/Mapping/Get.ex.php
index 96161bb1d3585641df0340006c3499f81de155c5..25990981791259fba3d0e8dfe2bf552b1978b602 100644
--- a/civicrm/api/v3/examples/Mapping/Get.ex.php
+++ b/civicrm/api/v3/examples/Mapping/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Mapping.get API.
  *
@@ -12,7 +17,7 @@ function mapping_get_example() {
     'mapping_type_id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Mapping', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,23 +63,23 @@ function mapping_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetMapping"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetMapping"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MappingField/Create.ex.php b/civicrm/api/v3/examples/MappingField/Create.ex.php
index 2841970b27864f779cf503719a861a038c94ea79..0ba7a34fa79a0a04ed9ea3474daede8cecbed87c 100644
--- a/civicrm/api/v3/examples/MappingField/Create.ex.php
+++ b/civicrm/api/v3/examples/MappingField/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MappingField.create API.
  *
@@ -14,7 +19,7 @@ function mapping_field_create_example() {
     'grouping' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MappingField', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -70,23 +75,23 @@ function mapping_field_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateMappingField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateMappingField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MappingField/Delete.ex.php b/civicrm/api/v3/examples/MappingField/Delete.ex.php
index 0dad4e6fd5c30d4e2ce80520c75226216c7ed2c6..3faab7c636a9f98515c4a3278b7b1df38217e7ba 100644
--- a/civicrm/api/v3/examples/MappingField/Delete.ex.php
+++ b/civicrm/api/v3/examples/MappingField/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MappingField.delete API.
  *
@@ -10,7 +15,7 @@ function mapping_field_delete_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MappingField', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function mapping_field_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteMappingField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteMappingField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MappingField/Get.ex.php b/civicrm/api/v3/examples/MappingField/Get.ex.php
index a2fa16de315086a676185092aed6fa7be452e109..ee39aa1edcb679ab93df58da6778e2ad2bfe0c94 100644
--- a/civicrm/api/v3/examples/MappingField/Get.ex.php
+++ b/civicrm/api/v3/examples/MappingField/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MappingField.get API.
  *
@@ -14,7 +19,7 @@ function mapping_field_get_example() {
     'grouping' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MappingField', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -62,23 +67,23 @@ function mapping_field_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetMappingField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetMappingField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Membership/Create.ex.php b/civicrm/api/v3/examples/Membership/Create.ex.php
index 091043fb855a5cd37b34f32a773400bd457a2036..ad4357b6c91216170e08ae2203a2323bfbe68c61 100644
--- a/civicrm/api/v3/examples/Membership/Create.ex.php
+++ b/civicrm/api/v3/examples/Membership/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Membership.create API.
  *
@@ -14,10 +19,10 @@ function membership_create_example() {
     'end_date' => '2006-12-21',
     'source' => 'Payment',
     'is_override' => 1,
-    'status_id' => 31,
+    'status_id' => 33,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Membership', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,7 +63,7 @@ function membership_create_expectedresult() {
         'start_date' => '2013-07-29 00:00:00',
         'end_date' => '2013-08-04 00:00:00',
         'source' => 'Payment',
-        'status_id' => '31',
+        'status_id' => '33',
         'is_override' => '1',
         'status_override_end_date' => '',
         'owner_membership_id' => '',
@@ -75,23 +80,23 @@ function membership_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMembershipCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMembershipCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Membership/CreateWithCustomData.ex.php b/civicrm/api/v3/examples/Membership/CreateWithCustomData.ex.php
index 8a108197c9d629657b75c8e780c7cc0f71fb762b..c37523e8883df54d117505d0711f7259f26dc9da 100644
--- a/civicrm/api/v3/examples/Membership/CreateWithCustomData.ex.php
+++ b/civicrm/api/v3/examples/Membership/CreateWithCustomData.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Membership.create API.
  *
@@ -8,7 +13,7 @@
 function membership_create_example() {
   $params = [
     'contact_id' => 3,
-    'membership_type_id' => 1,
+    'membership_type_id' => 'General',
     'join_date' => '2009-01-21',
     'start_date' => '2009-01-21',
     'end_date' => '2009-12-21',
@@ -18,7 +23,7 @@ function membership_create_example() {
     'custom_1' => 'custom string',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Membership', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -76,23 +81,23 @@ function membership_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateWithCustom"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateWithCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Membership/Delete.ex.php b/civicrm/api/v3/examples/Membership/Delete.ex.php
index fdc16636eb45a1d65faf7684cf27f187dbcc8f26..d11b0d07938f77077c4367ff386262b713d47b99 100644
--- a/civicrm/api/v3/examples/Membership/Delete.ex.php
+++ b/civicrm/api/v3/examples/Membership/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Membership.delete API.
  *
@@ -11,7 +16,7 @@ function membership_delete_example() {
     'preserve_contribution' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Membership', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,23 +54,23 @@ function membership_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMembershipDeletePreserveContribution"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMembershipDeletePreserveContribution"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Membership/FilterIsCurrent.ex.php b/civicrm/api/v3/examples/Membership/FilterIsCurrent.ex.php
index fba84157ee99b505d0f70b605dcb5cbc23f006c5..f0efeea0006e23d4f9b05efcf80478b6441bbddb 100644
--- a/civicrm/api/v3/examples/Membership/FilterIsCurrent.ex.php
+++ b/civicrm/api/v3/examples/Membership/FilterIsCurrent.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Membership.get API.
  *
@@ -15,7 +20,7 @@ function membership_get_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Membership', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -70,23 +75,23 @@ function membership_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetOnlyActive"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetOnlyActive"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Membership/Get.ex.php b/civicrm/api/v3/examples/Membership/Get.ex.php
index 1fb614344e7396a02ebca00178d460627f57d97a..98d76362c4bf24d7d4d1b56a20470e24bbb1c059 100644
--- a/civicrm/api/v3/examples/Membership/Get.ex.php
+++ b/civicrm/api/v3/examples/Membership/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Membership.get API.
  *
@@ -7,10 +12,11 @@
  */
 function membership_get_example() {
   $params = [
-    'membership_type_id' => 1,
+    'membership_type_id' => 'General',
+    'return' => 'custom_1',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Membership', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -45,20 +51,7 @@ function membership_get_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '3',
-        'membership_type_id' => '1',
-        'join_date' => '2009-01-21',
-        'start_date' => '2013-07-29 00:00:00',
-        'end_date' => '2013-08-04 00:00:00',
-        'source' => 'Payment',
-        'status_id' => '20',
-        'is_override' => '1',
-        'is_test' => 0,
-        'is_pay_later' => 0,
         'custom_1' => 'custom string',
-        'membership_name' => 'General',
-        'relationship_name' => 'Child of',
-        'custom_1_1' => 'custom string',
       ],
     ],
   ];
@@ -67,23 +60,23 @@ function membership_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetWithParamsMemberShipIdAndCustom"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetWithParamsMemberShipIdAndCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Membership/SearchWithCustomData.ex.php b/civicrm/api/v3/examples/Membership/SearchWithCustomData.ex.php
index b287131e78fb09add8455fc2bd3ada06a11bc4aa..900e2b4f388ca20b0f66c0ca98975002ce2d641d 100644
--- a/civicrm/api/v3/examples/Membership/SearchWithCustomData.ex.php
+++ b/civicrm/api/v3/examples/Membership/SearchWithCustomData.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Membership.create API.
  *
@@ -8,7 +13,7 @@
 function membership_create_example() {
   $params = [
     'contact_id' => 3,
-    'membership_type_id' => 1,
+    'membership_type_id' => 'General',
     'join_date' => '2009-01-21',
     'start_date' => '2009-01-21',
     'end_date' => '2009-12-21',
@@ -17,7 +22,7 @@ function membership_create_example() {
     'status_id' => 36,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Membership', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -75,23 +80,23 @@ function membership_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testSearchWithCustomDataCRM16036"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testSearchWithCustomDataCRM16036"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Membership/UpdateCustomData.ex.php b/civicrm/api/v3/examples/Membership/UpdateCustomData.ex.php
index 243c5968ca91c888d42a0e2470e00a8883043b3b..f21a17757df900c78b8ffa0735b2741ee125cdc7 100644
--- a/civicrm/api/v3/examples/Membership/UpdateCustomData.ex.php
+++ b/civicrm/api/v3/examples/Membership/UpdateCustomData.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Membership.create API.
  *
@@ -8,17 +13,17 @@
 function membership_create_example() {
   $params = [
     'contact_id' => 3,
-    'membership_type_id' => 1,
+    'membership_type_id' => 'General',
     'join_date' => '2009-01-21',
     'start_date' => '2009-01-21',
     'end_date' => '2009-12-21',
     'source' => 'Payment',
     'is_override' => 1,
-    'status_id' => 42,
+    'status_id' => 43,
     'custom_1' => 'custom string',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Membership', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -59,7 +64,7 @@ function membership_create_expectedresult() {
         'start_date' => '2013-07-29 00:00:00',
         'end_date' => '2013-08-04 00:00:00',
         'source' => 'Payment',
-        'status_id' => '42',
+        'status_id' => '43',
         'is_override' => '1',
         'status_override_end_date' => '',
         'owner_membership_id' => '',
@@ -76,23 +81,23 @@ function membership_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testUpdateWithCustom"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testUpdateWithCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MembershipPayment/Create.ex.php b/civicrm/api/v3/examples/MembershipPayment/Create.ex.php
index 5cf4a9ee2776c1503e0f3189f4eceb27794b8140..73d21e41b471e487112d4ed7a11b7cea7cb45864 100644
--- a/civicrm/api/v3/examples/MembershipPayment/Create.ex.php
+++ b/civicrm/api/v3/examples/MembershipPayment/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MembershipPayment.create API.
  *
@@ -11,7 +16,7 @@ function membership_payment_create_example() {
     'membership_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MembershipPayment', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -56,23 +61,23 @@ function membership_payment_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipPaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipPaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MembershipPayment/Get.ex.php b/civicrm/api/v3/examples/MembershipPayment/Get.ex.php
index fa8c03591c175dfd136d42c7c541eeefb9f229cd..0f0043af14e5c239d5c3eee618e6bc6568dadcef 100644
--- a/civicrm/api/v3/examples/MembershipPayment/Get.ex.php
+++ b/civicrm/api/v3/examples/MembershipPayment/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MembershipPayment.get API.
  *
@@ -7,11 +12,11 @@
  */
 function membership_payment_get_example() {
   $params = [
-    'contribution_id' => 4,
+    'contribution_id' => 3,
     'membership_id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MembershipPayment', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -47,7 +52,7 @@ function membership_payment_get_expectedresult() {
       '2' => [
         'id' => '2',
         'membership_id' => '2',
-        'contribution_id' => '4',
+        'contribution_id' => '3',
       ],
     ],
   ];
@@ -56,23 +61,23 @@ function membership_payment_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipPaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipPaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MembershipStatus/Create.ex.php b/civicrm/api/v3/examples/MembershipStatus/Create.ex.php
index 62b129aa521324b30087df70a7172bb37ab595e0..fa9510a99a7295772e72becdfc6a1956f4998c8f 100644
--- a/civicrm/api/v3/examples/MembershipStatus/Create.ex.php
+++ b/civicrm/api/v3/examples/MembershipStatus/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MembershipStatus.create API.
  *
@@ -10,7 +15,7 @@ function membership_status_create_example() {
     'name' => 'test membership status',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MembershipStatus', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -67,23 +72,23 @@ function membership_status_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipStatusTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipStatusTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MembershipStatus/Get.ex.php b/civicrm/api/v3/examples/MembershipStatus/Get.ex.php
index f31da82b9149a4e85a29a61e32ff918860e0f374..6039ecb36750d4805de4f395eaf1be294ee1c62a 100644
--- a/civicrm/api/v3/examples/MembershipStatus/Get.ex.php
+++ b/civicrm/api/v3/examples/MembershipStatus/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MembershipStatus.get API.
  *
@@ -10,7 +15,7 @@ function membership_status_get_example() {
     'name' => 'test status',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MembershipStatus', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -62,23 +67,23 @@ function membership_status_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipStatusTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipStatusTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MembershipType/Create.ex.php b/civicrm/api/v3/examples/MembershipType/Create.ex.php
index b3adad90709ec133fc72b0c6fffaeb11528f993a..3939701e8fd588372c084ab86a00ff8b19df92e6 100644
--- a/civicrm/api/v3/examples/MembershipType/Create.ex.php
+++ b/civicrm/api/v3/examples/MembershipType/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MembershipType.create API.
  *
@@ -9,7 +14,7 @@ function membership_type_create_example() {
   $params = [
     'name' => '40+ Membership',
     'description' => 'people above 40 are given health instructions',
-    'member_of_contact_id' => 7,
+    'member_of_contact_id' => 11,
     'financial_type_id' => 1,
     'domain_id' => '1',
     'minimum_fee' => '200',
@@ -19,7 +24,7 @@ function membership_type_create_example() {
     'visibility' => 'public',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MembershipType', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -50,14 +55,14 @@ function membership_type_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 3,
     'values' => [
-      '2' => [
-        'id' => '2',
+      '3' => [
+        'id' => '3',
         'domain_id' => '1',
         'name' => '40+ Membership',
         'description' => 'people above 40 are given health instructions',
-        'member_of_contact_id' => '7',
+        'member_of_contact_id' => '11',
         'financial_type_id' => '1',
         'minimum_fee' => '200',
         'duration_unit' => 'month',
@@ -83,23 +88,23 @@ function membership_type_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MembershipType/Delete.ex.php b/civicrm/api/v3/examples/MembershipType/Delete.ex.php
index 810c7b062dbb11009e178769479d85c8ca4b677c..e64a2705b5092c4e858a38250f7ce518373233a9 100644
--- a/civicrm/api/v3/examples/MembershipType/Delete.ex.php
+++ b/civicrm/api/v3/examples/MembershipType/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MembershipType.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function membership_type_delete_example() {
   $params = [
-    'id' => 5,
+    'id' => 10,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MembershipType', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function membership_type_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MembershipType/Get.ex.php b/civicrm/api/v3/examples/MembershipType/Get.ex.php
index 35770ea494d1e3be35faccd0b847bff62210d5e8..2c403d858ad608d346bc22377e2e8ac276382d69 100644
--- a/civicrm/api/v3/examples/MembershipType/Get.ex.php
+++ b/civicrm/api/v3/examples/MembershipType/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MembershipType.get API.
  *
@@ -10,7 +15,7 @@ function membership_type_get_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MembershipType', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -47,7 +52,7 @@ function membership_type_get_expectedresult() {
         'id' => '1',
         'domain_id' => '1',
         'name' => 'General',
-        'member_of_contact_id' => '4',
+        'member_of_contact_id' => '5',
         'financial_type_id' => '2',
         'minimum_fee' => '0.000000000',
         'duration_unit' => 'year',
@@ -65,23 +70,23 @@ function membership_type_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MessageTemplate/Create.ex.php b/civicrm/api/v3/examples/MessageTemplate/Create.ex.php
index 293e6da69f3cc40a2cf3d9645f9e08b25c24b92c..72102eda2ed5ec18c0988fdce2ad52b21550bdfa 100644
--- a/civicrm/api/v3/examples/MessageTemplate/Create.ex.php
+++ b/civicrm/api/v3/examples/MessageTemplate/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MessageTemplate.create API.
  *
@@ -7,16 +12,16 @@
  */
 function message_template_create_example() {
   $params = [
-    'msg_title' => 'msg_title_471',
-    'msg_subject' => 'msg_subject_471',
-    'msg_text' => 'msg_text_471',
-    'msg_html' => 'msg_html_471',
-    'workflow_id' => 471,
+    'msg_title' => 'msg_title_356',
+    'msg_subject' => 'msg_subject_356',
+    'msg_text' => 'msg_text_356',
+    'msg_html' => 'msg_html_356',
+    'workflow_id' => 356,
     'is_default' => '1',
-    'is_reserved' => 1,
+    'is_reserved' => 0,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MessageTemplate', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,14 +56,15 @@ function message_template_create_expectedresult() {
     'values' => [
       '69' => [
         'id' => '69',
-        'msg_title' => 'msg_title_471',
-        'msg_subject' => 'msg_subject_471',
-        'msg_text' => 'msg_text_471',
-        'msg_html' => 'msg_html_471',
+        'msg_title' => 'msg_title_356',
+        'msg_subject' => 'msg_subject_356',
+        'msg_text' => 'msg_text_356',
+        'msg_html' => 'msg_html_356',
         'is_active' => '1',
-        'workflow_id' => '471',
+        'workflow_id' => '356',
+        'workflow_name' => '',
         'is_default' => '1',
-        'is_reserved' => '1',
+        'is_reserved' => 0,
         'is_sms' => '',
         'pdf_format_id' => '',
       ],
@@ -69,23 +75,23 @@ function message_template_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MessageTemplateTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MessageTemplateTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MessageTemplate/Delete.ex.php b/civicrm/api/v3/examples/MessageTemplate/Delete.ex.php
index 5829e0df6c940c5e6a8a26d649889913b8ac3cc1..99192c78747c2f6fc7c6ec6fe3d84c3f196d9e50 100644
--- a/civicrm/api/v3/examples/MessageTemplate/Delete.ex.php
+++ b/civicrm/api/v3/examples/MessageTemplate/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MessageTemplate.delete API.
  *
@@ -10,7 +15,7 @@ function message_template_delete_example() {
     'id' => 72,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MessageTemplate', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function message_template_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MessageTemplateTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MessageTemplateTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MessageTemplate/Get.ex.php b/civicrm/api/v3/examples/MessageTemplate/Get.ex.php
index 9874c57f2e77ea178612b1e295879ff87ab273c4..6763b823e2a3e2cd57570ce8e7cad05eeacc87d0 100644
--- a/civicrm/api/v3/examples/MessageTemplate/Get.ex.php
+++ b/civicrm/api/v3/examples/MessageTemplate/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MessageTemplate.get API.
  *
@@ -7,16 +12,16 @@
  */
 function message_template_get_example() {
   $params = [
-    'msg_title' => 'msg_title_472',
-    'msg_subject' => 'msg_subject_472',
-    'msg_text' => 'msg_text_472',
-    'msg_html' => 'msg_html_472',
-    'workflow_name' => 'contribution_online_invoice',
+    'msg_title' => 'msg_title_357',
+    'msg_subject' => 'msg_subject_357',
+    'msg_text' => 'msg_text_357',
+    'msg_html' => 'msg_html_357',
+    'workflow_id' => 357,
     'is_default' => '1',
-    'is_reserved' => 1,
+    'is_reserved' => 0,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MessageTemplate', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,16 +56,17 @@ function message_template_get_expectedresult() {
     'values' => [
       '70' => [
         'id' => '70',
-        'msg_title' => 'msg_title_472',
-        'msg_subject' => 'msg_subject_472',
-        'msg_text' => 'msg_text_472',
-        'msg_html' => 'msg_html_472',
+        'msg_title' => 'msg_title_357',
+        'msg_subject' => 'msg_subject_357',
+        'msg_text' => 'msg_text_357',
+        'msg_html' => 'msg_html_357',
         'is_active' => '1',
-        'workflow_id' => '472',
+        'workflow_id' => '357',
+        'workflow_name' => 'workflow_name_357',
         'is_default' => '1',
-        'is_reserved' => '1',
+        'is_reserved' => 0,
         'is_sms' => 0,
-        'pdf_format_id' => '472',
+        'pdf_format_id' => '357',
       ],
     ],
   ];
@@ -69,23 +75,23 @@ function message_template_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MessageTemplateTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MessageTemplateTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Note/Create.ex.php b/civicrm/api/v3/examples/Note/Create.ex.php
index 8e3cd49991fbd9da79502185140a8600fa1f9c47..d56eb91842f1f5d8d6c1b647930588d73837ded1 100644
--- a/civicrm/api/v3/examples/Note/Create.ex.php
+++ b/civicrm/api/v3/examples/Note/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Note.create API.
  *
@@ -11,11 +16,13 @@ function note_create_example() {
     'entity_id' => 15,
     'note' => 'Hello!!! m testing Note',
     'contact_id' => 15,
+    'created_date' => '2012-01-17 13:04:50',
+    'note_date' => '2012-01-17 13:04:50',
     'modified_date' => '2011-01-31',
     'subject' => 'Test Note',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Note', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -54,6 +61,8 @@ function note_create_expectedresult() {
         'entity_id' => '15',
         'note' => 'Hello!!! m testing Note',
         'contact_id' => '15',
+        'note_date' => '20120117130450',
+        'created_date' => '2013-07-28 08:49:19',
         'modified_date' => '2012-11-14 16:02:35',
         'subject' => 'Test Note',
         'privacy' => 0,
@@ -65,23 +74,23 @@ function note_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/NoteTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/NoteTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Note/Delete.ex.php b/civicrm/api/v3/examples/Note/Delete.ex.php
index cec6389e29c1ab3774b3e8e5c3573419af573f92..808d1eb5bca6cb195de2ed2c4c121806b86ebb64 100644
--- a/civicrm/api/v3/examples/Note/Delete.ex.php
+++ b/civicrm/api/v3/examples/Note/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Note.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function note_delete_example() {
   $params = [
-    'id' => 32,
+    'id' => 35,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Note', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function note_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/NoteTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/NoteTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Note/Get.ex.php b/civicrm/api/v3/examples/Note/Get.ex.php
index 17e84a67a2e9128cb5e9e3af628df699465a95fe..487285a99220775d221712713754f2f203999ee2 100644
--- a/civicrm/api/v3/examples/Note/Get.ex.php
+++ b/civicrm/api/v3/examples/Note/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Note.get API.
  *
@@ -11,7 +16,7 @@ function note_get_example() {
     'entity_id' => 5,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Note', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,23 +54,23 @@ function note_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/NoteTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/NoteTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/OpenID/Create.ex.php b/civicrm/api/v3/examples/OpenID/Create.ex.php
index 03244878a43e4ee6787f06f766d6aca3e7fa74d9..578297d5cdaed1251fae4cbf84ccc6b8f70f1100 100644
--- a/civicrm/api/v3/examples/OpenID/Create.ex.php
+++ b/civicrm/api/v3/examples/OpenID/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the OpenID.create API.
  *
@@ -9,9 +14,10 @@ function open_i_d_create_example() {
   $params = [
     'contact_id' => 5,
     'openid' => 'My OpenID handle',
+    'sequential' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('OpenID', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,15 +48,15 @@ function open_i_d_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 3,
     'values' => [
-      '2' => [
-        'id' => '2',
+      '0' => [
+        'id' => '3',
         'contact_id' => '5',
         'location_type_id' => '1',
         'openid' => 'My OpenID handle',
         'allowed_to_login' => '',
-        'is_primary' => '',
+        'is_primary' => '1',
       ],
     ],
   ];
@@ -59,23 +65,23 @@ function open_i_d_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateOpenIDDefaultLocation"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OpenIDTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateOpenIDDefaultLocation"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OpenIDTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/OpenID/Delete.ex.php b/civicrm/api/v3/examples/OpenID/Delete.ex.php
index 8c7318d8365bcc95ea5a825b3cd64111b583e17e..b5665d682080f9717829c32bd54f5a16fadd49a2 100644
--- a/civicrm/api/v3/examples/OpenID/Delete.ex.php
+++ b/civicrm/api/v3/examples/OpenID/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the OpenID.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function open_i_d_delete_example() {
   $params = [
-    'id' => 4,
+    'id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('OpenID', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function open_i_d_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteOpenID"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OpenIDTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteOpenID"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OpenIDTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/OpenID/Get.ex.php b/civicrm/api/v3/examples/OpenID/Get.ex.php
index 9a2da402ed120a5d76499f5c870eb7da35f54b2e..e820524707f1848286d7f5c7e6d6790e04f652e9 100644
--- a/civicrm/api/v3/examples/OpenID/Get.ex.php
+++ b/civicrm/api/v3/examples/OpenID/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the OpenID.get API.
  *
@@ -10,9 +15,10 @@ function open_i_d_get_example() {
     'contact_id' => 7,
     'openid' => 'My OpenID handle',
     'location_type_id' => 1,
+    'sequential' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('OpenID', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,15 +49,15 @@ function open_i_d_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 5,
     'values' => [
-      '3' => [
-        'id' => '3',
+      '0' => [
+        'id' => '5',
         'contact_id' => '7',
         'location_type_id' => '1',
         'openid' => 'My OpenID handle',
         'allowed_to_login' => 0,
-        'is_primary' => 0,
+        'is_primary' => '1',
       ],
     ],
   ];
@@ -60,23 +66,23 @@ function open_i_d_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetOpenID"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OpenIDTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetOpenID"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OpenIDTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/OptionGroup/Create.ex.php b/civicrm/api/v3/examples/OptionGroup/Create.ex.php
index 109b81d4d21eb51336d7bb1c2ad3b9e7acbbd652..54a7c59a94bcc1897202d1b50cc22e5847edd3a6 100644
--- a/civicrm/api/v3/examples/OptionGroup/Create.ex.php
+++ b/civicrm/api/v3/examples/OptionGroup/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the OptionGroup.create API.
  *
@@ -20,7 +25,7 @@ function option_group_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('OptionGroup', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -62,7 +67,7 @@ function option_group_create_expectedresult() {
         'is_reserved' => '1',
         'is_active' => '1',
         'is_locked' => '',
-        'api.OptionValue.create' => 869,
+        'api.OptionValue.create' => 859,
       ],
     ],
   ];
@@ -71,23 +76,23 @@ function option_group_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetOptionCreateSuccess"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetOptionCreateSuccess"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/OptionGroup/Delete.ex.php b/civicrm/api/v3/examples/OptionGroup/Delete.ex.php
index 7871a5b8b2e22b956c0cb397286d09aa7620661d..a80ceafe842e91a99f0994e410fc24302769dd85 100644
--- a/civicrm/api/v3/examples/OptionGroup/Delete.ex.php
+++ b/civicrm/api/v3/examples/OptionGroup/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the OptionGroup.delete API.
  *
@@ -10,7 +15,7 @@ function option_group_delete_example() {
     'id' => 101,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('OptionGroup', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function option_group_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteOptionGroup"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteOptionGroup"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/OptionGroup/Get.ex.php b/civicrm/api/v3/examples/OptionGroup/Get.ex.php
index a17a22183d3ecd3e156dfe345c90bc9b063d103a..3cce49a7340a8fc059f7a72f1dbadbefc0513f70 100644
--- a/civicrm/api/v3/examples/OptionGroup/Get.ex.php
+++ b/civicrm/api/v3/examples/OptionGroup/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the OptionGroup.get API.
  *
@@ -10,7 +15,7 @@ function option_group_get_example() {
     'name' => 'preferred_communication_method',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('OptionGroup', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,23 +63,23 @@ function option_group_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetOptionGroupByName"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetOptionGroupByName"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/OptionValue/Get.ex.php b/civicrm/api/v3/examples/OptionValue/Get.ex.php
index f7158fc0695bb0943b753044c66733f904a34308..99ead82657b9f4b17d29bd36b75a4abbaebc2703 100644
--- a/civicrm/api/v3/examples/OptionValue/Get.ex.php
+++ b/civicrm/api/v3/examples/OptionValue/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the OptionValue.get API.
  *
@@ -10,7 +15,7 @@ function option_value_get_example() {
     'option_group_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('OptionValue', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -109,23 +114,23 @@ function option_value_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetOptionGroup"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionValueTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetOptionGroup"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionValueTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/OptionValue/SortOption.ex.php b/civicrm/api/v3/examples/OptionValue/SortOption.ex.php
index ae9e2611cc7b73c2736fc4abd7f626616a90a0d5..6dbad4c905d8b1588e327ef0a0f0933189c91d05 100644
--- a/civicrm/api/v3/examples/OptionValue/SortOption.ex.php
+++ b/civicrm/api/v3/examples/OptionValue/SortOption.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the OptionValue.getsingle API.
  *
@@ -16,7 +21,7 @@ function option_value_getsingle_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('OptionValue', 'getsingle', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -60,23 +65,23 @@ function option_value_getsingle_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetSingleValueOptionValueSort"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionValueTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetSingleValueOptionValueSort"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionValueTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Order/Cancel.ex.php b/civicrm/api/v3/examples/Order/Cancel.ex.php
index b2d7b2364aeec3bc5f414f53f6966fb98a3e729e..fa2a1f7ffea9c672464aad8a585a236d01ed3c76 100644
--- a/civicrm/api/v3/examples/Order/Cancel.ex.php
+++ b/civicrm/api/v3/examples/Order/Cancel.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Order.cancel API.
  *
@@ -10,7 +15,7 @@ function order_cancel_example() {
     'contribution_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Order', 'cancel', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -45,7 +50,7 @@ function order_cancel_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '16',
+        'contact_id' => '55',
         'financial_type_id' => '1',
         'contribution_page_id' => '',
         'payment_instrument_id' => '4',
@@ -71,8 +76,8 @@ function order_cancel_expectedresult() {
         'address_id' => '',
         'check_number' => '',
         'campaign_id' => '',
-        'creditnote_id' => '1',
-        'tax_amount' => '',
+        'creditnote_id' => 'CN_1',
+        'tax_amount' => '0.00',
         'revenue_recognition_date' => '',
         'is_template' => 0,
         'contribution_type_id' => '1',
@@ -84,23 +89,23 @@ function order_cancel_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCancelOrder"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCancelOrder"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Order/Create.ex.php b/civicrm/api/v3/examples/Order/Create.ex.php
index b6aab6c532a88b167d381b3abfc3714a6e62879e..946df2862c04f3e068ef624234fdbe8be7fcf8c1 100644
--- a/civicrm/api/v3/examples/Order/Create.ex.php
+++ b/civicrm/api/v3/examples/Order/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Order.create API.
  *
@@ -7,7 +12,7 @@
  */
 function order_create_example() {
   $params = [
-    'contact_id' => 3,
+    'contact_id' => 10,
     'receive_date' => '2010-01-20',
     'financial_type_id' => 'Event Fee',
     'contribution_status_id' => 'Pending',
@@ -28,7 +33,7 @@ function order_create_example() {
           ],
         ],
         'params' => [
-          'contact_id' => 3,
+          'contact_id' => 10,
           'membership_type_id' => 2,
           'join_date' => '2006-01-21',
           'start_date' => '2006-01-21',
@@ -40,7 +45,7 @@ function order_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Order', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -75,7 +80,7 @@ function order_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '3',
+        'contact_id' => '10',
         'financial_type_id' => '4',
         'contribution_page_id' => '',
         'payment_instrument_id' => '4',
@@ -102,10 +107,26 @@ function order_create_expectedresult() {
         'check_number' => '',
         'campaign_id' => '',
         'creditnote_id' => '',
-        'tax_amount' => '',
+        'tax_amount' => 0,
         'revenue_recognition_date' => '',
         'is_template' => '',
         'contribution_type_id' => '4',
+        'line_item' => [
+          '0' => [
+            'price_field_id' => '4',
+            'price_field_value_id' => '5',
+            'label' => 'Price Field 2',
+            'field_title' => 'Price Field 2',
+            'qty' => '1',
+            'unit_price' => '200.000000000',
+            'line_total' => '200.000000000',
+            'financial_type_id' => '4',
+            'entity_table' => 'civicrm_membership',
+            'membership_type_id' => '1',
+            'tax_amount' => 0,
+            'entity_id' => '1',
+          ],
+        ],
       ],
     ],
   ];
@@ -114,23 +135,23 @@ function order_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testAddOrderForMembership"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testAddOrderForMembership"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Order/CreateOrderParticipant.ex.php b/civicrm/api/v3/examples/Order/CreateOrderParticipant.ex.php
index cb2fac99b543d748602d33c98c71640207647a91..0eab7fdce978345f3d096f28be43e86e3ba49d90 100644
--- a/civicrm/api/v3/examples/Order/CreateOrderParticipant.ex.php
+++ b/civicrm/api/v3/examples/Order/CreateOrderParticipant.ex.php
@@ -1,15 +1,20 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Order.create API.
  *
- * Create order for participant
+ * Create order for participant.
  *
  * @return array
  *   API result array
  */
 function order_create_example() {
   $params = [
-    'contact_id' => 11,
+    'contact_id' => 41,
     'receive_date' => '2010-01-20',
     'financial_type_id' => 1,
     'contribution_status_id' => 'Pending',
@@ -40,7 +45,7 @@ function order_create_example() {
           ],
         ],
         'params' => [
-          'contact_id' => 11,
+          'contact_id' => 41,
           'event_id' => 1,
           'role_id' => 1,
           'register_date' => '2007-07-21 00:00:00',
@@ -50,7 +55,7 @@ function order_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Order', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -85,7 +90,7 @@ function order_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '11',
+        'contact_id' => '41',
         'financial_type_id' => '1',
         'contribution_page_id' => '',
         'payment_instrument_id' => '4',
@@ -112,10 +117,38 @@ function order_create_expectedresult() {
         'check_number' => '',
         'campaign_id' => '',
         'creditnote_id' => '',
-        'tax_amount' => '',
+        'tax_amount' => 0,
         'revenue_recognition_date' => '',
         'is_template' => '',
         'contribution_type_id' => '1',
+        'line_item' => [
+          '0' => [
+            'price_field_id' => '2',
+            'price_field_value_id' => '2',
+            'label' => 'Price Field 1',
+            'field_title' => 'Price Field 1',
+            'qty' => '1',
+            'unit_price' => '100.000000000',
+            'line_total' => '100.000000000',
+            'financial_type_id' => '4',
+            'entity_table' => 'civicrm_participant',
+            'tax_amount' => 0,
+            'entity_id' => '1',
+          ],
+          '1' => [
+            'price_field_id' => '2',
+            'price_field_value_id' => '3',
+            'label' => 'Price Field 2',
+            'field_title' => 'Price Field 2',
+            'qty' => '1',
+            'unit_price' => '200.000000000',
+            'line_total' => '200.000000000',
+            'financial_type_id' => '4',
+            'entity_table' => 'civicrm_participant',
+            'tax_amount' => 0,
+            'entity_id' => '1',
+          ],
+        ],
       ],
     ],
   ];
@@ -124,23 +157,23 @@ function order_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testAddOrderForParticipant"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testAddOrderForParticipant"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Order/Delete.ex.php b/civicrm/api/v3/examples/Order/Delete.ex.php
index 8c63b2bb6fb32385178b4b9df48937cde8d1af24..54828779ead3ecd291bbd9b9968beb93e5799cb9 100644
--- a/civicrm/api/v3/examples/Order/Delete.ex.php
+++ b/civicrm/api/v3/examples/Order/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Order.delete API.
  *
@@ -10,7 +15,7 @@ function order_delete_example() {
     'contribution_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Order', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,23 +56,23 @@ function order_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteOrder"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteOrder"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Order/Get.ex.php b/civicrm/api/v3/examples/Order/Get.ex.php
index c5af0531544515629d5aa7217b45d57960094e6f..ba6353586feec625c95c48f4fd939e32170d176b 100644
--- a/civicrm/api/v3/examples/Order/Get.ex.php
+++ b/civicrm/api/v3/examples/Order/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Order.get API.
  *
@@ -10,7 +15,7 @@ function order_get_example() {
     'contribution_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Order', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -102,6 +107,7 @@ function order_get_expectedresult() {
             'price_field_value_id' => '1',
             'financial_type_id' => '1',
             'non_deductible_amount' => '0.00',
+            'tax_amount' => '0.00',
             'contribution_type_id' => '1',
           ],
         ],
@@ -113,23 +119,23 @@ function order_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetOrder"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetOrder"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Participant/Create.ex.php b/civicrm/api/v3/examples/Participant/Create.ex.php
index 27dd8c000d4495f1f447c26d949a18e2fa479cd0..27005da491932d25c6068ab0dc98eb040931cb19 100644
--- a/civicrm/api/v3/examples/Participant/Create.ex.php
+++ b/civicrm/api/v3/examples/Participant/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Participant.create API.
  *
@@ -7,7 +12,7 @@
  */
 function participant_create_example() {
   $params = [
-    'contact_id' => 2,
+    'contact_id' => 4,
     'event_id' => 3,
     'status_id' => 1,
     'role_id' => 1,
@@ -16,7 +21,7 @@ function participant_create_example() {
     'custom_1' => 'custom string',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Participant', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,7 +56,7 @@ function participant_create_expectedresult() {
     'values' => [
       '4' => [
         'id' => '4',
-        'contact_id' => '2',
+        'contact_id' => '4',
         'event_id' => '3',
         'status_id' => '1',
         'role_id' => '1',
@@ -77,23 +82,23 @@ function participant_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateWithCustom"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateWithCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Participant/Get.ex.php b/civicrm/api/v3/examples/Participant/Get.ex.php
index d883a170610c892b4870a024fbba6abd5d6370da..0d8c637151bd2776d1ef74c7e3cbaea5d5a4cb03 100644
--- a/civicrm/api/v3/examples/Participant/Get.ex.php
+++ b/civicrm/api/v3/examples/Participant/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Participant.get API.
  *
@@ -10,7 +15,7 @@ function participant_get_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Participant', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -44,7 +49,7 @@ function participant_get_expectedresult() {
     'id' => 1,
     'values' => [
       '1' => [
-        'contact_id' => '2',
+        'contact_id' => '4',
         'contact_type' => 'Individual',
         'contact_sub_type' => '',
         'sort_name' => 'Anderson, Anthony',
@@ -80,23 +85,23 @@ function participant_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetParamsAsIdOnly"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetParamsAsIdOnly"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Participant/NestedDelete.ex.php b/civicrm/api/v3/examples/Participant/NestedDelete.ex.php
index 599bf723a1728b75209ccc9e3b2995a7fa97362a..cf785d31e0de108f3264c55a0430d159b5f3c622 100644
--- a/civicrm/api/v3/examples/Participant/NestedDelete.ex.php
+++ b/civicrm/api/v3/examples/Participant/NestedDelete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Participant.get API.
  *
@@ -9,11 +14,11 @@
  */
 function participant_get_example() {
   $params = [
-    'contact_id' => 4,
+    'contact_id' => 6,
     'api.participant.delete' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Participant', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,12 +51,12 @@ function participant_get_expectedresult() {
     'count' => 2,
     'values' => [
       '2' => [
-        'contact_id' => '4',
+        'contact_id' => '6',
         'contact_type' => 'Individual',
         'contact_sub_type' => '',
         'sort_name' => 'Anderson, Anthony',
         'display_name' => 'Mr. Anthony Anderson II',
-        'event_id' => '42',
+        'event_id' => '40',
         'event_title' => 'Annual CiviCRM meet',
         'event_start_date' => '2013-07-29 00:00:00',
         'event_end_date' => '2013-08-04 00:00:00',
@@ -82,12 +87,12 @@ function participant_get_expectedresult() {
         ],
       ],
       '3' => [
-        'contact_id' => '4',
+        'contact_id' => '6',
         'contact_type' => 'Individual',
         'contact_sub_type' => '',
         'sort_name' => 'Anderson, Anthony',
         'display_name' => 'Mr. Anthony Anderson II',
-        'event_id' => '42',
+        'event_id' => '40',
         'event_title' => 'Annual CiviCRM meet',
         'event_start_date' => '2013-07-29 00:00:00',
         'event_end_date' => '2013-08-04 00:00:00',
@@ -124,23 +129,23 @@ function participant_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testNestedDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testNestedDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Participant/NestedEventGet.ex.php b/civicrm/api/v3/examples/Participant/NestedEventGet.ex.php
index 58a12c7fb83bfd9156ee2e8a7345c15931746919..6862b98c287744b1e3b71ff1f342692267ac05b7 100644
--- a/civicrm/api/v3/examples/Participant/NestedEventGet.ex.php
+++ b/civicrm/api/v3/examples/Participant/NestedEventGet.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Participant.get API.
  *
@@ -13,7 +18,7 @@ function participant_get_example() {
     'api.event.get' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Participant', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -47,7 +52,7 @@ function participant_get_expectedresult() {
     'id' => 1,
     'values' => [
       '1' => [
-        'contact_id' => '2',
+        'contact_id' => '4',
         'contact_type' => 'Individual',
         'contact_sub_type' => '',
         'sort_name' => 'Anderson, Anthony',
@@ -86,8 +91,8 @@ function participant_get_expectedresult() {
               'title' => 'Annual CiviCRM meet',
               'event_title' => 'Annual CiviCRM meet',
               'summary' => 'If you have any CiviCRM related issues or want to track where CiviCRM is heading, Sign up now',
-              'description' => 'This event is intended to give brief idea about progess of CiviCRM and giving solutions to common user issues',
-              'event_description' => 'This event is intended to give brief idea about progess of CiviCRM and giving solutions to common user issues',
+              'description' => 'This event is intended to give brief idea about progress of CiviCRM and giving solutions to common user issues',
+              'event_description' => 'This event is intended to give brief idea about progress of CiviCRM and giving solutions to common user issues',
               'event_type_id' => '1',
               'is_public' => '1',
               'start_date' => '2013-07-29 00:00:00',
@@ -128,23 +133,23 @@ function participant_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetNestedEventGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetNestedEventGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ParticipantPayment/Create.ex.php b/civicrm/api/v3/examples/ParticipantPayment/Create.ex.php
index afb8dc3e8477381d16a0990ca65e9053be7dabd1..e00d13fcdee99883892ccde6e75a4b3dac378a27 100644
--- a/civicrm/api/v3/examples/ParticipantPayment/Create.ex.php
+++ b/civicrm/api/v3/examples/ParticipantPayment/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ParticipantPayment.create API.
  *
@@ -7,11 +12,11 @@
  */
 function participant_payment_create_example() {
   $params = [
-    'participant_id' => 13,
+    'participant_id' => 1,
     'contribution_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ParticipantPayment', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,7 +51,7 @@ function participant_payment_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'participant_id' => '13',
+        'participant_id' => '1',
         'contribution_id' => '1',
       ],
     ],
@@ -56,23 +61,23 @@ function participant_payment_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testPaymentCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantPaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testPaymentCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantPaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ParticipantPayment/Delete.ex.php b/civicrm/api/v3/examples/ParticipantPayment/Delete.ex.php
index fd07bbc3774e8f3dcbb4b2b5fdc035cdaf7e7960..ba9ac3e66520cf29ccc468e8bc6047d3da5874f3 100644
--- a/civicrm/api/v3/examples/ParticipantPayment/Delete.ex.php
+++ b/civicrm/api/v3/examples/ParticipantPayment/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ParticipantPayment.delete API.
  *
@@ -10,7 +15,7 @@ function participant_payment_delete_example() {
     'id' => 6,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ParticipantPayment', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function participant_payment_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testPaymentDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantPaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testPaymentDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantPaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ParticipantPayment/Get.ex.php b/civicrm/api/v3/examples/ParticipantPayment/Get.ex.php
index c0b8e4b714de56a471912847947bcceacecaf01e..aeba37e14326339abce1aef09b27d889e7714a95 100644
--- a/civicrm/api/v3/examples/ParticipantPayment/Get.ex.php
+++ b/civicrm/api/v3/examples/ParticipantPayment/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ParticipantPayment.get API.
  *
@@ -7,11 +12,11 @@
  */
 function participant_payment_get_example() {
   $params = [
-    'participant_id' => 68,
+    'participant_id' => 32,
     'contribution_id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ParticipantPayment', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,7 +51,7 @@ function participant_payment_get_expectedresult() {
     'values' => [
       '7' => [
         'id' => '7',
-        'participant_id' => '68',
+        'participant_id' => '32',
         'contribution_id' => '7',
       ],
     ],
@@ -56,23 +61,23 @@ function participant_payment_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantPaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantPaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ParticipantStatusType/Create.ex.php b/civicrm/api/v3/examples/ParticipantStatusType/Create.ex.php
index 474c521007ab2d8be1919d2ae0d1e89dc43adac9..c00c9230c50a70148d8d91f8bbdd5d5243f4ac65 100644
--- a/civicrm/api/v3/examples/ParticipantStatusType/Create.ex.php
+++ b/civicrm/api/v3/examples/ParticipantStatusType/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ParticipantStatusType.create API.
  *
@@ -17,7 +22,7 @@ function participant_status_type_create_example() {
     'weight' => 10,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ParticipantStatusType', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -68,23 +73,23 @@ function participant_status_type_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetParticipantStatusType"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantStatusTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetParticipantStatusType"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantStatusTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ParticipantStatusType/Delete.ex.php b/civicrm/api/v3/examples/ParticipantStatusType/Delete.ex.php
index 77d001b4b5846c588cab2069d7bbcf4ae344c6d0..52853e3c957e0b1afe21ada83034eb925c1aaa71 100644
--- a/civicrm/api/v3/examples/ParticipantStatusType/Delete.ex.php
+++ b/civicrm/api/v3/examples/ParticipantStatusType/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ParticipantStatusType.delete API.
  *
@@ -10,7 +15,7 @@ function participant_status_type_delete_example() {
     'id' => 19,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ParticipantStatusType', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function participant_status_type_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteParticipantStatusType"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantStatusTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteParticipantStatusType"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantStatusTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ParticipantStatusType/Get.ex.php b/civicrm/api/v3/examples/ParticipantStatusType/Get.ex.php
index 40b6e21dc259ae9519e9cb2c4bfd0f23cacb3474..89fcfb3c10aa3ab6f0523d35618b0822f124b9f6 100644
--- a/civicrm/api/v3/examples/ParticipantStatusType/Get.ex.php
+++ b/civicrm/api/v3/examples/ParticipantStatusType/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ParticipantStatusType.get API.
  *
@@ -17,7 +22,7 @@ function participant_status_type_get_example() {
     'weight' => 10,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ParticipantStatusType', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -68,23 +73,23 @@ function participant_status_type_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetParticipantStatusType"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantStatusTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetParticipantStatusType"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantStatusTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Payment/Cancel.ex.php b/civicrm/api/v3/examples/Payment/Cancel.ex.php
index 3b20cb8820f7c5b348f24a5b5e52c951232a3ce8..93fda68e2849f3b6057e5f44a3b141e84dc81d70 100644
--- a/civicrm/api/v3/examples/Payment/Cancel.ex.php
+++ b/civicrm/api/v3/examples/Payment/Cancel.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Payment.cancel API.
  *
@@ -7,11 +12,11 @@
  */
 function payment_cancel_example() {
   $params = [
-    'id' => 2,
+    'id' => 1,
     'check_permissions' => TRUE,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Payment', 'cancel', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,15 +47,15 @@ function payment_cancel_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 2,
     'values' => [
-      '3' => [
-        'id' => '3',
+      '2' => [
+        'id' => '2',
         'from_financial_account_id' => '7',
         'to_financial_account_id' => '6',
-        'trxn_date' => '20190820192757',
+        'trxn_date' => '20220117131002',
         'total_amount' => '-150',
-        'fee_amount' => '0.00',
+        'fee_amount' => 0,
         'net_amount' => '-150',
         'currency' => 'USD',
         'is_payment' => '1',
@@ -66,23 +71,23 @@ function payment_cancel_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCancelPayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCancelPayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Payment/Create.ex.php b/civicrm/api/v3/examples/Payment/Create.ex.php
index 98fc75e87700d1784eac356c12a0fdd9bc888ffc..7f4304ca59880138423c5f7aa309e7185b243069 100644
--- a/civicrm/api/v3/examples/Payment/Create.ex.php
+++ b/civicrm/api/v3/examples/Payment/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Payment.create API.
  *
@@ -11,7 +16,7 @@ function payment_create_example() {
     'total_amount' => 50,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Payment', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,15 +47,15 @@ function payment_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 2,
     'values' => [
-      '3' => [
-        'id' => '3',
+      '2' => [
+        'id' => '2',
         'from_financial_account_id' => '7',
         'to_financial_account_id' => '6',
-        'trxn_date' => '20190820192755',
+        'trxn_date' => '20220117130949',
         'total_amount' => '50',
-        'fee_amount' => '',
+        'fee_amount' => 0,
         'net_amount' => '50',
         'currency' => 'USD',
         'is_payment' => '1',
@@ -66,23 +71,23 @@ function payment_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreatePaymentNoLineItems"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreatePaymentNoLineItems"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Payment/CreatePaymentWithLineItems.ex.php b/civicrm/api/v3/examples/Payment/CreatePaymentWithLineItems.ex.php
index a1351e8b0257bf86e8e2ca2ef326e149fce5b895..c907cf174778e6408fba362bc18c1e03c712db45 100644
--- a/civicrm/api/v3/examples/Payment/CreatePaymentWithLineItems.ex.php
+++ b/civicrm/api/v3/examples/Payment/CreatePaymentWithLineItems.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Payment.create API.
  *
- * Payment with line item
+ * Payment with line item.
  *
  * @return array
  *   API result array
@@ -21,7 +26,7 @@ function payment_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Payment', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -52,15 +57,15 @@ function payment_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 2,
     'values' => [
-      '3' => [
-        'id' => '3',
+      '2' => [
+        'id' => '2',
         'from_financial_account_id' => '7',
         'to_financial_account_id' => '6',
-        'trxn_date' => '20190820192756',
+        'trxn_date' => '20220117130953',
         'total_amount' => '50',
-        'fee_amount' => '',
+        'fee_amount' => 0,
         'net_amount' => '50',
         'currency' => 'USD',
         'is_payment' => '1',
@@ -76,23 +81,23 @@ function payment_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreatePaymentLineItems"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreatePaymentLineItems"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Payment/Delete.ex.php b/civicrm/api/v3/examples/Payment/Delete.ex.php
index dea29275c004d1c31565c04056d929b5f6021394..78781151333bb107efdb151e8c2ac2a8056d896e 100644
--- a/civicrm/api/v3/examples/Payment/Delete.ex.php
+++ b/civicrm/api/v3/examples/Payment/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Payment.delete API.
  *
@@ -7,11 +12,11 @@
  */
 function payment_delete_example() {
   $params = [
-    'id' => 2,
+    'id' => '1',
     'check_permissions' => TRUE,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Payment', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,23 +54,23 @@ function payment_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Payment/Get.ex.php b/civicrm/api/v3/examples/Payment/Get.ex.php
index 45b2bfc958fe2bc2616ebc0b6283d55a08146e44..b138cd7eb548864311c88e53bf70139a0aa005f6 100644
--- a/civicrm/api/v3/examples/Payment/Get.ex.php
+++ b/civicrm/api/v3/examples/Payment/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Payment.get API.
  *
@@ -11,7 +16,7 @@ function payment_get_example() {
     'check_permissions' => TRUE,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Payment', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -65,23 +70,23 @@ function payment_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetPayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetPayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Payment/UpdatePayment.ex.php b/civicrm/api/v3/examples/Payment/UpdatePayment.ex.php
index 7ac7eb09c57109a46542ae46bb6b82dd50d569ff..6802716ea9288e25219121c6d6dcdf5fa6487fcc 100644
--- a/civicrm/api/v3/examples/Payment/UpdatePayment.ex.php
+++ b/civicrm/api/v3/examples/Payment/UpdatePayment.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Payment.create API.
  *
- * Update Payment
+ * Update Payment.
  *
  * @return array
  *   API result array
@@ -11,11 +16,11 @@ function payment_create_example() {
   $params = [
     'contribution_id' => 1,
     'total_amount' => 100,
-    'id' => 3,
+    'id' => 2,
     'check_permissions' => TRUE,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Payment', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,15 +51,15 @@ function payment_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 5,
+    'id' => 4,
     'values' => [
-      '5' => [
-        'id' => '5',
+      '4' => [
+        'id' => '4',
         'from_financial_account_id' => '7',
         'to_financial_account_id' => '6',
-        'trxn_date' => '20190820192758',
+        'trxn_date' => '',
         'total_amount' => '100',
-        'fee_amount' => '',
+        'fee_amount' => 0,
         'net_amount' => '100',
         'currency' => 'USD',
         'is_payment' => '1',
@@ -70,23 +75,23 @@ function payment_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testUpdatePayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testUpdatePayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PaymentProcessor/Create.ex.php b/civicrm/api/v3/examples/PaymentProcessor/Create.ex.php
index d3483bdb93c13ec2ee8e3b8a7d0a40ba884285ed..69ee100f1d00152f0d309f420fc07e3dd6c7f8b6 100644
--- a/civicrm/api/v3/examples/PaymentProcessor/Create.ex.php
+++ b/civicrm/api/v3/examples/PaymentProcessor/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PaymentProcessor.create API.
  *
@@ -14,7 +19,7 @@ function payment_processor_create_example() {
     'domain_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PaymentProcessor', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -69,7 +74,7 @@ function payment_processor_create_expectedresult() {
         'billing_mode' => '1',
         'is_recur' => 0,
         'payment_type' => '1',
-        'payment_instrument_id' => '1',
+        'payment_instrument_id' => '2',
         'accepted_credit_cards' => '',
       ],
     ],
@@ -79,23 +84,23 @@ function payment_processor_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testPaymentProcessorCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentProcessorTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testPaymentProcessorCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentProcessorTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PaymentProcessor/Delete.ex.php b/civicrm/api/v3/examples/PaymentProcessor/Delete.ex.php
index 5c3ec5bf52017946d21a3b46d9f0d19ae81a2d45..5277566504bc1a47b84439e971be61b7ef5363b7 100644
--- a/civicrm/api/v3/examples/PaymentProcessor/Delete.ex.php
+++ b/civicrm/api/v3/examples/PaymentProcessor/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PaymentProcessor.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function payment_processor_delete_example() {
   $params = [
-    'id' => 3,
+    'id' => 5,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PaymentProcessor', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function payment_processor_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testPaymentProcessorDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentProcessorTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testPaymentProcessorDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentProcessorTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PaymentProcessorType/Create.ex.php b/civicrm/api/v3/examples/PaymentProcessorType/Create.ex.php
index e0baa78f23f25c8d2f4cebb235b81dd4ce349a41..77b7384b19df864ccb2994f81a864e0316619deb 100644
--- a/civicrm/api/v3/examples/PaymentProcessorType/Create.ex.php
+++ b/civicrm/api/v3/examples/PaymentProcessorType/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PaymentProcessorType.create API.
  *
@@ -15,7 +20,7 @@ function payment_processor_type_create_example() {
     'is_recur' => 0,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PaymentProcessorType', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,10 +51,10 @@ function payment_processor_type_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 13,
+    'id' => 10,
     'values' => [
       '0' => [
-        'id' => '13',
+        'id' => '10',
         'name' => 'API_Test_PP',
         'title' => 'API Test Payment Processor',
         'description' => '',
@@ -80,23 +85,23 @@ function payment_processor_type_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testPaymentProcessorTypeCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentProcessorTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testPaymentProcessorTypeCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentProcessorTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PaymentProcessorType/Delete.ex.php b/civicrm/api/v3/examples/PaymentProcessorType/Delete.ex.php
index e8e755d26333cfb4d9e7115eb435aaf976313435..ce41157b04e6e6b1c347e6af33c0c7802196dc5d 100644
--- a/civicrm/api/v3/examples/PaymentProcessorType/Delete.ex.php
+++ b/civicrm/api/v3/examples/PaymentProcessorType/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PaymentProcessorType.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function payment_processor_type_delete_example() {
   $params = [
-    'id' => 15,
+    'id' => 13,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PaymentProcessorType', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function payment_processor_type_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testPaymentProcessorTypeDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentProcessorTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testPaymentProcessorTypeDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentProcessorTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PaymentToken/Create.ex.php b/civicrm/api/v3/examples/PaymentToken/Create.ex.php
index 18c9c5da7899514d23ac9eb193d61410cab165e5..53dc8ae1626a2fe9868aec790e071a4bd726942e 100644
--- a/civicrm/api/v3/examples/PaymentToken/Create.ex.php
+++ b/civicrm/api/v3/examples/PaymentToken/Create.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PaymentToken.create API.
  *
- * Create a payment token - Note use of relative dates here:
+ * Create a payment token - Note use of relative dates here:.
  * @link http://www.php.net/manual/en/datetime.formats.relative.php.
  *
  * @return array
@@ -11,12 +16,12 @@
 function payment_token_create_example() {
   $params = [
     'token' => 'fancy-token-xxxx',
-    'contact_id' => 3,
-    'created_id' => 3,
-    'payment_processor_id' => 1,
+    'contact_id' => 4,
+    'created_id' => 4,
+    'payment_processor_id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PaymentToken', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -47,15 +52,15 @@ function payment_token_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 1,
+    'id' => 2,
     'values' => [
-      '1' => [
-        'id' => '1',
-        'contact_id' => '3',
-        'payment_processor_id' => '1',
+      '2' => [
+        'id' => '2',
+        'contact_id' => '4',
+        'payment_processor_id' => '2',
         'token' => 'fancy-token-xxxx',
         'created_date' => '2013-07-28 08:49:19',
-        'created_id' => '3',
+        'created_id' => '4',
         'expiry_date' => '',
         'email' => '',
         'billing_first_name' => '',
@@ -71,23 +76,23 @@ function payment_token_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreatePaymentToken"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTokenTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreatePaymentToken"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTokenTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PaymentToken/Delete.ex.php b/civicrm/api/v3/examples/PaymentToken/Delete.ex.php
index 84e51e40021149976eb1abaed4cf1fbd77ccb5fd..03d7fb263d0663cb9655405f3b796423fb8cb99a 100644
--- a/civicrm/api/v3/examples/PaymentToken/Delete.ex.php
+++ b/civicrm/api/v3/examples/PaymentToken/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PaymentToken.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function payment_token_delete_example() {
   $params = [
-    'id' => 3,
+    'id' => 6,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PaymentToken', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function payment_token_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePaymentToken"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTokenTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePaymentToken"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTokenTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PaymentToken/Get.ex.php b/civicrm/api/v3/examples/PaymentToken/Get.ex.php
index d08f098493965e1fb036c82bbbd9b232139c7efc..fd3b33ba71ab4cda0db558dd636740d95bd638fb 100644
--- a/civicrm/api/v3/examples/PaymentToken/Get.ex.php
+++ b/civicrm/api/v3/examples/PaymentToken/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PaymentToken.get API.
  *
@@ -8,12 +13,12 @@
 function payment_token_get_example() {
   $params = [
     'token' => 'fancy-token-xxxx',
-    'contact_id' => 4,
-    'created_id' => 4,
-    'payment_processor_id' => 2,
+    'contact_id' => 6,
+    'created_id' => 6,
+    'payment_processor_id' => 4,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PaymentToken', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -44,15 +49,15 @@ function payment_token_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 4,
     'values' => [
-      '2' => [
-        'id' => '2',
-        'contact_id' => '4',
-        'payment_processor_id' => '2',
+      '4' => [
+        'id' => '4',
+        'contact_id' => '6',
+        'payment_processor_id' => '4',
         'token' => 'fancy-token-xxxx',
         'created_date' => '2013-07-28 08:49:19',
-        'created_id' => '4',
+        'created_id' => '6',
       ],
     ],
   ];
@@ -61,23 +66,23 @@ function payment_token_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetPaymentToken"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTokenTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetPaymentToken"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTokenTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Pcp/ChainedGetDelete.ex.php b/civicrm/api/v3/examples/Pcp/ChainedGetDelete.ex.php
index c5634e4addab0d4944b1042502afb6b7b949ea9c..5bab4a14a6503f89739a64fe7a5536269bcef49c 100644
--- a/civicrm/api/v3/examples/Pcp/ChainedGetDelete.ex.php
+++ b/civicrm/api/v3/examples/Pcp/ChainedGetDelete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Pcp.get API.
  *
@@ -13,7 +18,7 @@ function pcp_get_example() {
     'api.Pcp.delete' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Pcp', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -92,23 +97,23 @@ function pcp_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetPcpChainDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PcpTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetPcpChainDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PcpTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Pcp/Create.ex.php b/civicrm/api/v3/examples/Pcp/Create.ex.php
index 85da4f8b9dad434101405551946954d0678ed055..56aa78e3952392449dd4da36cade0573142791f6 100644
--- a/civicrm/api/v3/examples/Pcp/Create.ex.php
+++ b/civicrm/api/v3/examples/Pcp/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Pcp.create API.
  *
@@ -13,7 +18,7 @@ function pcp_create_example() {
     'pcp_block_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Pcp', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -71,23 +76,23 @@ function pcp_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreatePcp"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PcpTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreatePcp"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PcpTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Pcp/Delete.ex.php b/civicrm/api/v3/examples/Pcp/Delete.ex.php
index a623f9b68a93c1f76f3a52f63d5f876f03c47cd3..83f1ec5677ae35a83731711a8d09758ab187f064 100644
--- a/civicrm/api/v3/examples/Pcp/Delete.ex.php
+++ b/civicrm/api/v3/examples/Pcp/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Pcp.delete API.
  *
@@ -10,7 +15,7 @@ function pcp_delete_example() {
     'id' => 4,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Pcp', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function pcp_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePcp"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PcpTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePcp"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PcpTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Pcp/Get.ex.php b/civicrm/api/v3/examples/Pcp/Get.ex.php
index d1f4a266a06459149324ed7459b95e1794ecd14e..36246cbbbb9a7593b321386e2718ba80b1b2a9fa 100644
--- a/civicrm/api/v3/examples/Pcp/Get.ex.php
+++ b/civicrm/api/v3/examples/Pcp/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Pcp.get API.
  *
@@ -13,7 +18,7 @@ function pcp_get_example() {
     'pcp_block_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Pcp', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -67,23 +72,23 @@ function pcp_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetPcp"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PcpTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetPcp"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PcpTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Phone/Create.ex.php b/civicrm/api/v3/examples/Phone/Create.ex.php
index 3fd8e7b230a9759ba759a2d0f8e4beeda9e1c135..95eab5a78316b45c7a70adb2fd4f81ac22e67f0e 100644
--- a/civicrm/api/v3/examples/Phone/Create.ex.php
+++ b/civicrm/api/v3/examples/Phone/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Phone.create API.
  *
@@ -9,11 +14,11 @@ function phone_create_example() {
   $params = [
     'contact_id' => 5,
     'phone' => '(123) 456-7890',
-    'is_primary' => 1,
+    'is_primary' => TRUE,
     'phone_type_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Phone', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -44,10 +49,10 @@ function phone_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 4,
     'values' => [
-      '3' => [
-        'id' => '3',
+      '4' => [
+        'id' => '4',
         'contact_id' => '5',
         'location_type_id' => '1',
         'is_primary' => '1',
@@ -65,23 +70,23 @@ function phone_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreatePhoneDefaultLocation"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PhoneTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreatePhoneDefaultLocation"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PhoneTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Phone/Delete.ex.php b/civicrm/api/v3/examples/Phone/Delete.ex.php
index beff5e9e333a5dd09d9e1621e947f44357c472fe..44fa2491faa392344c9f29dcaded4260fe3cc01c 100644
--- a/civicrm/api/v3/examples/Phone/Delete.ex.php
+++ b/civicrm/api/v3/examples/Phone/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Phone.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function phone_delete_example() {
   $params = [
-    'id' => 4,
+    'id' => 6,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Phone', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function phone_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePhone"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PhoneTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePhone"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PhoneTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Phone/Get.ex.php b/civicrm/api/v3/examples/Phone/Get.ex.php
index 57d25de2dd1f35ab7734f54c2c2dc4d8958cf040..981506ad464ce68e2c6e82b2c12e97c9b91a0d93 100644
--- a/civicrm/api/v3/examples/Phone/Get.ex.php
+++ b/civicrm/api/v3/examples/Phone/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Phone.get API.
  *
@@ -11,7 +16,7 @@ function phone_get_example() {
     'phone' => '(123) 456-7890',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Phone', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,10 +47,10 @@ function phone_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 5,
+    'id' => 8,
     'values' => [
-      '5' => [
-        'id' => '5',
+      '8' => [
+        'id' => '8',
         'contact_id' => '12',
         'location_type_id' => '15',
         'is_primary' => '1',
@@ -61,23 +66,23 @@ function phone_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PhoneTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PhoneTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Phone/GetOptions.ex.php b/civicrm/api/v3/examples/Phone/GetOptions.ex.php
index 3ac7d56b31a9db84cf30bc3d7c916ac110b97a2e..4ca5d2812415c2bbffba9448462228c9d235f346 100644
--- a/civicrm/api/v3/examples/Phone/GetOptions.ex.php
+++ b/civicrm/api/v3/examples/Phone/GetOptions.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Phone.getoptions API.
  *
@@ -10,7 +15,7 @@ function phone_getoptions_example() {
     'field' => 'phone_type_id',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Phone', 'getoptions', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -54,23 +59,23 @@ function phone_getoptions_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testPhoneType"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ConstantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testPhoneType"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ConstantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Pledge/Create.ex.php b/civicrm/api/v3/examples/Pledge/Create.ex.php
index 3ffb6b2d56fe9f6f5386c6fa6d4062fefb818599..53f81be28fb88d0e3b7ddbf5687a063cbe4f94cd 100644
--- a/civicrm/api/v3/examples/Pledge/Create.ex.php
+++ b/civicrm/api/v3/examples/Pledge/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Pledge.create API.
  *
@@ -8,9 +13,9 @@
 function pledge_create_example() {
   $params = [
     'contact_id' => 12,
-    'pledge_create_date' => '20190820',
-    'start_date' => '20190820',
-    'scheduled_date' => '20190822',
+    'pledge_create_date' => '20220117',
+    'start_date' => '20220117',
+    'scheduled_date' => '20220119',
     'amount' => '100',
     'pledge_status_id' => '2',
     'pledge_financial_type_id' => '1',
@@ -22,7 +27,7 @@ function pledge_create_example() {
     'sequential' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Pledge', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -88,23 +93,23 @@ function pledge_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreatePledge"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreatePledge"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Pledge/Delete.ex.php b/civicrm/api/v3/examples/Pledge/Delete.ex.php
index d11698ce1bdab87d79bfead3f1b3ff02cf4e8085..beb8fab405d5ca917f4c997e89faf13a08eec47e 100644
--- a/civicrm/api/v3/examples/Pledge/Delete.ex.php
+++ b/civicrm/api/v3/examples/Pledge/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Pledge.delete API.
  *
@@ -10,7 +15,7 @@ function pledge_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Pledge', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,23 +56,23 @@ function pledge_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePledgeUseID"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePledgeUseID"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Pledge/Get.ex.php b/civicrm/api/v3/examples/Pledge/Get.ex.php
index b664e2b647204223dc79c4f8352a7dc62b989467..99ba597bd646dfa383c3b33f15b3636a4cf7fbf4 100644
--- a/civicrm/api/v3/examples/Pledge/Get.ex.php
+++ b/civicrm/api/v3/examples/Pledge/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Pledge.get API.
  *
@@ -10,7 +15,7 @@ function pledge_get_example() {
     'pledge_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Pledge', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,11 +56,11 @@ function pledge_get_expectedresult() {
         'display_name' => 'Mr. Anthony Anderson II',
         'pledge_id' => '1',
         'pledge_amount' => '100.00',
-        'pledge_create_date' => '2019-08-20 00:00:00',
-        'pledge_start_date' => '2019-08-20 00:00:00',
-        'pledge_status' => 'Pending',
+        'pledge_create_date' => '2022-01-17 00:00:00',
+        'pledge_start_date' => '2022-01-17 00:00:00',
+        'pledge_status' => 'Pending Label**',
         'pledge_total_paid' => '',
-        'pledge_next_pay_date' => '2019-08-22 00:00:00',
+        'pledge_next_pay_date' => '2022-01-19 00:00:00',
         'pledge_next_pay_amount' => '20.00',
         'pledge_outstanding_amount' => '',
         'pledge_financial_type' => 'Donation',
@@ -74,23 +79,23 @@ function pledge_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetPledge"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetPledge"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Pledge/GetFilterHighDate.ex.php b/civicrm/api/v3/examples/Pledge/GetFilterHighDate.ex.php
index d7dcb34cf9e00ba481e47277fa444e3e61cb9930..612e7010959f640708b518ae0c40c5309a7f7cd0 100644
--- a/civicrm/api/v3/examples/Pledge/GetFilterHighDate.ex.php
+++ b/civicrm/api/v3/examples/Pledge/GetFilterHighDate.ex.php
@@ -1,18 +1,23 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Pledge.get API.
  *
- * demonstrates high date filter
+ * demonstrates high date filter.
  *
  * @return array
  *   API result array
  */
 function pledge_get_example() {
   $params = [
-    'pledge_start_date_high' => '20190818192828',
+    'pledge_start_date_high' => '20220115131204',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Pledge', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -53,11 +58,11 @@ function pledge_get_expectedresult() {
         'display_name' => 'Mr. Anthony Anderson II',
         'pledge_id' => '2',
         'pledge_amount' => '100.00',
-        'pledge_create_date' => '2019-08-20 00:00:00',
-        'pledge_start_date' => '2018-03-02 00:00:00',
+        'pledge_create_date' => '2022-01-17 00:00:00',
+        'pledge_start_date' => '2021-03-05 00:00:00',
         'pledge_status' => 'Overdue',
         'pledge_total_paid' => '',
-        'pledge_next_pay_date' => '2018-03-02 00:00:00',
+        'pledge_next_pay_date' => '2021-03-05 00:00:00',
         'pledge_next_pay_amount' => '20.00',
         'pledge_outstanding_amount' => '20.00',
         'pledge_financial_type' => 'Donation',
@@ -76,23 +81,23 @@ function pledge_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testPledgeGetReturnFilters"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testPledgeGetReturnFilters"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PledgePayment/Create.ex.php b/civicrm/api/v3/examples/PledgePayment/Create.ex.php
index b2c50bfaac34dad47f16a83aa0cd9d0f3d1a647a..354e2d545a3a1aef5618c5258d8a8dfd1eaf41ec 100644
--- a/civicrm/api/v3/examples/PledgePayment/Create.ex.php
+++ b/civicrm/api/v3/examples/PledgePayment/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PledgePayment.create API.
  *
@@ -14,7 +19,7 @@ function pledge_payment_create_example() {
     'actual_amount' => 20,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PledgePayment', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -66,23 +71,23 @@ function pledge_payment_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreatePledgePayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgePaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreatePledgePayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgePaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PledgePayment/Delete.ex.php b/civicrm/api/v3/examples/PledgePayment/Delete.ex.php
index 7f5f8bb244ee28ce6a75629bb30ba1ed2f301b07..b3ffa0f07192ca5da056729fb7f71f20c3ec9c63 100644
--- a/civicrm/api/v3/examples/PledgePayment/Delete.ex.php
+++ b/civicrm/api/v3/examples/PledgePayment/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PledgePayment.delete API.
  *
@@ -10,7 +15,7 @@ function pledge_payment_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PledgePayment', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,23 +56,23 @@ function pledge_payment_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePledgePayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgePaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePledgePayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgePaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PledgePayment/Get.ex.php b/civicrm/api/v3/examples/PledgePayment/Get.ex.php
index 826d83948f1ee85f15d0f5283831686c93c5f1d2..6c79278e9df6a227517b9a8b59563910ab203767 100644
--- a/civicrm/api/v3/examples/PledgePayment/Get.ex.php
+++ b/civicrm/api/v3/examples/PledgePayment/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PledgePayment.get API.
  *
@@ -8,7 +13,7 @@
 function pledge_payment_get_example() {
   $params = [];
 
-  try{
+  try {
     $result = civicrm_api3('PledgePayment', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -92,23 +97,23 @@ function pledge_payment_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetPledgePayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgePaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetPledgePayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgePaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PledgePayment/Update.ex.php b/civicrm/api/v3/examples/PledgePayment/Update.ex.php
index cf60c64a131f592ea2d55eaab9a060a851f4b8c1..3d9f0bc21530e5017475cdea973fec1a77e83df1 100644
--- a/civicrm/api/v3/examples/PledgePayment/Update.ex.php
+++ b/civicrm/api/v3/examples/PledgePayment/Update.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PledgePayment.update API.
  *
@@ -11,7 +16,7 @@ function pledge_payment_update_example() {
     'status_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PledgePayment', 'update', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -63,23 +68,23 @@ function pledge_payment_update_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testUpdatePledgePayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgePaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testUpdatePledgePayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgePaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PriceField/Create.ex.php b/civicrm/api/v3/examples/PriceField/Create.ex.php
index 05ec60e5f9468747aedbd4a5313dc4699a727afe..87dadf1993261ce983acc04c880f2524352b8815 100644
--- a/civicrm/api/v3/examples/PriceField/Create.ex.php
+++ b/civicrm/api/v3/examples/PriceField/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PriceField.create API.
  *
@@ -15,7 +20,7 @@ function price_field_create_example() {
     'is_active' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PriceField', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -74,23 +79,23 @@ function price_field_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreatePriceField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreatePriceField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PriceField/Delete.ex.php b/civicrm/api/v3/examples/PriceField/Delete.ex.php
index 483b6426e4da03293a07ecd028c050c746d7ea64..b8b136acaf5adb5d1af101fe13f4c7b524f125fc 100644
--- a/civicrm/api/v3/examples/PriceField/Delete.ex.php
+++ b/civicrm/api/v3/examples/PriceField/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PriceField.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function price_field_delete_example() {
   $params = [
-    'id' => 4,
+    'id' => 6,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PriceField', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function price_field_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePriceField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePriceField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PriceField/Get.ex.php b/civicrm/api/v3/examples/PriceField/Get.ex.php
index 0562018818dfdaaa621a26b9b3863281a952174f..7d02feb7dd70f255ec3d1541faecfdbce103d017 100644
--- a/civicrm/api/v3/examples/PriceField/Get.ex.php
+++ b/civicrm/api/v3/examples/PriceField/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PriceField.get API.
  *
@@ -10,7 +15,7 @@ function price_field_get_example() {
     'name' => 'contribution_amount',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PriceField', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -64,23 +69,23 @@ function price_field_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetBasicPriceField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetBasicPriceField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PriceFieldValue/Create.ex.php b/civicrm/api/v3/examples/PriceFieldValue/Create.ex.php
index 7eb90fc41b43fb38b2b909a4549862329cc3f243..ea5f8c026c66bdbb72b7adf1ed394537987b3b08 100644
--- a/civicrm/api/v3/examples/PriceFieldValue/Create.ex.php
+++ b/civicrm/api/v3/examples/PriceFieldValue/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PriceFieldValue.create API.
  *
@@ -17,7 +22,7 @@ function price_field_value_create_example() {
     'financial_type_id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PriceFieldValue', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -78,23 +83,23 @@ function price_field_value_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreatePriceFieldValuewithMultipleTerms"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldValueTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreatePriceFieldValuewithMultipleTerms"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldValueTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PriceFieldValue/Delete.ex.php b/civicrm/api/v3/examples/PriceFieldValue/Delete.ex.php
index 58af271e840482158d3daf6fc76190f5b1287548..92aa1150cc5595068638e08acc47ba4da8a0371d 100644
--- a/civicrm/api/v3/examples/PriceFieldValue/Delete.ex.php
+++ b/civicrm/api/v3/examples/PriceFieldValue/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PriceFieldValue.delete API.
  *
@@ -10,7 +15,7 @@ function price_field_value_delete_example() {
     'id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PriceFieldValue', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function price_field_value_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePriceFieldValue"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldValueTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePriceFieldValue"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldValueTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PriceFieldValue/Get.ex.php b/civicrm/api/v3/examples/PriceFieldValue/Get.ex.php
index 5889b0a7a3953401f618bb7ec0d0aac7eb5299b8..4011501cf71b8b5eed3e6f843ba81b36a7840dfa 100644
--- a/civicrm/api/v3/examples/PriceFieldValue/Get.ex.php
+++ b/civicrm/api/v3/examples/PriceFieldValue/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PriceFieldValue.get API.
  *
@@ -10,7 +15,7 @@ function price_field_value_get_example() {
     'name' => 'contribution_amount',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PriceFieldValue', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -64,23 +69,23 @@ function price_field_value_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetBasicPriceFieldValue"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldValueTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetBasicPriceFieldValue"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldValueTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PriceSet/Create.ex.php b/civicrm/api/v3/examples/PriceSet/Create.ex.php
index bb18c6768f6ab5908d7c67beb0840dc885f76dfb..ade9452b338db446312f1bfa2f1edf440e602100 100644
--- a/civicrm/api/v3/examples/PriceSet/Create.ex.php
+++ b/civicrm/api/v3/examples/PriceSet/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PriceSet.create API.
  *
@@ -14,7 +19,7 @@ function price_set_create_example() {
     'extends' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PriceSet', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -45,10 +50,10 @@ function price_set_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 20,
+    'id' => 6,
     'values' => [
-      '20' => [
-        'id' => '20',
+      '6' => [
+        'id' => '6',
         'domain_id' => '',
         'name' => 'event price',
         'title' => 'event price',
@@ -69,23 +74,23 @@ function price_set_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testEventPriceSet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceSetTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testEventPriceSet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceSetTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PriceSet/Delete.ex.php b/civicrm/api/v3/examples/PriceSet/Delete.ex.php
index 7ad89e8168a7939c2effe63fb10d07fc45fcc30a..2fdb2dfe25ca3f0cb71caa578c258dede627d561 100644
--- a/civicrm/api/v3/examples/PriceSet/Delete.ex.php
+++ b/civicrm/api/v3/examples/PriceSet/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PriceSet.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function price_set_delete_example() {
   $params = [
-    'id' => 21,
+    'id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PriceSet', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function price_set_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePriceSet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceSetTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePriceSet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceSetTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PriceSet/Get.ex.php b/civicrm/api/v3/examples/PriceSet/Get.ex.php
index adfb4b89c39643879f4a75fd326e0b0b1589ed15..9b9eac2ff3e8f39d058322358ce6d5e8bdabd984 100644
--- a/civicrm/api/v3/examples/PriceSet/Get.ex.php
+++ b/civicrm/api/v3/examples/PriceSet/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PriceSet.get API.
  *
@@ -10,7 +15,7 @@ function price_set_get_example() {
     'name' => 'default_contribution_amount',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PriceSet', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,7 +56,7 @@ function price_set_get_expectedresult() {
         'extends' => '2',
         'is_quick_config' => '1',
         'is_reserved' => '1',
-        'min_amount' => 0,
+        'min_amount' => '0.00',
         'entity' => [],
       ],
     ],
@@ -61,23 +66,23 @@ function price_set_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetBasicPriceSet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceSetTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetBasicPriceSet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceSetTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Profile/Apply.ex.php b/civicrm/api/v3/examples/Profile/Apply.ex.php
index 54279e7b13c94bb67f77655d53da969316d4f56e..0ec9137f6dff282994c75f4d049b5a438147faf0 100644
--- a/civicrm/api/v3/examples/Profile/Apply.ex.php
+++ b/civicrm/api/v3/examples/Profile/Apply.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Profile.apply API.
  *
@@ -7,7 +12,7 @@
  */
 function profile_apply_example() {
   $params = [
-    'profile_id' => 30,
+    'profile_id' => 31,
     'contact_id' => 5,
     'first_name' => 'abc2',
     'last_name' => 'xyz2',
@@ -17,7 +22,7 @@ function profile_apply_example() {
     'state_province-1' => '1000',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Profile', 'apply', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -54,7 +59,7 @@ function profile_apply_expectedresult() {
       'contact_id' => 5,
       'version' => 3,
       'debug' => 1,
-      'profile_id' => 30,
+      'profile_id' => 31,
       'first_name' => 'abc2',
       'last_name' => 'xyz2',
       'email' => [
@@ -87,23 +92,23 @@ function profile_apply_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testProfileApply"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ProfileTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testProfileApply"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ProfileTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Profile/Get.ex.php b/civicrm/api/v3/examples/Profile/Get.ex.php
index a8f3e4f34164c895e790f857c890d1904ef4aa69..b264dc7e96b9cdec2281b4eb0b17dde9773af6ea 100644
--- a/civicrm/api/v3/examples/Profile/Get.ex.php
+++ b/civicrm/api/v3/examples/Profile/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Profile.get API.
  *
@@ -8,14 +13,14 @@
 function profile_get_example() {
   $params = [
     'profile_id' => [
-      '0' => 15,
+      '0' => 16,
       '1' => 1,
       '2' => 'Billing',
     ],
     'contact_id' => 5,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Profile', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -47,7 +52,7 @@ function profile_get_expectedresult() {
     'version' => 3,
     'count' => 3,
     'values' => [
-      '15' => [
+      '16' => [
         'postal_code-1' => '90210',
         'state_province-1' => '1021',
         'country-1' => '1228',
@@ -85,23 +90,23 @@ function profile_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testProfileGetMultiple"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ProfileTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testProfileGetMultiple"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ProfileTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Profile/GetFields.ex.php b/civicrm/api/v3/examples/Profile/GetFields.ex.php
index b95c81efca8d805ada8a6a803ab4246d7c832fe8..ee57a5e603e3181003697a94793a7c842bda34e5 100644
--- a/civicrm/api/v3/examples/Profile/GetFields.ex.php
+++ b/civicrm/api/v3/examples/Profile/GetFields.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Profile.getfields API.
  *
- * demonstrates retrieving profile fields passing in an id
+ * demonstrates retrieving profile fields passing in an id.
  *
  * @return array
  *   API result array
@@ -10,10 +15,10 @@
 function profile_getfields_example() {
   $params = [
     'action' => 'submit',
-    'profile_id' => 22,
+    'profile_id' => 23,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Profile', 'getfields', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -72,6 +77,7 @@ function profile_getfields_expectedresult() {
         'is_required' => 0,
         'table_name' => 'civicrm_value__addcustomfie_1',
         'column_name' => '_addcustomfieldtoprofile_1',
+        'serialize' => 0,
         'where' => 'civicrm_value__addcustomfie_1._addcustomfieldtoprofile_1',
         'extends_table' => 'civicrm_contact',
         'search_table' => 'contact_a',
@@ -103,6 +109,7 @@ function profile_getfields_expectedresult() {
           'maxlength' => 64,
           'size' => 6,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.required' => 0,
         'help_pre' => '',
@@ -124,6 +131,8 @@ function profile_getfields_expectedresult() {
         'FKClassName' => 'CRM_Core_DAO_StateProvince',
         'html' => [
           'type' => 'ChainSelect',
+          'label' => 'State/Province',
+          'controlField' => 'country_id',
           'size' => 6,
           'maxlength' => 14,
         ],
@@ -131,7 +140,9 @@ function profile_getfields_expectedresult() {
           'table' => 'civicrm_state_province',
           'keyColumn' => 'id',
           'labelColumn' => 'name',
+          'abbrColumn' => 'abbreviation',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'FKApiName' => 'StateProvince',
         'api.required' => '1',
@@ -154,6 +165,7 @@ function profile_getfields_expectedresult() {
         'FKClassName' => 'CRM_Core_DAO_Country',
         'html' => [
           'type' => 'Select',
+          'label' => 'Country',
           'size' => 6,
           'maxlength' => 14,
         ],
@@ -164,6 +176,7 @@ function profile_getfields_expectedresult() {
           'nameColumn' => 'iso_code',
           'abbrColumn' => 'iso_code',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'FKApiName' => 'Country',
         'api.required' => '1',
@@ -190,9 +203,11 @@ function profile_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Phone',
           'maxlength' => 32,
           'size' => 20,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.required' => '1',
         'help_pre' => '',
@@ -222,6 +237,7 @@ function profile_getfields_expectedresult() {
           'maxlength' => 254,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.required' => '1',
         'help_pre' => '',
@@ -243,15 +259,18 @@ function profile_getfields_expectedresult() {
         'headerPattern' => '/^last|(l(ast\\s)?name)$/i',
         'dataPattern' => '/^\\w+(\\s\\w+)?+$/',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Last Name',
           'maxlength' => 64,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.required' => '1',
         'help_pre' => '',
@@ -271,15 +290,18 @@ function profile_getfields_expectedresult() {
         'headerPattern' => '/^first|(f(irst\\s)?name)$/i',
         'dataPattern' => '/^\\w+$/',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'First Name',
           'maxlength' => 64,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.required' => '1',
         'help_pre' => '',
@@ -299,23 +321,23 @@ function profile_getfields_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetFields"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ProfileTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetFields"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ProfileTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Profile/Submit.ex.php b/civicrm/api/v3/examples/Profile/Submit.ex.php
index 3f2d700720a7e107384ff51734e8b1a37e884c32..841fcb32a2825133e82ab6f960b9a1eaba5940dc 100644
--- a/civicrm/api/v3/examples/Profile/Submit.ex.php
+++ b/civicrm/api/v3/examples/Profile/Submit.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Profile.submit API.
  *
@@ -7,7 +12,7 @@
  */
 function profile_submit_example() {
   $params = [
-    'profile_id' => 24,
+    'profile_id' => 25,
     'contact_id' => 5,
     'first_name' => 'abc2',
     'last_name' => 'xyz2',
@@ -17,7 +22,7 @@ function profile_submit_example() {
     'state_province-1' => '1000',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Profile', 'submit', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -108,23 +113,23 @@ function profile_submit_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testProfileSubmit"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ProfileTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testProfileSubmit"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ProfileTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Relationship/BetweenRelationshipType.ex.php b/civicrm/api/v3/examples/Relationship/BetweenRelationshipType.ex.php
index 949b9765b3d8a737cf8a5861262c5ff847fc9485..0b50ad12b3292aad8de68613a65bb42bd2937d92 100644
--- a/civicrm/api/v3/examples/Relationship/BetweenRelationshipType.ex.php
+++ b/civicrm/api/v3/examples/Relationship/BetweenRelationshipType.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Relationship.get API.
  *
@@ -11,13 +16,13 @@ function relationship_get_example() {
   $params = [
     'relationship_type_id' => [
       'BETWEEN' => [
-        '0' => 36,
-        '1' => 38,
+        '0' => 56,
+        '1' => 58,
       ],
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Relationship', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,9 +56,9 @@ function relationship_get_expectedresult() {
     'values' => [
       '2' => [
         'id' => '2',
-        'contact_id_a' => '99',
-        'contact_id_b' => '101',
-        'relationship_type_id' => '36',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '56',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -61,9 +66,9 @@ function relationship_get_expectedresult() {
       ],
       '3' => [
         'id' => '3',
-        'contact_id_a' => '99',
-        'contact_id_b' => '101',
-        'relationship_type_id' => '37',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '57',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -71,9 +76,9 @@ function relationship_get_expectedresult() {
       ],
       '4' => [
         'id' => '4',
-        'contact_id_a' => '99',
-        'contact_id_b' => '101',
-        'relationship_type_id' => '38',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '58',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -86,23 +91,23 @@ function relationship_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetTypeOperators"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetTypeOperators"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Relationship/Create.ex.php b/civicrm/api/v3/examples/Relationship/Create.ex.php
index 7f8db5c433f4af0536b83f3c5862757a2fe80391..e405bc51b1a254ef7ea9f24598e9966b58455c0d 100644
--- a/civicrm/api/v3/examples/Relationship/Create.ex.php
+++ b/civicrm/api/v3/examples/Relationship/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Relationship.create API.
  *
@@ -7,16 +12,16 @@
  */
 function relationship_create_example() {
   $params = [
-    'contact_id_a' => 31,
-    'contact_id_b' => 33,
-    'relationship_type_id' => 18,
+    'contact_id_a' => 3,
+    'contact_id_b' => 5,
+    'relationship_type_id' => 26,
     'start_date' => '2010-10-30',
     'end_date' => '2010-12-30',
     'is_active' => 1,
     'note' => 'note',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Relationship', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,9 +56,9 @@ function relationship_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id_a' => '31',
-        'contact_id_b' => '33',
-        'relationship_type_id' => '18',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '26',
         'start_date' => '2013-07-29 00:00:00',
         'end_date' => '2013-08-04 00:00:00',
         'is_active' => '1',
@@ -69,23 +74,23 @@ function relationship_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testRelationshipCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testRelationshipCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Relationship/Delete.ex.php b/civicrm/api/v3/examples/Relationship/Delete.ex.php
index 081973a3048b89d028ffbb75ee233774f04e6a54..0f561e92d540f968651da7d05e4ee2bc52c8338b 100644
--- a/civicrm/api/v3/examples/Relationship/Delete.ex.php
+++ b/civicrm/api/v3/examples/Relationship/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Relationship.delete API.
  *
@@ -10,7 +15,7 @@ function relationship_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Relationship', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function relationship_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testRelationshipDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testRelationshipDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Relationship/Get.ex.php b/civicrm/api/v3/examples/Relationship/Get.ex.php
index b533076a165769f2ad5da72556193bed753ed881..c3ea39ed3a0b4c5ede3677fad5143194ab259358 100644
--- a/civicrm/api/v3/examples/Relationship/Get.ex.php
+++ b/civicrm/api/v3/examples/Relationship/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Relationship.get API.
  *
@@ -10,7 +15,7 @@ function relationship_get_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Relationship', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -45,9 +50,9 @@ function relationship_get_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id_a' => '47',
-        'contact_id_b' => '49',
-        'relationship_type_id' => '22',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '33',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -62,23 +67,23 @@ function relationship_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetWithCustom"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetWithCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Relationship/INRelationshipType.ex.php b/civicrm/api/v3/examples/Relationship/INRelationshipType.ex.php
index 4a323b43a3210123008d9cd820599156c7084486..74544ef72cc3f921e498abd8f176866560f9f609 100644
--- a/civicrm/api/v3/examples/Relationship/INRelationshipType.ex.php
+++ b/civicrm/api/v3/examples/Relationship/INRelationshipType.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Relationship.get API.
  *
@@ -11,13 +16,13 @@ function relationship_get_example() {
   $params = [
     'relationship_type_id' => [
       'IN' => [
-        '0' => 36,
-        '1' => 37,
+        '0' => 56,
+        '1' => 57,
       ],
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Relationship', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,9 +56,9 @@ function relationship_get_expectedresult() {
     'values' => [
       '2' => [
         'id' => '2',
-        'contact_id_a' => '99',
-        'contact_id_b' => '101',
-        'relationship_type_id' => '36',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '56',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -61,9 +66,9 @@ function relationship_get_expectedresult() {
       ],
       '3' => [
         'id' => '3',
-        'contact_id_a' => '99',
-        'contact_id_b' => '101',
-        'relationship_type_id' => '37',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '57',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -76,23 +81,23 @@ function relationship_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetTypeOperators"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetTypeOperators"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Relationship/NotBetweenRelationshipType.ex.php b/civicrm/api/v3/examples/Relationship/NotBetweenRelationshipType.ex.php
index 06ae19f46a10383f92af58322f7e34d5a0af10dc..eafff85effc04ad20f66bfd8922e86e090b60ed6 100644
--- a/civicrm/api/v3/examples/Relationship/NotBetweenRelationshipType.ex.php
+++ b/civicrm/api/v3/examples/Relationship/NotBetweenRelationshipType.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Relationship.get API.
  *
@@ -11,13 +16,13 @@ function relationship_get_example() {
   $params = [
     'relationship_type_id' => [
       'NOT BETWEEN' => [
-        '0' => 36,
-        '1' => 38,
+        '0' => 56,
+        '1' => 58,
       ],
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Relationship', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -52,9 +57,9 @@ function relationship_get_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id_a' => '99',
-        'contact_id_b' => '101',
-        'relationship_type_id' => '35',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '55',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -67,23 +72,23 @@ function relationship_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetTypeOperators"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetTypeOperators"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Relationship/NotInRelationshipType.ex.php b/civicrm/api/v3/examples/Relationship/NotInRelationshipType.ex.php
index 42cad00cec94fba9abb66da40fb612d7185003df..2696dada28e732166a631977e3227937fabca8e3 100644
--- a/civicrm/api/v3/examples/Relationship/NotInRelationshipType.ex.php
+++ b/civicrm/api/v3/examples/Relationship/NotInRelationshipType.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Relationship.get API.
  *
@@ -11,13 +16,13 @@ function relationship_get_example() {
   $params = [
     'relationship_type_id' => [
       'NOT IN' => [
-        '0' => 36,
-        '1' => 37,
+        '0' => 56,
+        '1' => 57,
       ],
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Relationship', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,9 +56,9 @@ function relationship_get_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id_a' => '99',
-        'contact_id_b' => '101',
-        'relationship_type_id' => '35',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '55',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -61,9 +66,9 @@ function relationship_get_expectedresult() {
       ],
       '4' => [
         'id' => '4',
-        'contact_id_a' => '99',
-        'contact_id_b' => '101',
-        'relationship_type_id' => '38',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '58',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -76,23 +81,23 @@ function relationship_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetTypeOperators"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetTypeOperators"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Relationship/filterIsCurrent.ex.php b/civicrm/api/v3/examples/Relationship/filterIsCurrent.ex.php
index a1275167f6372e2620d42fae56bbb704d2368362..5407675555651a1a94e54182a3bf178cc4cdf339 100644
--- a/civicrm/api/v3/examples/Relationship/filterIsCurrent.ex.php
+++ b/civicrm/api/v3/examples/Relationship/filterIsCurrent.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Relationship.get API.
  *
@@ -14,7 +19,7 @@ function relationship_get_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Relationship', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,9 +54,9 @@ function relationship_get_expectedresult() {
     'values' => [
       '2' => [
         'id' => '2',
-        'contact_id_a' => '95',
-        'contact_id_b' => '97',
-        'relationship_type_id' => '34',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '53',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -64,23 +69,23 @@ function relationship_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetIsCurrent"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetIsCurrent"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/RelationshipType/Create.ex.php b/civicrm/api/v3/examples/RelationshipType/Create.ex.php
index e83a875ed662b504df7ae87850fe97a069a48787..9c7d4d3537f1e7fd65858a6e677802cedf8b06cc 100644
--- a/civicrm/api/v3/examples/RelationshipType/Create.ex.php
+++ b/civicrm/api/v3/examples/RelationshipType/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the RelationshipType.create API.
  *
@@ -16,7 +21,7 @@ function relationship_type_create_example() {
     'sequential' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('RelationshipType', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -70,23 +75,23 @@ function relationship_type_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testRelationshipTypeCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testRelationshipTypeCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/RelationshipType/Delete.ex.php b/civicrm/api/v3/examples/RelationshipType/Delete.ex.php
index 4f2afdd612877d8f2f79d179bf617e835f56c740..23c3ea9245499c7017276019bb013400ca4b0097 100644
--- a/civicrm/api/v3/examples/RelationshipType/Delete.ex.php
+++ b/civicrm/api/v3/examples/RelationshipType/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the RelationshipType.delete API.
  *
@@ -10,7 +15,7 @@ function relationship_type_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('RelationshipType', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function relationship_type_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testRelationshipTypeDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testRelationshipTypeDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ReportTemplate/Getrows.ex.php b/civicrm/api/v3/examples/ReportTemplate/Getrows.ex.php
index 97e0948a9db8311d8c76d1bb0cbdf2f4d8b6baef..5441ac2df75f90700dbbf7fc4b32cc7b004cf315 100644
--- a/civicrm/api/v3/examples/ReportTemplate/Getrows.ex.php
+++ b/civicrm/api/v3/examples/ReportTemplate/Getrows.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ReportTemplate.getrows API.
  *
@@ -18,7 +23,7 @@ function report_template_getrows_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ReportTemplate', 'getrows', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,6 +63,7 @@ function report_template_getrows_expectedresult() {
         'civicrm_mailing_mailing_subject' => 'Hello again, {contact.display_name}',
         'civicrm_mailing_event_opened_id' => '17',
         'civicrm_mailing_event_opened_time_stamp' => '2011-05-26 13:23:22',
+        'class' => '',
         'civicrm_contact_sort_name_link' => '/index.php?q=civicrm/contact/view&amp;reset=1&amp;cid=102',
         'civicrm_contact_sort_name_hover' => 'View Contact details for this contact.',
       ],
@@ -69,6 +75,7 @@ function report_template_getrows_expectedresult() {
         'civicrm_mailing_mailing_subject' => 'Hello {contact.display_name}',
         'civicrm_mailing_event_opened_id' => '9',
         'civicrm_mailing_event_opened_time_stamp' => '2011-05-26 13:19:03',
+        'class' => '',
         'civicrm_contact_sort_name_link' => '/index.php?q=civicrm/contact/view&amp;reset=1&amp;cid=109',
         'civicrm_contact_sort_name_hover' => 'View Contact details for this contact.',
       ],
@@ -80,6 +87,7 @@ function report_template_getrows_expectedresult() {
         'civicrm_mailing_mailing_subject' => 'Hello {contact.display_name}',
         'civicrm_mailing_event_opened_id' => '5',
         'civicrm_mailing_event_opened_time_stamp' => '2011-05-26 13:17:54',
+        'class' => '',
         'civicrm_contact_sort_name_link' => '/index.php?q=civicrm/contact/view&amp;reset=1&amp;cid=110',
         'civicrm_contact_sort_name_hover' => 'View Contact details for this contact.',
       ],
@@ -91,6 +99,7 @@ function report_template_getrows_expectedresult() {
         'civicrm_mailing_mailing_subject' => 'Hello {contact.display_name}',
         'civicrm_mailing_event_opened_id' => '15',
         'civicrm_mailing_event_opened_time_stamp' => '2011-05-26 13:20:59',
+        'class' => '',
         'civicrm_contact_sort_name_link' => '/index.php?q=civicrm/contact/view&amp;reset=1&amp;cid=111',
         'civicrm_contact_sort_name_hover' => 'View Contact details for this contact.',
       ],
@@ -102,6 +111,7 @@ function report_template_getrows_expectedresult() {
         'civicrm_mailing_mailing_subject' => 'Hello {contact.display_name}',
         'civicrm_mailing_event_opened_id' => '11',
         'civicrm_mailing_event_opened_time_stamp' => '2011-05-26 13:19:44',
+        'class' => '',
         'civicrm_contact_sort_name_link' => '/index.php?q=civicrm/contact/view&amp;reset=1&amp;cid=112',
         'civicrm_contact_sort_name_hover' => 'View Contact details for this contact.',
       ],
@@ -121,23 +131,23 @@ function report_template_getrows_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testReportTemplateGetRowsMailingUniqueOpened"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ReportTemplateTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testReportTemplateGetRowsMailingUniqueOpened"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ReportTemplateTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ReportTemplate/Getstatistics.ex.php b/civicrm/api/v3/examples/ReportTemplate/Getstatistics.ex.php
index 40f22af22bf25cd7a6c050adc3321350a05ecfed..762ecb43099b94c9295df10ba33dbb06a04c5ce1 100644
--- a/civicrm/api/v3/examples/ReportTemplate/Getstatistics.ex.php
+++ b/civicrm/api/v3/examples/ReportTemplate/Getstatistics.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ReportTemplate.getstatistics API.
  *
@@ -12,7 +17,7 @@ function report_template_getstatistics_example() {
     'report_id' => 'contribute/deferredrevenue',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ReportTemplate', 'getstatistics', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,15 +47,17 @@ function report_template_getstatistics_expectedresult() {
   $expectedResult = [
     'is_error' => 0,
     'version' => 3,
-    'count' => 1,
-    'id' => 'counts',
+    'count' => 3,
     'values' => [
       'counts' => [
         'rowCount' => [
           'title' => 'Row(s) Listed',
           'value' => 0,
+          'type' => 1,
         ],
       ],
+      'groups' => [],
+      'filters' => [],
     ],
   ];
 
@@ -58,23 +65,23 @@ function report_template_getstatistics_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testReportTemplateGetStatisticsAllReports"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ReportTemplateTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testReportTemplateGetStatisticsAllReports"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ReportTemplateTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/SavedSearch/Create.ex.php b/civicrm/api/v3/examples/SavedSearch/Create.ex.php
index 8edb9f8a62b0f7133bd911be11a6a31f883b34a8..8a376d32d584a5ac5eb0a0007855e1c13a3d1082 100644
--- a/civicrm/api/v3/examples/SavedSearch/Create.ex.php
+++ b/civicrm/api/v3/examples/SavedSearch/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the SavedSearch.create API.
  *
@@ -7,6 +12,7 @@
  */
 function saved_search_create_example() {
   $params = [
+    'expires_date' => '2021-08-08',
     'form_values' => [
       'relation_type_id' => '6_a_b',
       'relation_target_name' => 'Default Organization',
@@ -23,7 +29,7 @@ function saved_search_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('SavedSearch', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,12 +64,22 @@ function saved_search_create_expectedresult() {
     'values' => [
       '3' => [
         'id' => '3',
+        'name' => '',
+        'label' => '',
         'form_values' => [
           'relation_type_id' => '6_a_b',
           'relation_target_name' => 'Default Organization',
         ],
         'mapping_id' => '',
         'search_custom_id' => '',
+        'api_entity' => '',
+        'api_params' => '',
+        'created_id' => '',
+        'modified_id' => '',
+        'expires_date' => '20210808000000',
+        'created_date' => '',
+        'modified_date' => '',
+        'description' => '',
         'api.Group.create' => [
           'is_error' => 0,
           'version' => 3,
@@ -79,6 +95,9 @@ function saved_search_create_expectedresult() {
               'saved_search_id' => '3',
               'is_active' => '1',
               'visibility' => 'User and User Admin Only',
+              'where_clause' => '',
+              'select_tables' => '',
+              'where_tables' => '',
               'group_type' => '',
               'cache_date' => '',
               'refresh_date' => '',
@@ -88,6 +107,8 @@ function saved_search_create_expectedresult() {
               'is_reserved' => 0,
               'created_id' => '',
               'modified_id' => '',
+              'frontend_title' => '',
+              'frontend_description' => '',
             ],
           ],
         ],
@@ -99,23 +120,23 @@ function saved_search_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSavedSearchWithSmartGroup"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SavedSearchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSavedSearchWithSmartGroup"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SavedSearchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/SavedSearch/Delete.ex.php b/civicrm/api/v3/examples/SavedSearch/Delete.ex.php
index 00bbed7150dcf077502355777b4415f4a2971e47..37574e701e6c8f286c2441074b36b2d5a23f3a57 100644
--- a/civicrm/api/v3/examples/SavedSearch/Delete.ex.php
+++ b/civicrm/api/v3/examples/SavedSearch/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the SavedSearch.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function saved_search_delete_example() {
   $params = [
-    'id' => 4,
+    'id' => 6,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('SavedSearch', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function saved_search_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteSavedSearch"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SavedSearchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteSavedSearch"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SavedSearchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/SavedSearch/Get.ex.php b/civicrm/api/v3/examples/SavedSearch/Get.ex.php
index 302240797a41a9d3a8c13e3691fe7fcb41627ef4..7d948d0a675704f907e867868a7190ba4d49e5c2 100644
--- a/civicrm/api/v3/examples/SavedSearch/Get.ex.php
+++ b/civicrm/api/v3/examples/SavedSearch/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the SavedSearch.get API.
  *
@@ -10,7 +15,7 @@ function saved_search_get_example() {
     'id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('SavedSearch', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,6 +54,9 @@ function saved_search_get_expectedresult() {
           'relation_type_id' => '6_a_b',
           'relation_target_name' => 'Default Organization',
         ],
+        'expires_date' => '2021-08-08 00:00:00',
+        'created_date' => '2013-07-28 08:49:19',
+        'modified_date' => '2012-11-14 16:02:35',
       ],
     ],
   ];
@@ -57,23 +65,23 @@ function saved_search_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateAndGetSavedSearch"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SavedSearchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateAndGetSavedSearch"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SavedSearchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/Create.ex.php b/civicrm/api/v3/examples/Setting/Create.ex.php
index fc2b6b9bf267a0ec1f82b07a677ea53178a8e2b4..7ea582474cfa1c46162e6cd8a8b09b3973fa378b 100644
--- a/civicrm/api/v3/examples/Setting/Create.ex.php
+++ b/civicrm/api/v3/examples/Setting/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.create API.
  *
@@ -7,11 +12,11 @@
  */
 function setting_create_example() {
   $params = [
-    'domain_id' => 2,
+    'domain_id' => 21,
     'uniq_email_per_site' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,9 +47,9 @@ function setting_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 21,
     'values' => [
-      '2' => [
+      '21' => [
         'uniq_email_per_site' => '1',
       ],
     ],
@@ -54,23 +59,23 @@ function setting_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSetting"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSetting"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/CreateAllDomains.ex.php b/civicrm/api/v3/examples/Setting/CreateAllDomains.ex.php
index d25e1610452887985aad49a17346a015257d7d8b..f5117e6fe27b92f9ec34a6de1b4c7b1bd0ea114d 100644
--- a/civicrm/api/v3/examples/Setting/CreateAllDomains.ex.php
+++ b/civicrm/api/v3/examples/Setting/CreateAllDomains.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.create API.
  *
@@ -13,7 +18,7 @@ function setting_create_example() {
     'uniq_email_per_site' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,15 +48,18 @@ function setting_create_expectedresult() {
   $expectedResult = [
     'is_error' => 0,
     'version' => 3,
-    'count' => 3,
+    'count' => 4,
     'values' => [
-      '1' => [
+      '37' => [
         'uniq_email_per_site' => '1',
       ],
-      '2' => [
+      '38' => [
+        'uniq_email_per_site' => '1',
+      ],
+      '1' => [
         'uniq_email_per_site' => '1',
       ],
-      '3' => [
+      '2' => [
         'uniq_email_per_site' => '1',
       ],
     ],
@@ -61,23 +69,23 @@ function setting_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSettingMultipleDomains"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSettingMultipleDomains"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/CreateSettingCurrentDomain.ex.php b/civicrm/api/v3/examples/Setting/CreateSettingCurrentDomain.ex.php
index 038295ee25cd12a76b89f76606fa6c3fa65c47de..13d5f9055405bdd5ff1b8babc6c17e3e0531b924 100644
--- a/civicrm/api/v3/examples/Setting/CreateSettingCurrentDomain.ex.php
+++ b/civicrm/api/v3/examples/Setting/CreateSettingCurrentDomain.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.create API.
  *
@@ -12,7 +17,7 @@ function setting_create_example() {
     'uniq_email_per_site' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -55,23 +60,23 @@ function setting_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSetting"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSetting"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/CreateSpecifiedDomains.ex.php b/civicrm/api/v3/examples/Setting/CreateSpecifiedDomains.ex.php
index d344556e719939339405367a029a9593b8c6376a..9e27e290eb5bc457b89da3b6ae7ae8bc632400a3 100644
--- a/civicrm/api/v3/examples/Setting/CreateSpecifiedDomains.ex.php
+++ b/civicrm/api/v3/examples/Setting/CreateSpecifiedDomains.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.create API.
  *
@@ -11,12 +16,12 @@ function setting_create_example() {
   $params = [
     'domain_id' => [
       '0' => 1,
-      '1' => 3,
+      '1' => 38,
     ],
     'uniq_email_per_site' => 0,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,7 +56,7 @@ function setting_create_expectedresult() {
       '1' => [
         'uniq_email_per_site' => 0,
       ],
-      '3' => [
+      '38' => [
         'uniq_email_per_site' => 0,
       ],
     ],
@@ -61,23 +66,23 @@ function setting_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSettingMultipleDomains"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSettingMultipleDomains"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/Get.ex.php b/civicrm/api/v3/examples/Setting/Get.ex.php
index d25be60d68f804422fd146172995bf9bc66f4004..03a62f402803aa9466fb7e1c5aab357b8016aaa8 100644
--- a/civicrm/api/v3/examples/Setting/Get.ex.php
+++ b/civicrm/api/v3/examples/Setting/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.get API.
  *
@@ -7,11 +12,11 @@
  */
 function setting_get_example() {
   $params = [
-    'domain_id' => 2,
+    'domain_id' => 41,
     'return' => 'uniq_email_per_site',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,10 +47,10 @@ function setting_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 41,
     'values' => [
-      '2' => [
-        'uniq_email_per_site' => '1',
+      '41' => [
+        'uniq_email_per_site' => 0,
       ],
     ],
   ];
@@ -54,23 +59,23 @@ function setting_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetSetting"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetSetting"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/GetAllDomains.ex.php b/civicrm/api/v3/examples/Setting/GetAllDomains.ex.php
index 7a0f6b26f1bfacde7ed8da1f6e725d7f404c7239..d2d96418b17a4c6da11a74116c350ddb7d36533b 100644
--- a/civicrm/api/v3/examples/Setting/GetAllDomains.ex.php
+++ b/civicrm/api/v3/examples/Setting/GetAllDomains.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.get API.
  *
@@ -13,7 +18,7 @@ function setting_get_example() {
     'return' => 'uniq_email_per_site',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,15 +48,18 @@ function setting_get_expectedresult() {
   $expectedResult = [
     'is_error' => 0,
     'version' => 3,
-    'count' => 3,
+    'count' => 4,
     'values' => [
-      '1' => [
+      '37' => [
         'uniq_email_per_site' => '1',
       ],
-      '2' => [
+      '38' => [
+        'uniq_email_per_site' => '1',
+      ],
+      '1' => [
         'uniq_email_per_site' => '1',
       ],
-      '3' => [
+      '2' => [
         'uniq_email_per_site' => '1',
       ],
     ],
@@ -61,23 +69,23 @@ function setting_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSettingMultipleDomains"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSettingMultipleDomains"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/GetDefaults.ex.php b/civicrm/api/v3/examples/Setting/GetDefaults.ex.php
index cda1629a636f786e49dc758d8543ef01c0dc44d2..a721feaf0ac10a8a501e6f0551281f5d5d7ca179 100644
--- a/civicrm/api/v3/examples/Setting/GetDefaults.ex.php
+++ b/civicrm/api/v3/examples/Setting/GetDefaults.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.getdefaults API.
  *
@@ -12,7 +17,7 @@ function setting_getdefaults_example() {
     'name' => 'address_format',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'getdefaults', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -61,23 +66,23 @@ function setting_getdefaults_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetDefaults"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetDefaults"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/GetFields.ex.php b/civicrm/api/v3/examples/Setting/GetFields.ex.php
index 2c128b70d8676268d5426f02a1cdaec4336dd709..e48cac75aa6056867f6c5a73d231f636e0a5aa78 100644
--- a/civicrm/api/v3/examples/Setting/GetFields.ex.php
+++ b/civicrm/api/v3/examples/Setting/GetFields.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.getfields API.
  *
- * Demonstrate return from getfields - see subfolder for variants
+ * Demonstrate return from getfields - see subfolder for variants.
  *
  * @return array
  *   API result array
@@ -10,7 +15,7 @@
 function setting_getfields_example() {
   $params = [];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'getfields', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -40,7 +45,7 @@ function setting_getfields_expectedresult() {
   $expectedResult = [
     'is_error' => 0,
     'version' => 3,
-    'count' => 173,
+    'count' => 195,
     'values' => [
       'address_standardization_provider' => [
         'group_name' => 'Address Preferences',
@@ -56,7 +61,6 @@ function setting_getfields_expectedresult() {
         ],
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => 'CiviCRM includes an optional plugin for interfacing with the United States Postal Services (USPS) Address Standardization web service. You must register to use the USPS service at https://www.usps.com/business/web-tools-apis/address-information.htm. If you are approved, they will provide you with a User ID and the URL for the service. Plugins for other address standardization services may be available from 3rd party developers. If installed, they will be included in the drop-down below. ',
       ],
       'address_standardization_userid' => [
@@ -70,7 +74,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Provider service user ID',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'address_standardization_url' => [
@@ -84,7 +87,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Provider Service URL',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => 'Web Service URL',
         'validate_callback' => 'CRM_Utils_Rule::url',
       ],
@@ -209,7 +211,22 @@ function setting_getfields_expectedresult() {
         'title' => 'Enable deprecated Embedded Activity Revisions',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'Enable tracking of activity revisions embedded within the \"civicrm_activity\" table. Alternatively, see \"Administer => System Settings => Misc => Logging\".',
+        'description' => 'Enable tracking of activity revisions embedded within the \"civicrm_activity\" table. This should not be enabled on new installs and will be unsupported in the future. You should enable \"Administer => System Settings => Misc => Logging\" instead.',
+        'help_text' => '',
+      ],
+      'civicaseShowCaseActivities' => [
+        'group_name' => 'CiviCRM Preferences',
+        'group' => 'core',
+        'name' => 'civicaseShowCaseActivities',
+        'type' => 'Boolean',
+        'quick_form_type' => 'YesNo',
+        'default' => '',
+        'html_type' => 'radio',
+        'add' => '5.24',
+        'title' => 'Include case activities in general activity views.',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'e.g. the Contact form\'s Activity tab listing. Without this ticked, activities that belong to a case are hidden (default behavior). Warning: enabling this option means that all case activities relating to a contact will be listed which could result in users without \"access all cases and activities\" permission being able to see see the summarized details (date, subject, assignees, status etc.). Such users will still be prevented from managing the case and viewing/editing the activity.',
         'help_text' => '',
       ],
       'cvv_backoffice_required' => [
@@ -226,25 +243,21 @@ function setting_getfields_expectedresult() {
         'is_contact' => 0,
         'description' => 'Is the CVV code required for back office credit card transactions',
         'help_text' => 'If set it back-office credit card transactions will required a cvv code. Leave as required unless you have a very strong reason to change',
+        'settings_pages' => [
+          'contribute' => [
+            'weight' => 10,
+          ],
+        ],
       ],
       'contribution_invoice_settings' => [
         'group_name' => 'Contribute Preferences',
         'group' => 'contribute',
         'name' => 'contribution_invoice_settings',
         'type' => 'Array',
-        'default' => [
-          'invoice_prefix' => 'INV_',
-          'due_date' => '10',
-          'due_date_period' => 'days',
-          'notes' => '',
-          'tax_term' => 'Sales Tax',
-          'tax_display_settings' => 'Inclusive',
-        ],
         'add' => '4.7',
-        'title' => 'Contribution Invoice Settings',
+        'title' => 'Deprecated, virtualized setting',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'invoicing' => [
@@ -262,23 +275,97 @@ function setting_getfields_expectedresult() {
         'on_change' => [
           '0' => 'CRM_Invoicing_Utils::onToggle',
         ],
+        'settings_pages' => [
+          'contribute' => [
+            'weight' => 90,
+          ],
+        ],
       ],
-      'acl_financial_type' => [
-        'group_name' => 'Contribute Preferences',
-        'group' => 'contribute',
-        'name' => 'acl_financial_type',
-        'type' => 'Boolean',
+      'invoice_prefix' => [
+        'default' => 'INV_',
+        'html_type' => 'text',
+        'name' => 'invoice_prefix',
+        'add' => '5.23',
+        'type' => 2,
+        'title' => 'Invoice Prefix',
+        'description' => 'Enter prefix to be be preprended when creating an invoice number',
+        'is_domain' => 1,
+        'is_contact' => 0,
+      ],
+      'invoice_due_date' => [
+        'default' => '10',
+        'name' => 'invoice_due_date',
+        'html_type' => 'text',
+        'title' => 'Due Date',
+        'add' => '5.23',
+        'type' => 1,
+        'is_domain' => 1,
+        'is_contact' => 0,
+      ],
+      'invoice_due_date_period' => [
+        'default' => 'days',
+        'html_type' => 'select',
+        'name' => 'invoice_due_date_period',
+        'title' => 'For transmission',
+        'weight' => 4,
+        'add' => '5.23',
+        'type' => 2,
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'Select the interval for due date.',
+        'options' => [
+          'select' => '- select -',
+          'days' => 'Days',
+          'months' => 'Months',
+          'years' => 'Years',
+        ],
+      ],
+      'invoice_notes' => [
+        'default' => '',
+        'name' => 'invoice_notes',
+        'html_type' => 'wysiwyg',
+        'title' => 'Notes or Standard Terms',
+        'type' => 2,
+        'add' => '5.23',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'Enter note or message to be displayed on PDF invoice or credit notes ',
+        'attributes' => [
+          'rows' => 2,
+          'cols' => 40,
+        ],
+      ],
+      'invoice_is_email_pdf' => [
+        'name' => 'invoice_is_email_pdf',
         'html_type' => 'checkbox',
-        'quick_form_type' => 'Element',
-        'default' => 0,
-        'add' => '4.7',
-        'title' => 'Enable Access Control by Financial Type',
+        'add' => '5.23',
+        'type' => 16,
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
-        'help_text' => '',
-        'help' => [
-          'id' => 'acl_financial_type',
+        'title' => 'Automatically email invoice when user purchases online',
+        'description' => 'Should a pdf invoice be emailed automatically?',
+      ],
+      'tax_term' => [
+        'default' => 'Sales Tax',
+        'name' => 'tax_term',
+        'html_type' => 'text',
+        'add' => '5.23',
+        'title' => 'Tax Term',
+        'type' => 2,
+        'is_domain' => 1,
+        'is_contact' => 0,
+      ],
+      'tax_display_settings' => [
+        'default' => 'Inclusive',
+        'html_type' => 'select',
+        'name' => 'tax_display_settings',
+        'type' => 2,
+        'add' => '5.23',
+        'title' => 'Tax Display Settings',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'pseudoconstant' => [
+          'callback' => 'CRM_Core_SelectValues::taxDisplayOptions',
         ],
       ],
       'deferred_revenue_enabled' => [
@@ -293,8 +380,12 @@ function setting_getfields_expectedresult() {
         'title' => 'Enable Deferred Revenue',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
+        'settings_pages' => [
+          'contribute' => [
+            'weight' => 50,
+          ],
+        ],
       ],
       'default_invoice_page' => [
         'group_name' => 'Contribute Preferences',
@@ -304,15 +395,21 @@ function setting_getfields_expectedresult() {
         'quick_form_type' => 'Select',
         'default' => '',
         'pseudoconstant' => [
-          'callback' => 'CRM_Contribute_PseudoConstant::contributionPage',
+          'table' => 'civicrm_contribution_page',
+          'keyColumn' => 'id',
+          'labelColumn' => 'title',
         ],
         'html_type' => 'select',
         'add' => '4.7',
         'title' => 'Default invoice payment page',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
+        'settings_pages' => [
+          'contribute' => [
+            'weight' => 70,
+          ],
+        ],
       ],
       'always_post_to_accounts_receivable' => [
         'group_name' => 'Contribute Preferences',
@@ -326,8 +423,12 @@ function setting_getfields_expectedresult() {
         'title' => 'Always post to Accounts Receivable?',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
+        'settings_pages' => [
+          'contribute' => [
+            'weight' => 40,
+          ],
+        ],
       ],
       'update_contribution_on_membership_type_change' => [
         'group_name' => 'Contribute Preferences',
@@ -343,6 +444,11 @@ function setting_getfields_expectedresult() {
         'is_contact' => 0,
         'description' => 'Enabling this setting will update related contribution of membership(s) except if the membership is paid for with a recurring contribution.',
         'help_text' => '',
+        'settings_pages' => [
+          'contribute' => [
+            'weight' => 20,
+          ],
+        ],
       ],
       'contact_view_options' => [
         'group_name' => 'CiviCRM Preferences',
@@ -424,7 +530,7 @@ function setting_getfields_expectedresult() {
         'pseudoconstant' => [
           'optionGroupName' => 'address_options',
         ],
-        'default' => '123456891011',
+        'default' => '12345689101112',
         'add' => '4.1',
         'title' => 'Address Fields',
         'is_domain' => 1,
@@ -479,7 +585,7 @@ function setting_getfields_expectedresult() {
         'name' => 'display_name_format',
         'type' => 'String',
         'html_type' => 'textarea',
-        'default' => '{contact.prefix_id:label}{ }{contact.first_name}{ }{contact.last_name}{ }{contact.suffix_id:label}',
+        'default' => '{contact.individual_prefix}{ }{contact.first_name}{ }{contact.last_name}{ }{contact.individual_suffix}',
         'add' => '4.1',
         'title' => 'Individual Display Name Format',
         'is_domain' => 1,
@@ -580,6 +686,28 @@ function setting_getfields_expectedresult() {
         'description' => '',
         'help_text' => '',
       ],
+      'defaultExternUrl' => [
+        'group_name' => 'CiviCRM Preferences',
+        'group' => 'core',
+        'name' => 'defaultExternUrl',
+        'type' => 'String',
+        'quick_form_type' => 'Select',
+        'html_type' => 'Select',
+        'html_attributes' => [
+          'class' => 'crm-select2',
+        ],
+        'default' => 'router',
+        'add' => '5.27',
+        'title' => 'Extern URL Style',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'This setting provides transitional support. It should be set to \"Prefer normal router.\" If your deployment requires \"Prefer standalone script\", then please ensure that the issue is tracked in <code>lab.civicrm.org</code>.',
+        'help_text' => '',
+        'options' => [
+          'standalone' => 'Prefer standalone scripts',
+          'router' => 'Prefer normal router',
+        ],
+      ],
       'activity_assignee_notification' => [
         'group_name' => 'CiviCRM Preferences',
         'group' => 'core',
@@ -677,9 +805,26 @@ function setting_getfields_expectedresult() {
         'pseudoconstant' => [
           'callback' => 'CRM_Contact_BAO_GroupContactCache::getModes',
         ],
-        'description' => 'Should the smart groups be by cron jobs or user actions',
+        'description' => 'Should the smart groups be flushed by cron jobs or user actions',
         'help_text' => 'In \"Opportunistic Flush\" mode, caches are flushed in response to user actions; this mode is broadly compatible but may add latency during form-submissions. In \"Cron Flush\" mode, you should schedule a cron job to flush caches; this can improve latency on form-submissions but requires more setup.',
       ],
+      'acl_cache_refresh_mode' => [
+        'group_name' => 'CiviCRM Preferences',
+        'group' => 'core',
+        'name' => 'acl_cache_refresh_mode',
+        'type' => 'String',
+        'html_type' => 'radio',
+        'default' => 'opportunistic',
+        'add' => '5.37.0',
+        'title' => 'ACL Group Refresh Mode',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'pseudoconstant' => [
+          'callback' => 'CRM_Contact_BAO_GroupContactCache::getModes',
+        ],
+        'description' => 'Should the acl cache be flushed by cron jobs or user actions',
+        'help_text' => 'In \"Opportunistic Flush\" mode, caches are flushed in response to user actions; this mode is broadly compatible but may add latency during form-submissions. In \"Cron Flush\" mode, you should schedule a cron job to flush caches if your site uses ACLs; this can improve latency on form-submissions but requires more setup.',
+      ],
       'installed' => [
         'bootstrap_comment' => 'This is a boot setting which may be loaded during bootstrap. Defaults are loaded via SettingsBag::getSystemDefaults().',
         'group_name' => 'CiviCRM Preferences',
@@ -712,7 +857,27 @@ function setting_getfields_expectedresult() {
         'title' => 'Maximum Attachments',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'Maximum number of files (documents, images, etc.) which can be attached to emails or activities.',
+        'description' => 'Maximum number of files (documents, images, etc.) which can be attached to emails or activities. This setting applies to UI forms and limits the number of fields available on the form.',
+        'help_text' => '',
+      ],
+      'max_attachments_backend' => [
+        'group_name' => 'CiviCRM Preferences',
+        'group' => 'core',
+        'name' => 'max_attachments_backend',
+        'legacy_key' => 'maxAttachmentsBackend',
+        'type' => 'Integer',
+        'quick_form_type' => 'Element',
+        'html_type' => 'text',
+        'html_attributes' => [
+          'size' => 2,
+          'maxlength' => 8,
+        ],
+        'default' => 100,
+        'add' => '5.20',
+        'title' => 'Maximum Attachments For Backend Processes',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'Maximum number of files (documents, images, etc.) which can be processed during backend processing such as automated inbound email processing. This should be a big number higher than the other Maximum Attachments setting above. This setting here merely provides an upper limit to prevent attacks that might overload the server.',
         'help_text' => '',
       ],
       'maxFileSize' => [
@@ -811,92 +976,92 @@ function setting_getfields_expectedresult() {
           'callback' => 'CRM_Contact_Form_Task_PDFLetterCommon::getLoggingOptions',
         ],
       ],
-      'wkhtmltopdfPath' => [
+      'dompdf_font_dir' => [
+        'is_domain' => 1,
+        'is_contact' => 0,
         'group_name' => 'CiviCRM Preferences',
         'group' => 'core',
-        'name' => 'wkhtmltopdfPath',
+        'name' => 'dompdf_font_dir',
+        'title' => 'DOMPDF Font Folder',
+        'description' => 'Additional folder where DOMPDF will look for fonts.',
         'type' => 'String',
         'quick_form_type' => 'Element',
+        'html_type' => 'text',
         'html_attributes' => [
           'size' => 64,
           'maxlength' => 256,
         ],
-        'html_type' => 'text',
         'default' => '',
-        'add' => '4.3',
-        'title' => 'Path to wkhtmltopdf executable',
-        'is_domain' => 1,
-        'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
+        'add' => '5.43',
       ],
-      'recaptchaOptions' => [
+      'dompdf_chroot' => [
+        'is_domain' => 1,
+        'is_contact' => 0,
         'group_name' => 'CiviCRM Preferences',
         'group' => 'core',
-        'name' => 'recaptchaOptions',
+        'name' => 'dompdf_chroot',
+        'title' => 'DOMPDF Local Images Folder',
+        'description' => 'Folder to restrict where DOMPDF looks when loading local images. By default it is the DOMPDF folder itself for security reasons. It will search in subfolders.',
         'type' => 'String',
         'quick_form_type' => 'Element',
+        'html_type' => 'text',
         'html_attributes' => [
           'size' => 64,
-          'maxlength' => 64,
+          'maxlength' => 256,
         ],
-        'html_type' => 'text',
         'default' => '',
-        'add' => '4.3',
-        'title' => 'Recaptcha Options',
+        'help_text' => '',
+        'add' => '5.43',
+      ],
+      'dompdf_enable_remote' => [
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'You can specify the reCAPTCHA theme options as comma separated data.(eg: theme:\'blackglass\', lang : \'fr\' ). Check the available options at <a href=\"https://developers.google.com/recaptcha/docs/display#config\">Customizing the Look and Feel of reCAPTCHA</a>.',
+        'group_name' => 'CiviCRM Preferences',
+        'group' => 'core',
+        'name' => 'dompdf_enable_remote',
+        'title' => 'DOMPDF Enable Remote Images',
+        'description' => 'Enable the use of remote images. By default this is enabled, but if not using remote images you may wish to turn it off for security reasons.',
+        'type' => 'Boolean',
+        'quick_form_type' => 'YesNo',
+        'html_type' => '',
+        'default' => TRUE,
         'help_text' => '',
+        'add' => '5.43',
       ],
-      'recaptchaPublicKey' => [
+      'dompdf_log_output_file' => [
+        'is_domain' => 1,
+        'is_contact' => 0,
         'group_name' => 'CiviCRM Preferences',
         'group' => 'core',
-        'name' => 'recaptchaPublicKey',
+        'name' => 'dompdf_log_output_file',
+        'title' => 'DOMPDF Log File',
+        'description' => 'DOMPDF will log debugging output in this file.',
         'type' => 'String',
         'quick_form_type' => 'Element',
+        'html_type' => 'text',
         'html_attributes' => [
           'size' => 64,
-          'maxlength' => 64,
+          'maxlength' => 256,
         ],
-        'html_type' => 'text',
         'default' => '',
-        'add' => '4.3',
-        'title' => 'Recaptcha Site Key',
-        'is_domain' => 1,
-        'is_contact' => 0,
-        'description' => '',
-        'help_text' => '',
-      ],
-      'forceRecaptcha' => [
-        'add' => '4.7',
         'help_text' => '',
-        'is_domain' => 1,
-        'is_contact' => 0,
-        'group_name' => 'CiviCRM Preferences',
-        'group' => 'core',
-        'name' => 'forceRecaptcha',
-        'type' => 'Boolean',
-        'quick_form_type' => 'YesNo',
-        'html_type' => '',
-        'default' => 0,
-        'title' => 'Force reCAPTCHA on Contribution pages',
-        'description' => 'If enabled, reCAPTCHA will show on all contribution pages.',
+        'add' => '5.43',
       ],
-      'recaptchaPrivateKey' => [
+      'wkhtmltopdfPath' => [
         'group_name' => 'CiviCRM Preferences',
         'group' => 'core',
-        'name' => 'recaptchaPrivateKey',
+        'name' => 'wkhtmltopdfPath',
         'type' => 'String',
         'quick_form_type' => 'Element',
         'html_attributes' => [
           'size' => 64,
-          'maxlength' => 64,
+          'maxlength' => 256,
         ],
         'html_type' => 'text',
         'default' => '',
         'add' => '4.3',
-        'title' => 'Recaptcha Secret Key',
+        'title' => 'Path to wkhtmltopdf executable',
         'is_domain' => 1,
         'is_contact' => 0,
         'description' => '',
@@ -1478,7 +1643,7 @@ function setting_getfields_expectedresult() {
         'title' => 'Enable Drupal Watchdog Logging',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'Set this value to Yes if you want CiviCRM error/debugging messages to appear in the Drupal error logs',
+        'description' => 'Set this value to Yes if you want CiviCRM error/debugging messages to appear in the Drupal error logs.',
         'help_text' => 'Set this value to Yes if you want CiviCRM error/debugging messages the appear in your CMS\' error log. In the case of Drupal, this will cause all CiviCRM error messages to appear in the watchdog (assuming you have Drupal\'s watchdog enabled)',
       ],
       'debug_enabled' => [
@@ -1493,7 +1658,7 @@ function setting_getfields_expectedresult() {
         'title' => 'Enable Debugging',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'Set this value to Yes if you want to use one of CiviCRM\'s debugging tools. This feature should NOT be enabled for production sites',
+        'description' => 'Set this value to Yes if you want to use one of CiviCRM\'s debugging tools. This feature should NOT be enabled for production sites.',
         'help_text' => 'Do not turn this on on production sites',
       ],
       'backtrace' => [
@@ -1507,7 +1672,7 @@ function setting_getfields_expectedresult() {
         'title' => 'Display Backtrace',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'Set this value to Yes if you want to display a backtrace listing when a fatal error is encountered. This feature should NOT be enabled for production sites',
+        'description' => 'Set this value to Yes if you want to display a backtrace listing when a fatal error is encountered. This feature should NOT be enabled for production sites.',
       ],
       'environment' => [
         'group_name' => 'Developer Preferences',
@@ -1556,7 +1721,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Temporary Files Directory',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => 'File system path where temporary CiviCRM files - such as import data files - are uploaded.',
       ],
       'imageUploadDir' => [
@@ -1639,29 +1803,6 @@ function setting_getfields_expectedresult() {
         'description' => 'Path where CiviCRM extensions are stored.',
         'help_text' => '',
       ],
-      'enable_cart' => [
-        'name' => 'enable_cart',
-        'group_name' => 'Event Preferences',
-        'settings_pages' => [
-          'event' => [
-            'weight' => 10,
-          ],
-        ],
-        'group' => 'event',
-        'type' => 'Boolean',
-        'quick_form_type' => 'CheckBox',
-        'default' => 0,
-        'add' => '4.1',
-        'title' => 'Use Shopping Cart Style Event Registration',
-        'is_domain' => 1,
-        'is_contact' => 0,
-        'description' => 'This feature allows users to register for more than one event at a time. When enabled, users will add event(s) to a \"cart\" and then pay for them all at once. Enabling this setting will affect online registration for all active events. The code is an alpha state, and you will potentially need to have developer resources to debug and fix sections of the codebase while testing and deploying it',
-        'help_text' => '',
-        'documentation_link' => [
-          'page' => 'CiviEvent Cart Checkout',
-          'resource' => 'wiki',
-        ],
-      ],
       'show_events' => [
         'name' => 'show_events',
         'group_name' => 'Event Preferences',
@@ -1701,7 +1842,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Extension Repo URL',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'customTranslateFunction' => [
@@ -1721,7 +1861,6 @@ function setting_getfields_expectedresult() {
         ],
         'default' => '',
         'title' => 'Custom Translate Function',
-        'description' => '',
       ],
       'monetaryThousandSeparator' => [
         'group_name' => 'Localization Preferences',
@@ -1738,7 +1877,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Thousands Separator',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'monetaryDecimalPoint' => [
@@ -1756,7 +1894,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Decimal Delimiter',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'moneyformat' => [
@@ -1771,7 +1908,20 @@ function setting_getfields_expectedresult() {
         'title' => 'Monetary Amount Display',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
+        'help_text' => '',
+      ],
+      'moneyvalueformat' => [
+        'group_name' => 'Localization Preferences',
+        'group' => 'localization',
+        'name' => 'moneyvalueformat',
+        'type' => 'String',
+        'quick_form_type' => 'Element',
+        'html_type' => 'text',
+        'default' => '%!i',
+        'add' => '4.3',
+        'title' => 'Monetary Value Display',
+        'is_domain' => 1,
+        'is_contact' => 0,
         'help_text' => '',
       ],
       'defaultCurrency' => [
@@ -1828,6 +1978,9 @@ function setting_getfields_expectedresult() {
         'type' => 'Integer',
         'quick_form_type' => 'ChainSelect',
         'html_type' => 'ChainSelect',
+        'chain_select_settings' => [
+          'control_field' => 'defaultContactCountry',
+        ],
         'default' => '',
         'title' => 'Default State/Province',
         'description' => 'This value is selected by default when adding a new contact address.',
@@ -1849,7 +2002,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Available Countries',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
         'pseudoconstant' => [
           'callback' => 'CRM_Admin_Form_Setting_Localization::getAvailableCountries',
@@ -1872,7 +2024,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Available States and Provinces (by Country)',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
         'pseudoconstant' => [
           'callback' => 'CRM_Admin_Form_Setting_Localization::getAvailableCountries',
@@ -1889,8 +2040,8 @@ function setting_getfields_expectedresult() {
         'title' => 'Inherit CMS Language',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
+        'description' => 'If Yes, the initial session language will be set by the CMS, which can later be changed if using the CiviCRM language switcher.',
       ],
       'dateformatDatetime' => [
         'group_name' => 'Localization Preferences',
@@ -1904,7 +2055,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Date Format: Complete Date and Time',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'dateformatFull' => [
@@ -1919,7 +2069,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Date Format: Complete Date',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'dateformatPartial' => [
@@ -1934,7 +2083,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Date Format: Month and Year',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'dateformatTime' => [
@@ -1954,7 +2102,6 @@ function setting_getfields_expectedresult() {
         ],
         'default' => '%l:%M %P',
         'title' => 'Date Format: Time Only',
-        'description' => '',
       ],
       'dateformatYear' => [
         'add' => '4.7',
@@ -1973,7 +2120,6 @@ function setting_getfields_expectedresult() {
         ],
         'default' => '%Y',
         'title' => 'Date Format: Year Only',
-        'description' => '',
       ],
       'dateformatFinancialBatch' => [
         'add' => '4.7',
@@ -1992,7 +2138,6 @@ function setting_getfields_expectedresult() {
         ],
         'default' => '%m/%d/%Y',
         'title' => 'Date Format: Financial Batch',
-        'description' => '',
       ],
       'dateformatshortdate' => [
         'add' => '4.7',
@@ -2011,7 +2156,6 @@ function setting_getfields_expectedresult() {
         ],
         'default' => '%m/%d/%Y',
         'title' => 'Date Format: Short date Month Day Year',
-        'description' => '',
       ],
       'dateInputFormat' => [
         'add' => '4.7',
@@ -2029,7 +2173,6 @@ function setting_getfields_expectedresult() {
         ],
         'default' => 'mm/dd/yy',
         'title' => 'Date Input Format',
-        'description' => '',
       ],
       'fieldSeparator' => [
         'add' => '4.7',
@@ -2066,7 +2209,6 @@ function setting_getfields_expectedresult() {
           'd' => 1,
         ],
         'title' => 'Fiscal Year Start',
-        'description' => '',
       ],
       'languageLimit' => [
         'group_name' => 'Localization Preferences',
@@ -2084,7 +2226,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Available Languages (Multi-lingual)',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
         'pseudoconstant' => [
           'callback' => 'CRM_Core_I18n::languages',
@@ -2106,7 +2247,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Available Languages',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => 'User Interface languages available to users',
         'pseudoconstant' => [
           'callback' => 'CRM_Core_I18n::languages',
@@ -2127,7 +2267,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Default Language',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
         'pseudoconstant' => [
           'callback' => 'CRM_Admin_Form_Setting_Localization::getDefaultLocaleOptions',
@@ -2171,7 +2310,6 @@ function setting_getfields_expectedresult() {
         ],
         'default' => '1',
         'title' => 'Time Input Format',
-        'description' => '',
         'on_change' => [
           '0' => 'CRM_Core_BAO_PreferencesDate::onChangeSetting',
         ],
@@ -2191,7 +2329,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Week begins on',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'contact_default_language' => [
@@ -2212,9 +2349,32 @@ function setting_getfields_expectedresult() {
         'title' => 'Default Language for contacts',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'Default language (if any) for contact records',
+        'description' => 'Default language (if any) for contact records.',
         'help_text' => 'If a contact is created with no language this setting will determine the language data (if any) to save.You may or may not wish to make an assumption here about whether it matches the site language',
       ],
+      'pinnedContactCountries' => [
+        'group_name' => 'Localization Preferences',
+        'group' => 'localization',
+        'name' => 'pinnedContactCountries',
+        'type' => 'Array',
+        'quick_form_type' => 'Element',
+        'html_type' => 'advmultiselect',
+        'html_attributes' => [
+          'size' => 5,
+          'style' => 'width:150px',
+          'class' => 'advmultiselect',
+        ],
+        'default' => [],
+        'add' => '5.33',
+        'title' => 'Pinned Countries',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'Appear in Top section of select list',
+        'help_text' => 'Selected countries will appear in top section of country list',
+        'pseudoconstant' => [
+          'callback' => 'CRM_Admin_Form_Setting_Localization::getAvailableCountries',
+        ],
+      ],
       'profile_double_optin' => [
         'group_name' => 'Mailing Preferences',
         'group' => 'mailing',
@@ -2240,7 +2400,7 @@ function setting_getfields_expectedresult() {
         'title' => 'Track replies using VERP in Reply-To header',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'If checked, mailings will default to tracking replies using VERP-ed Reply-To. ',
+        'description' => 'If checked, mailings will default to tracking replies using VERP-ed Reply-To.',
         'help_text' => '',
         'validate_callback' => 'CRM_Core_BAO_Setting::validateBoolSetting',
       ],
@@ -2269,7 +2429,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Enable global server wide lock for CiviMail',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'replyTo' => [
@@ -2283,7 +2442,7 @@ function setting_getfields_expectedresult() {
         'title' => 'Enable Custom Reply-To',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'Allow CiviMail users to send mailings with a custom Reply-To header',
+        'description' => 'Allow CiviMail users to send mailings with a custom Reply-To header.',
         'help_text' => '',
       ],
       'mailing_backend' => [
@@ -2299,7 +2458,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Mailing Backend',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'profile_add_to_group_double_optin' => [
@@ -2355,7 +2513,7 @@ function setting_getfields_expectedresult() {
         'title' => 'Hashed Mailing URL\'s',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'If enabled, a randomized hash key will be used to reference the mailing URL in the mailing.viewUrl token, instead of the mailing ID',
+        'description' => 'If enabled, a randomized hash key will be used to reference the mailing URL in the mailing.viewUrl token, instead of the mailing ID.',
         'help_text' => '',
       ],
       'civimail_multiple_bulk_emails' => [
@@ -2383,7 +2541,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Enable CiviMail to generate Message-ID header',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'mailerBatchLimit' => [
@@ -2440,7 +2597,7 @@ function setting_getfields_expectedresult() {
         'title' => 'Mailer Cron Job Limit',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'The maximum number of mailer delivery jobs executing simultaneously (0 = allow as many processes to execute as started by cron)',
+        'description' => 'The maximum number of mailer delivery jobs executing simultaneously (0 = allow as many processes to execute as started by cron).',
         'help_text' => '',
       ],
       'mailThrottleTime' => [
@@ -2493,7 +2650,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Enable CiviMail to create activities on delivery',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'simple_mail_limit' => [
@@ -2511,7 +2667,7 @@ function setting_getfields_expectedresult() {
         'title' => 'Simple mail limit',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'The number of emails sendable via simple mail. Make sure you understand the implications for your spam reputation and legal requirements for bulk emails before editing. As there is some risk both to your spam reputation and the products if this is misused it is a hidden setting',
+        'description' => 'The number of emails sendable via simple mail. Make sure you understand the implications for your spam reputation and legal requirements for bulk emails before editing. As there is some risk both to your spam reputation and the products if this is misused it is a hidden setting.',
         'help_text' => 'CiviCRM forces users sending more than this number of mails to use CiviMails. CiviMails have additional precautions: not sending to contacts who do not want bulk mail, adding domain name and opt out links. You should familiarise yourself with the law relevant to you on bulk mailings if changing this setting. For the US https://en.wikipedia.org/wiki/CAN-SPAM_Act_of_2003 is a good place to start.',
       ],
       'auto_recipient_rebuild' => [
@@ -2538,9 +2694,56 @@ function setting_getfields_expectedresult() {
         'title' => 'Allow mail from logged in contact',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'Allow sending email from the logged in contact\'s email address',
+        'description' => 'Allow sending email from the logged in contact\'s email address.',
         'help_text' => 'CiviCRM allows you to send email from the domain from email addresses and the logged in contact id addresses by default. Disable this if you only want to allow the domain from addresses to be used.',
       ],
+      'url_tracking_default' => [
+        'group_name' => 'Mailing Preferences',
+        'group' => 'mailing',
+        'name' => 'url_tracking_default',
+        'type' => 'Boolean',
+        'html_type' => 'checkbox',
+        'quick_form_type' => 'CheckBox',
+        'default' => '1',
+        'title' => 'Enable click-through tracking by default',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'If checked, mailings will have click-through tracking enabled by default.',
+        'help_text' => '',
+      ],
+      'open_tracking_default' => [
+        'group_name' => 'Mailing Preferences',
+        'group' => 'mailing',
+        'name' => 'open_tracking_default',
+        'type' => 'Boolean',
+        'html_type' => 'checkbox',
+        'quick_form_type' => 'CheckBox',
+        'default' => '1',
+        'title' => 'Enable open tracking by default',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'If checked, mailings will have open tracking enabled by default.',
+        'help_text' => '',
+      ],
+      'civimail_sync_interval' => [
+        'group_name' => 'Mailing Preferences',
+        'group' => 'mailing',
+        'name' => 'civimail_sync_interval',
+        'type' => 'Integer',
+        'quick_form_type' => 'Element',
+        'html_type' => 'text',
+        'html_attributes' => [
+          'size' => 4,
+          'maxlength' => 8,
+        ],
+        'default' => 10,
+        'title' => 'Database Update Frequency',
+        'add' => '5.28',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'The frequency that CiviMail updates its sent mail database.',
+        'help_text' => '',
+      ],
       'geoAPIKey' => [
         'add' => '4.7',
         'help_text' => '',
@@ -2558,7 +2761,7 @@ function setting_getfields_expectedresult() {
         ],
         'default' => '',
         'title' => 'Geo Provider Key',
-        'description' => 'Enter the API key or Application ID associated with your geocoding provider (not required for Yahoo).',
+        'description' => 'Enter the API key or Application ID associated with your geocoding provider.',
       ],
       'geoProvider' => [
         'add' => '4.7',
@@ -2696,7 +2899,6 @@ function setting_getfields_expectedresult() {
         'add' => '4.1',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'uniq_email_per_site' => [
@@ -2709,7 +2911,6 @@ function setting_getfields_expectedresult() {
         'add' => '4.1',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'search_autocomplete_count' => [
@@ -2763,7 +2964,6 @@ function setting_getfields_expectedresult() {
         'title' => 'How to handle full-text queries',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'includeOrderByClause' => [
@@ -2777,7 +2977,7 @@ function setting_getfields_expectedresult() {
         'title' => 'Include Order By Clause',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'If disabled, the search results will not be ordered. This may improve response time on search results on large datasets',
+        'description' => 'If disabled, the search results will not be ordered. This may improve response time on search results on large datasets.',
         'help_text' => '',
       ],
       'includeWildCardInName' => [
@@ -2936,6 +3136,25 @@ function setting_getfields_expectedresult() {
         'description' => 'Which fields can be searched on in the menubar quicksearch box? Don\'t see your custom field here? Make sure it is marked as Searchable.',
         'help_text' => '',
       ],
+      'default_pager_size' => [
+        'group_name' => 'Search Preferences',
+        'group' => 'Search Preferences',
+        'name' => 'default_pager_size',
+        'type' => 'Integer',
+        'quick_form_type' => 'Element',
+        'html_type' => 'text',
+        'html_attributes' => [
+          'size' => 2,
+          'maxlength' => 3,
+        ],
+        'default' => 50,
+        'add' => '5.39',
+        'title' => 'Default Search Pager size',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'What is the default number of records to show on a search',
+        'help_text' => '',
+      ],
       'userFrameworkResourceURL' => [
         'bootstrap_comment' => 'This is a boot setting which may be loaded during bootstrap. Defaults are loaded via SettingsBag::getSystemDefaults().',
         'group' => 'url',
@@ -3004,6 +3223,191 @@ function setting_getfields_expectedresult() {
         'help_text' => '',
         'validate_callback' => 'CRM_Utils_Rule::urlish',
       ],
+      'enable_cart' => [
+        'name' => 'enable_cart',
+        'group_name' => 'Event Preferences',
+        'settings_pages' => [
+          'event' => [
+            'weight' => 10,
+          ],
+        ],
+        'group' => 'event',
+        'type' => 'Boolean',
+        'quick_form_type' => 'CheckBox',
+        'default' => 0,
+        'add' => '4.1',
+        'title' => 'Use Shopping Cart Style Event Registration',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'This feature allows users to register for more than one event at a time. When enabled, users will add event(s) to a \"cart\" and then pay for them all at once. Enabling this setting will affect online registration for all active events. The code is an alpha state, and you will potentially need to have developer resources to debug and fix sections of the codebase while testing and deploying it',
+        'help_text' => '',
+        'documentation_link' => [
+          'page' => 'CiviEvent Cart Checkout',
+          'resource' => 'wiki',
+        ],
+      ],
+      'acl_financial_type' => [
+        'group_name' => 'Contribute Preferences',
+        'group' => 'contribute',
+        'name' => 'acl_financial_type',
+        'type' => 'Boolean',
+        'html_type' => 'checkbox',
+        'quick_form_type' => 'Element',
+        'default' => 0,
+        'add' => '4.7',
+        'title' => 'Enable Access Control by Financial Type',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'help_text' => '',
+        'help' => [
+          'id' => 'acl_financial_type',
+        ],
+        'settings_pages' => [
+          'contribute' => [
+            'weight' => 30,
+          ],
+        ],
+        'on_change' => [
+          '0' => 'financialacls_toggle',
+        ],
+      ],
+      'flexmailer_traditional' => [
+        'group_name' => 'Flexmailer Preferences',
+        'group' => 'flexmailer',
+        'name' => 'flexmailer_traditional',
+        'type' => 'String',
+        'html_type' => 'select',
+        'html_attributes' => [
+          'class' => 'crm-select2',
+        ],
+        'pseudoconstant' => [
+          'callback' => '_flexmailer_traditional_options',
+        ],
+        'default' => 'auto',
+        'add' => '5.13',
+        'title' => 'Traditional Mailing Handler',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'For greater backward-compatibility, process \"<code>traditional</code>\" mailings with the CiviMail\'s hard-coded BAO.<br/>For greater forward-compatibility, process \"<code>traditional</code>\" mailings with Flexmailer\'s extensible pipeline.',
+        'help_text' => '',
+        'settings_pages' => [
+          'flexmailer' => [
+            'weight' => 5,
+          ],
+        ],
+      ],
+      'recaptchaPublicKey' => [
+        'group_name' => 'CiviCRM Preferences',
+        'group' => 'core',
+        'name' => 'recaptchaPublicKey',
+        'type' => 'String',
+        'quick_form_type' => 'Element',
+        'html_attributes' => [
+          'size' => 64,
+          'maxlength' => 64,
+        ],
+        'html_type' => 'text',
+        'default' => '',
+        'add' => '4.3',
+        'title' => 'reCAPTCHA Site Key',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => '',
+        'help_text' => '',
+        'settings_pages' => [
+          'recaptcha' => [
+            'weight' => 10,
+          ],
+        ],
+      ],
+      'recaptchaPrivateKey' => [
+        'group_name' => 'CiviCRM Preferences',
+        'group' => 'core',
+        'name' => 'recaptchaPrivateKey',
+        'type' => 'String',
+        'quick_form_type' => 'Element',
+        'html_attributes' => [
+          'size' => 64,
+          'maxlength' => 64,
+        ],
+        'html_type' => 'text',
+        'default' => '',
+        'add' => '4.3',
+        'title' => 'reCAPTCHA Secret Key',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => '',
+        'help_text' => '',
+        'settings_pages' => [
+          'recaptcha' => [
+            'weight' => 10,
+          ],
+        ],
+      ],
+      'forceRecaptcha' => [
+        'add' => '4.7',
+        'help_text' => '',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'group_name' => 'CiviCRM Preferences',
+        'group' => 'core',
+        'name' => 'forceRecaptcha',
+        'type' => 'Boolean',
+        'quick_form_type' => 'YesNo',
+        'html_type' => '',
+        'default' => 0,
+        'title' => 'Force reCAPTCHA on Contribution pages',
+        'description' => 'If enabled, reCAPTCHA will show on all contribution pages.',
+        'settings_pages' => [
+          'recaptcha' => [
+            'weight' => 10,
+          ],
+        ],
+      ],
+      'recaptchaOptions' => [
+        'group_name' => 'CiviCRM Preferences',
+        'group' => 'core',
+        'name' => 'recaptchaOptions',
+        'type' => 'String',
+        'quick_form_type' => 'Element',
+        'html_attributes' => [
+          'size' => 64,
+          'maxlength' => 64,
+        ],
+        'html_type' => 'text',
+        'default' => '',
+        'add' => '4.3',
+        'title' => 'reCAPTCHA Options',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'You can specify the reCAPTCHA theme options as comma separated data.(eg: theme:\'blackglass\', lang : \'fr\' ). Check the available options at <a href=\"https://developers.google.com/recaptcha/docs/display#config\">Customizing the Look and Feel of reCAPTCHA</a>.',
+        'help_text' => '',
+        'settings_pages' => [
+          'recaptcha' => [
+            'weight' => 10,
+          ],
+        ],
+      ],
+      'credit_notes_prefix' => [
+        'group_name' => 'Contribute Preferences',
+        'group' => 'contribute',
+        'name' => 'credit_notes_prefix',
+        'html_type' => 'text',
+        'quick_form_type' => 'Element',
+        'add' => '5.23',
+        'type' => 2,
+        'title' => 'Credit Notes Prefix',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'Prefix to be prepended to credit note ids',
+        'default' => 'CN_',
+        'help_text' => 'The credit note ID is generated when a contribution is set to Refunded, Cancelled or Chargeback. It is visible on invoices, if invoices are enabled',
+        'settings_pages' => [
+          'contribute' => [
+            'weight' => 80,
+          ],
+        ],
+      ],
     ],
   ];
 
@@ -3011,23 +3415,23 @@ function setting_getfields_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetFields"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetFields"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/GetSettingCurrentDomain.ex.php b/civicrm/api/v3/examples/Setting/GetSettingCurrentDomain.ex.php
index bc808c71efd1e243172ab0b6a2910f47b9d1bcc2..2939c09a99af48ca57d69d1d02debf2ce0db3013 100644
--- a/civicrm/api/v3/examples/Setting/GetSettingCurrentDomain.ex.php
+++ b/civicrm/api/v3/examples/Setting/GetSettingCurrentDomain.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.get API.
  *
@@ -12,7 +17,7 @@ function setting_get_example() {
     'return' => 'uniq_email_per_site',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -55,23 +60,23 @@ function setting_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetSetting"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetSetting"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/GetSpecifiedDomains.ex.php b/civicrm/api/v3/examples/Setting/GetSpecifiedDomains.ex.php
index 1257cc53dee409ea6a1759b9972babf6b5ee7555..5bcd7b299039754940a27403e231a4d828b81a06 100644
--- a/civicrm/api/v3/examples/Setting/GetSpecifiedDomains.ex.php
+++ b/civicrm/api/v3/examples/Setting/GetSpecifiedDomains.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.get API.
  *
@@ -11,14 +16,14 @@ function setting_get_example() {
   $params = [
     'domain_id' => [
       '0' => 1,
-      '1' => 2,
+      '1' => 37,
     ],
     'return' => [
       '0' => 'uniq_email_per_site',
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -53,7 +58,7 @@ function setting_get_expectedresult() {
       '1' => [
         'uniq_email_per_site' => 0,
       ],
-      '2' => [
+      '37' => [
         'uniq_email_per_site' => '1',
       ],
     ],
@@ -63,23 +68,23 @@ function setting_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSettingMultipleDomains"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSettingMultipleDomains"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/GetValue.ex.php b/civicrm/api/v3/examples/Setting/GetValue.ex.php
index ef75b6a9e93b483627429561b02e6c60ebd0982e..7a5cb0f22f4cbf27eca05c838434adf6cd7a50bc 100644
--- a/civicrm/api/v3/examples/Setting/GetValue.ex.php
+++ b/civicrm/api/v3/examples/Setting/GetValue.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.getvalue API.
  *
@@ -13,7 +18,7 @@ function setting_getvalue_example() {
     'group' => 'Campaign Preferences',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'getvalue', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,23 +51,23 @@ function setting_getvalue_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetValue"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetValue"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/Revert.ex.php b/civicrm/api/v3/examples/Setting/Revert.ex.php
index 7535db2a82f7fb67213ac7435a38a61ad356d65a..070211dfe9f54a808a8af6e1f48e7097d1864417 100644
--- a/civicrm/api/v3/examples/Setting/Revert.ex.php
+++ b/civicrm/api/v3/examples/Setting/Revert.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.revert API.
  *
@@ -12,7 +17,7 @@ function setting_revert_example() {
     'name' => 'address_format',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'revert', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -67,23 +72,23 @@ function setting_revert_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testRevert"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testRevert"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/StateProvince/Create.ex.php b/civicrm/api/v3/examples/StateProvince/Create.ex.php
index d2a3e6c487062a9aa7dcc44abf9b8f43f7717759..8cf583aa333a87bcbfce4e891ac9d34f116558b1 100644
--- a/civicrm/api/v3/examples/StateProvince/Create.ex.php
+++ b/civicrm/api/v3/examples/StateProvince/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the StateProvince.create API.
  *
@@ -12,7 +17,7 @@ function state_province_create_example() {
     'country_id' => 1226,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('StateProvince', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,13 +48,14 @@ function state_province_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 14033,
+    'id' => 14064,
     'values' => [
-      '14033' => [
-        'id' => '14033',
+      '14064' => [
+        'id' => '14064',
         'name' => 'Wessex',
         'abbreviation' => 'WEX',
         'country_id' => '1226',
+        'is_active' => '',
       ],
     ],
   ];
@@ -58,23 +64,23 @@ function state_province_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateStateProvince"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StateProvinceTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateStateProvince"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StateProvinceTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/StateProvince/Delete.ex.php b/civicrm/api/v3/examples/StateProvince/Delete.ex.php
index 9628de2efb80748844407dcb75b701645f495a6b..14e280b8f540795343fa5264fb3705fb555b7d1d 100644
--- a/civicrm/api/v3/examples/StateProvince/Delete.ex.php
+++ b/civicrm/api/v3/examples/StateProvince/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the StateProvince.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function state_province_delete_example() {
   $params = [
-    'id' => 14034,
+    'id' => 14066,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('StateProvince', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function state_province_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteStateProvince"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StateProvinceTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteStateProvince"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StateProvinceTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/StateProvince/Get.ex.php b/civicrm/api/v3/examples/StateProvince/Get.ex.php
index 3d3508aadc6d49d0a9f50533b48b8e9b54deb492..057206f1a8b81b069e9c0c8726cc2a35fb082714 100644
--- a/civicrm/api/v3/examples/StateProvince/Get.ex.php
+++ b/civicrm/api/v3/examples/StateProvince/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the StateProvince.get API.
  *
@@ -10,7 +15,7 @@ function state_province_get_example() {
     'name' => 'Wessex',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('StateProvince', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -41,13 +46,14 @@ function state_province_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 14035,
+    'id' => 14068,
     'values' => [
-      '14035' => [
-        'id' => '14035',
+      '14068' => [
+        'id' => '14068',
         'name' => 'Wessex',
         'abbreviation' => 'WEX',
         'country_id' => '1226',
+        'is_active' => '1',
       ],
     ],
   ];
@@ -56,23 +62,23 @@ function state_province_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StateProvinceTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StateProvinceTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/StatusPreference/Create.ex.php b/civicrm/api/v3/examples/StatusPreference/Create.ex.php
index a18cc05451e92c7c3e0349f494526f51835ff631..509536b270fc41f4ed360e73c15529c1c3696a69 100644
--- a/civicrm/api/v3/examples/StatusPreference/Create.ex.php
+++ b/civicrm/api/v3/examples/StatusPreference/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the StatusPreference.create API.
  *
@@ -14,7 +19,7 @@ function status_preference_create_example() {
     'check_info' => '',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('StatusPreference', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -45,16 +50,17 @@ function status_preference_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 4,
+    'id' => 7,
     'values' => [
-      '4' => [
-        'id' => '4',
+      '7' => [
+        'id' => '7',
         'domain_id' => '1',
         'name' => 'test_check',
         'hush_until' => '20151212000000',
         'ignore_severity' => '5',
         'prefs' => '',
         'check_info' => '',
+        'is_active' => '',
       ],
     ],
   ];
@@ -63,23 +69,23 @@ function status_preference_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSeverityByName"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StatusPreferenceTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSeverityByName"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StatusPreferenceTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/StatusPreference/Delete.ex.php b/civicrm/api/v3/examples/StatusPreference/Delete.ex.php
index 3a7916de06e43c7e8df11b24de9d4cad6598f7c3..418e7514f93b9df6c49003b2dcd19ac47d9d3b6a 100644
--- a/civicrm/api/v3/examples/StatusPreference/Delete.ex.php
+++ b/civicrm/api/v3/examples/StatusPreference/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the StatusPreference.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function status_preference_delete_example() {
   $params = [
-    'id' => 2,
+    'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('StatusPreference', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function status_preference_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteStatusPreference"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StatusPreferenceTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteStatusPreference"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StatusPreferenceTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/StatusPreference/Get.ex.php b/civicrm/api/v3/examples/StatusPreference/Get.ex.php
index 63c7503263276d467f5e1d55e969bc513e5789e6..0feb43099eb02e22ba808d0ce3e1dde0f87a02ef 100644
--- a/civicrm/api/v3/examples/StatusPreference/Get.ex.php
+++ b/civicrm/api/v3/examples/StatusPreference/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the StatusPreference.get API.
  *
@@ -7,10 +12,10 @@
  */
 function status_preference_get_example() {
   $params = [
-    'id' => 3,
+    'id' => 5,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('StatusPreference', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -41,14 +46,15 @@ function status_preference_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 5,
     'values' => [
-      '3' => [
-        'id' => '3',
+      '5' => [
+        'id' => '5',
         'domain_id' => '1',
         'name' => 'test_check',
         'hush_until' => '2015-12-12',
         'ignore_severity' => '4',
+        'is_active' => '1',
       ],
     ],
   ];
@@ -57,23 +63,23 @@ function status_preference_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testStatusPreferenceGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StatusPreferenceTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testStatusPreferenceGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StatusPreferenceTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Survey/ChainedGetDelete.ex.php b/civicrm/api/v3/examples/Survey/ChainedGetDelete.ex.php
index a0b99eaede24dfbc0cf7d2f9664a9eb27731a224..df1218be8bc8e9e39178c1a8775049c64692fecc 100644
--- a/civicrm/api/v3/examples/Survey/ChainedGetDelete.ex.php
+++ b/civicrm/api/v3/examples/Survey/ChainedGetDelete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Survey.get API.
  *
@@ -13,7 +18,7 @@ function survey_get_example() {
     'api.survey.delete' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Survey', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -71,23 +76,23 @@ function survey_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetSurveyChainDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetSurveyChainDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Survey/Create.ex.php b/civicrm/api/v3/examples/Survey/Create.ex.php
index 98ef5d32474e694e2803ecf128cc57d33a11216e..3dce012bd7934b61a7b46a5118cf1559fe8de48a 100644
--- a/civicrm/api/v3/examples/Survey/Create.ex.php
+++ b/civicrm/api/v3/examples/Survey/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Survey.create API.
  *
@@ -13,7 +18,7 @@ function survey_create_example() {
     'instructions' => 'Call people, ask for money',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Survey', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -75,23 +80,23 @@ function survey_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSurvey"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSurvey"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Survey/Delete.ex.php b/civicrm/api/v3/examples/Survey/Delete.ex.php
index af49e79597b549a5ceb9030e25f27ee531f2ab25..1cfe8ea9e40bf68b89ababa319fb343bc13d5007 100644
--- a/civicrm/api/v3/examples/Survey/Delete.ex.php
+++ b/civicrm/api/v3/examples/Survey/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Survey.delete API.
  *
@@ -10,7 +15,7 @@ function survey_delete_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Survey', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function survey_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteSurvey"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteSurvey"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Survey/Get.ex.php b/civicrm/api/v3/examples/Survey/Get.ex.php
index a175e1473f40a9fcb84ca4abf983f0f9df07a9f4..7dac9efd148f393cd2dc1717b98a5ad291e8d1e8 100644
--- a/civicrm/api/v3/examples/Survey/Get.ex.php
+++ b/civicrm/api/v3/examples/Survey/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Survey.get API.
  *
@@ -13,7 +18,7 @@ function survey_get_example() {
     'instructions' => 'Call people, ask for money',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Survey', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -65,23 +70,23 @@ function survey_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetSurvey"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetSurvey"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/SurveyRespondant/Get.ex.php b/civicrm/api/v3/examples/SurveyRespondant/Get.ex.php
index e54521f3aaf9c73dc815ebb5c51a972d79ae861d..2e93c13aad636c45043d2b295ff3779bd3995ff7 100644
--- a/civicrm/api/v3/examples/SurveyRespondant/Get.ex.php
+++ b/civicrm/api/v3/examples/SurveyRespondant/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the SurveyRespondant.get API.
  *
@@ -14,7 +19,7 @@ function survey_respondant_get_example() {
     'survey_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('SurveyRespondant', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -53,23 +58,23 @@ function survey_respondant_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetSurveyRespondants"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyRespondantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetSurveyRespondants"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyRespondantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/System/Flush.ex.php b/civicrm/api/v3/examples/System/Flush.ex.php
index 34b2ce28f4665b40a2f8bdbcf7cdc5f4e752958f..a5323b45fb6fd038164aa32b3cae18356e82ef2f 100644
--- a/civicrm/api/v3/examples/System/Flush.ex.php
+++ b/civicrm/api/v3/examples/System/Flush.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the System.flush API.
  *
- * Flush all system caches
+ * Flush all system caches.
  *
  * @return array
  *   API result array
@@ -10,7 +15,7 @@
 function system_flush_example() {
   $params = [];
 
-  try{
+  try {
     $result = civicrm_api3('System', 'flush', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function system_flush_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testFlush"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SystemTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testFlush"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SystemTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Tag/Create.ex.php b/civicrm/api/v3/examples/Tag/Create.ex.php
index 3905455770cc4db02edf2929071e71253f025a50..e3bbbb9f10fd8adf163d4914e7d2a468049584d0 100644
--- a/civicrm/api/v3/examples/Tag/Create.ex.php
+++ b/civicrm/api/v3/examples/Tag/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Tag.create API.
  *
@@ -11,7 +16,7 @@ function tag_create_example() {
     'description' => 'Outside undie-wearers',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Tag', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,9 +54,9 @@ function tag_create_expectedresult() {
         'name' => 'Super Heros',
         'description' => 'Outside undie-wearers',
         'parent_id' => '',
-        'is_selectable' => '1',
-        'is_reserved' => 0,
-        'is_tagset' => 0,
+        'is_selectable' => '',
+        'is_reserved' => '',
+        'is_tagset' => '',
         'used_for' => 'civicrm_contact',
         'created_id' => '',
         'color' => '',
@@ -64,23 +69,23 @@ function tag_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Tag/Delete.ex.php b/civicrm/api/v3/examples/Tag/Delete.ex.php
index 2f8867db1fa107ddf5e0f5ddb632764b8f112a36..2371cb6039e8f72a93cc6a7c1cff4de59214d16b 100644
--- a/civicrm/api/v3/examples/Tag/Delete.ex.php
+++ b/civicrm/api/v3/examples/Tag/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Tag.delete API.
  *
@@ -10,7 +15,7 @@ function tag_delete_example() {
     'id' => '24',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Tag', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function tag_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testTagDeleteCorrectSyntax"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testTagDeleteCorrectSyntax"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Tag/Get.ex.php b/civicrm/api/v3/examples/Tag/Get.ex.php
index c3d91f9dc21f5196f90b8e020097b5acfb7a0a77..ace87a87638be48ada378697e9b78b58b9300586 100644
--- a/civicrm/api/v3/examples/Tag/Get.ex.php
+++ b/civicrm/api/v3/examples/Tag/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Tag.get API.
  *
@@ -11,7 +16,7 @@ function tag_get_example() {
     'name' => 'New Tag3',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Tag', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -61,23 +66,23 @@ function tag_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Tag/GetFields.ex.php b/civicrm/api/v3/examples/Tag/GetFields.ex.php
index acf9b173f7e1706ea1c5a5dfbd266c6492ff81d2..789b79c89957dfe52b63f73883f5e3f918783f10 100644
--- a/civicrm/api/v3/examples/Tag/GetFields.ex.php
+++ b/civicrm/api/v3/examples/Tag/GetFields.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Tag.getfields API.
  *
@@ -12,7 +17,7 @@ function tag_getfields_example() {
     'action' => 'create',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Tag', 'getfields', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -55,6 +60,13 @@ function tag_getfields_expectedresult() {
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
+        'html' => [
+          'type' => 'Number',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'readonly' => TRUE,
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.aliases' => [
           '0' => 'tag',
@@ -73,6 +85,7 @@ function tag_getfields_expectedresult() {
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.required' => 1,
       ],
@@ -88,20 +101,31 @@ function tag_getfields_expectedresult() {
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'parent_id' => [
         'name' => 'parent_id',
         'type' => 1,
-        'title' => 'Parent Tag',
+        'title' => 'Parent Tag ID',
         'description' => 'Optional parent id for this tag.',
         'where' => 'civicrm_tag.parent_id',
-        'default' => 'NULL',
         'table_name' => 'civicrm_tag',
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
         'FKClassName' => 'CRM_Core_DAO_Tag',
+        'html' => [
+          'label' => 'Parent Tag',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'pseudoconstant' => [
+          'table' => 'civicrm_tag',
+          'keyColumn' => 'id',
+          'labelColumn' => 'name',
+        ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'FKApiName' => 'Tag',
       ],
@@ -116,6 +140,7 @@ function tag_getfields_expectedresult() {
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
+        'add' => '2.1',
         'is_core_field' => TRUE,
       ],
       'is_reserved' => [
@@ -127,6 +152,7 @@ function tag_getfields_expectedresult() {
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
+        'add' => '3.2',
         'is_core_field' => TRUE,
       ],
       'is_tagset' => [
@@ -138,6 +164,7 @@ function tag_getfields_expectedresult() {
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
+        'add' => '3.2',
         'is_core_field' => TRUE,
       ],
       'used_for' => [
@@ -147,7 +174,6 @@ function tag_getfields_expectedresult() {
         'maxlength' => 64,
         'size' => 30,
         'where' => 'civicrm_tag.used_for',
-        'default' => 'NULL',
         'table_name' => 'civicrm_tag',
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
@@ -162,13 +188,14 @@ function tag_getfields_expectedresult() {
           'optionGroupName' => 'tag_used_for',
           'optionEditPath' => 'civicrm/admin/options/tag_used_for',
         ],
+        'add' => '3.2',
         'is_core_field' => TRUE,
         'api.default' => 'civicrm_contact',
       ],
       'created_id' => [
         'name' => 'created_id',
         'type' => 1,
-        'title' => 'Tag Created By',
+        'title' => 'Created By Contact ID',
         'description' => 'FK to civicrm_contact, who created this tag',
         'where' => 'civicrm_tag.created_id',
         'table_name' => 'civicrm_tag',
@@ -176,6 +203,12 @@ function tag_getfields_expectedresult() {
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
         'FKClassName' => 'CRM_Contact_DAO_Contact',
+        'html' => [
+          'label' => 'Created By',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'add' => '3.4',
         'is_core_field' => TRUE,
         'FKApiName' => 'Contact',
       ],
@@ -187,11 +220,11 @@ function tag_getfields_expectedresult() {
         'maxlength' => 255,
         'size' => 45,
         'where' => 'civicrm_tag.color',
-        'default' => 'NULL',
         'table_name' => 'civicrm_tag',
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
+        'add' => '4.7',
         'is_core_field' => TRUE,
       ],
       'created_date' => [
@@ -204,6 +237,7 @@ function tag_getfields_expectedresult() {
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
+        'add' => '3.4',
         'is_core_field' => TRUE,
       ],
     ],
@@ -213,23 +247,23 @@ function tag_getfields_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testTagGetfields"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testTagGetfields"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Tag/GetList.ex.php b/civicrm/api/v3/examples/Tag/GetList.ex.php
index a1fc21953479f64295bd0a2f91506d8d72038428..23aa5c33b1445629c5eb6df695cbb725f8a3c470 100644
--- a/civicrm/api/v3/examples/Tag/GetList.ex.php
+++ b/civicrm/api/v3/examples/Tag/GetList.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Tag.getlist API.
  *
@@ -15,7 +20,7 @@ function tag_getlist_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Tag', 'getlist', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -67,23 +72,23 @@ function tag_getlist_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testTagGetList"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testTagGetList"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Tag/GetReturnArray.ex.php b/civicrm/api/v3/examples/Tag/GetReturnArray.ex.php
index 88bb104708840841d9310947967efa9655fcfaac..9ccbb63fa1142bd7a95ece06770f3353adb1ae5c 100644
--- a/civicrm/api/v3/examples/Tag/GetReturnArray.ex.php
+++ b/civicrm/api/v3/examples/Tag/GetReturnArray.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Tag.get API.
  *
@@ -16,7 +21,7 @@ function tag_get_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Tag', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -60,23 +65,23 @@ function tag_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetReturnArray"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetReturnArray"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/TaxContributionPage/Create.ex.php b/civicrm/api/v3/examples/TaxContributionPage/Create.ex.php
index 850ab5799726cdd7e20cba64d0fbd924f46c63a4..5dd5d4fcd200ed0788dbaacf4de222a92b52c1ab 100644
--- a/civicrm/api/v3/examples/TaxContributionPage/Create.ex.php
+++ b/civicrm/api/v3/examples/TaxContributionPage/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example of using tax_contribution_page create API.
  *
@@ -18,7 +23,7 @@ function tax_contribution_page_create_example() {
     'contribution_status_id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('tax_contribution_page', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -92,7 +97,7 @@ function tax_contribution_page_create_expectedresult() {
 * The test that created it is called
 * testCreateContributionPendingOnline
 * and can be found in
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TaxContributionPageTest.php
+* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TaxContributionPageTest.php.
 *
 * You can see the outcome of the API tests at
 * https://test.civicrm.org/job/CiviCRM-master-git/
diff --git a/civicrm/api/v3/examples/TaxContributionPage/CreateWithNestedLineItems.ex.php b/civicrm/api/v3/examples/TaxContributionPage/CreateWithNestedLineItems.ex.php
index e6b6217e9d0a8ca8a15bd1f33905a02b9ae82317..fe1b5a8af746f491ccba71628888ebb2ea1783a8 100644
--- a/civicrm/api/v3/examples/TaxContributionPage/CreateWithNestedLineItems.ex.php
+++ b/civicrm/api/v3/examples/TaxContributionPage/CreateWithNestedLineItems.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example of using tax_contribution_page create API.
  *
@@ -40,7 +45,7 @@ function tax_contribution_page_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('tax_contribution_page', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -168,7 +173,7 @@ function tax_contribution_page_create_expectedresult() {
 * The test that created it is called
 * testCreateContributionChainedLineItems
 * and can be found in
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TaxContributionPageTest.php
+* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TaxContributionPageTest.php.
 *
 * You can see the outcome of the API tests at
 * https://test.civicrm.org/job/CiviCRM-master-git/
diff --git a/civicrm/api/v3/examples/TaxContributionPage/Delete.ex.php b/civicrm/api/v3/examples/TaxContributionPage/Delete.ex.php
index 5733ca2c5f345b359fc0a14c94b9b54f22671973..fe9fc736eea9e1819e35bbd8779ccbf34330f0cb 100644
--- a/civicrm/api/v3/examples/TaxContributionPage/Delete.ex.php
+++ b/civicrm/api/v3/examples/TaxContributionPage/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example of using tax_contribution_page delete API.
  *
@@ -10,7 +15,7 @@ function tax_contribution_page_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('tax_contribution_page', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -54,7 +59,7 @@ function tax_contribution_page_delete_expectedresult() {
 * The test that created it is called
 * testDeleteContribution
 * and can be found in
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TaxContributionPageTest.php
+* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TaxContributionPageTest.php.
 *
 * You can see the outcome of the API tests at
 * https://test.civicrm.org/job/CiviCRM-master-git/
diff --git a/civicrm/api/v3/examples/UFField/Create.ex.php b/civicrm/api/v3/examples/UFField/Create.ex.php
index a4eb8f0eedcb200a75566d3350ce13cf0333c6af..947797d36f9869213bf3f47be7f281948b1fbfc5 100644
--- a/civicrm/api/v3/examples/UFField/Create.ex.php
+++ b/civicrm/api/v3/examples/UFField/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFField.create API.
  *
@@ -19,7 +24,7 @@ function uf_field_create_example() {
     'uf_group_id' => 11,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('UFField', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -80,23 +85,23 @@ function uf_field_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateUFField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateUFField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/UFField/Delete.ex.php b/civicrm/api/v3/examples/UFField/Delete.ex.php
index b25806af7542fe1bafdec6c4eb6971b09c1e0d19..95ef1f906316be9c4c0f30bf6b81aedb6d81c2f6 100644
--- a/civicrm/api/v3/examples/UFField/Delete.ex.php
+++ b/civicrm/api/v3/examples/UFField/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFField.delete API.
  *
@@ -10,7 +15,7 @@ function uf_field_delete_example() {
     'field_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('UFField', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function uf_field_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteUFField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteUFField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/UFField/Get.ex.php b/civicrm/api/v3/examples/UFField/Get.ex.php
index fc537cc71d95d7ca199cf9f719947bc731370cd4..2d8cf63484029c4e251d7302233502a408814bac 100644
--- a/civicrm/api/v3/examples/UFField/Get.ex.php
+++ b/civicrm/api/v3/examples/UFField/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFField.get API.
  *
@@ -8,7 +13,7 @@
 function uf_field_get_example() {
   $params = [];
 
-  try{
+  try {
     $result = civicrm_api3('UFField', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -65,23 +70,23 @@ function uf_field_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetUFFieldSuccess"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetUFFieldSuccess"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/UFField/Replace.ex.php b/civicrm/api/v3/examples/UFField/Replace.ex.php
index f0230b225e4f1cde0a1a08745ecb8a21bc195459..4bad961e70c14324f5877f7cc22fcb8e568eb045 100644
--- a/civicrm/api/v3/examples/UFField/Replace.ex.php
+++ b/civicrm/api/v3/examples/UFField/Replace.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFField.replace API.
  *
@@ -44,7 +49,7 @@ function uf_field_replace_example() {
     'check_permissions' => TRUE,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('UFField', 'replace', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -146,23 +151,23 @@ function uf_field_replace_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testReplaceUFFields"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testReplaceUFFields"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/UFGroup/Create.ex.php b/civicrm/api/v3/examples/UFGroup/Create.ex.php
index f4096f2ac134523d0ae9089a5eacaf0e877af349..879d513ec2245363d46bea4bd05d9f8714a46765 100644
--- a/civicrm/api/v3/examples/UFGroup/Create.ex.php
+++ b/civicrm/api/v3/examples/UFGroup/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFGroup.create API.
  *
@@ -29,7 +34,7 @@ function uf_group_create_example() {
     'title' => 'Test Group',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('UFGroup', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -98,23 +103,23 @@ function uf_group_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testUFGroupCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testUFGroupCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/UFGroup/Delete.ex.php b/civicrm/api/v3/examples/UFGroup/Delete.ex.php
index b5560002db65fc92287ea6aeb4ecff0660eb3879..b25743455af9ffe8b897275dc24a01b5d1065811 100644
--- a/civicrm/api/v3/examples/UFGroup/Delete.ex.php
+++ b/civicrm/api/v3/examples/UFGroup/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFGroup.delete API.
  *
@@ -10,7 +15,7 @@ function uf_group_delete_example() {
     'id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('UFGroup', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function uf_group_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testUFGroupDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testUFGroupDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/UFGroup/Get.ex.php b/civicrm/api/v3/examples/UFGroup/Get.ex.php
index e7abf9556275f313995c33c30d452b0203104320..fc4d018ae3fd09c47b12734e6f53251891dbad2b 100644
--- a/civicrm/api/v3/examples/UFGroup/Get.ex.php
+++ b/civicrm/api/v3/examples/UFGroup/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFGroup.get API.
  *
@@ -10,7 +15,7 @@ function uf_group_get_example() {
     'id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('UFGroup', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -75,23 +80,23 @@ function uf_group_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testUFGroupGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testUFGroupGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/UFJoin/Create.ex.php b/civicrm/api/v3/examples/UFJoin/Create.ex.php
index 4b388f10ac509299b7214608f0685029e092799f..b0244edbe9f90aae83d5a88c725495a1416206a2 100644
--- a/civicrm/api/v3/examples/UFJoin/Create.ex.php
+++ b/civicrm/api/v3/examples/UFJoin/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFJoin.create API.
  *
@@ -16,7 +21,7 @@ function uf_join_create_example() {
     'sequential' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('UFJoin', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -66,23 +71,23 @@ function uf_join_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSurveyUFJoin"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFJoinTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSurveyUFJoin"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFJoinTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/UFJoin/Get.ex.php b/civicrm/api/v3/examples/UFJoin/Get.ex.php
index 88246c4694fdc47f77063c0c2cdca0bd51699015..08f3ca6443c613960737757dfe788a77a2e25cad 100644
--- a/civicrm/api/v3/examples/UFJoin/Get.ex.php
+++ b/civicrm/api/v3/examples/UFJoin/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFJoin.get API.
  *
@@ -12,7 +17,7 @@ function uf_join_get_example() {
     'sequential' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('UFJoin', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -61,23 +66,23 @@ function uf_join_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetUFJoinId"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFJoinTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetUFJoinId"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFJoinTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/UFMatch/Get.ex.php b/civicrm/api/v3/examples/UFMatch/Get.ex.php
index 9f68b0c692eb085192a91f634c06dd5bd7c485c1..8b87d90e446b8dca6b931d5fb34a9e8194aa0475 100644
--- a/civicrm/api/v3/examples/UFMatch/Get.ex.php
+++ b/civicrm/api/v3/examples/UFMatch/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFMatch.get API.
  *
@@ -10,7 +15,7 @@ function uf_match_get_example() {
     'contact_id' => 69,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('UFMatch', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -56,23 +61,23 @@ function uf_match_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetUFID"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFMatchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetUFID"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFMatchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/User/Get.ex.php b/civicrm/api/v3/examples/User/Get.ex.php
index 9c71f5b1b896f400552432382db58c5295bfb3c9..92cc07edd26df25d7e9065128dcf2e3a1d6d7f4b 100644
--- a/civicrm/api/v3/examples/User/Get.ex.php
+++ b/civicrm/api/v3/examples/User/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the User.get API.
  *
@@ -11,7 +16,7 @@ function user_get_example() {
     'sequential' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('User', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -56,23 +61,23 @@ function user_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testUserGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UserTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testUserGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UserTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/User/GetFields.ex.php b/civicrm/api/v3/examples/User/GetFields.ex.php
index d390e46af1d27b6b2b7e8574c6060714c4781921..4df70c692215618484435bdbe70e4a88f13bb996 100644
--- a/civicrm/api/v3/examples/User/GetFields.ex.php
+++ b/civicrm/api/v3/examples/User/GetFields.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the User.getfields API.
  *
@@ -10,7 +15,7 @@ function user_getfields_example() {
     'action' => 'get',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('User', 'getfields', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -65,23 +70,23 @@ function user_getfields_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetFields"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UserTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetFields"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UserTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Website/Create.ex.php b/civicrm/api/v3/examples/Website/Create.ex.php
index 66874a22274ecc144889a757202f66c8aafa6ef1..ba17211e962e9ac289c1f146572ad8bc30fa898c 100644
--- a/civicrm/api/v3/examples/Website/Create.ex.php
+++ b/civicrm/api/v3/examples/Website/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Website.create API.
  *
@@ -12,7 +17,7 @@ function website_create_example() {
     'website_type_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Website', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,23 +63,23 @@ function website_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateWebsite"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateWebsite"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Website/Delete.ex.php b/civicrm/api/v3/examples/Website/Delete.ex.php
index 4a0d85693b6ea4eb72f0d1f2d9f4d1e9b22b591c..2b04101b8ac634e1bc1c9d9f87a08f1534daf888 100644
--- a/civicrm/api/v3/examples/Website/Delete.ex.php
+++ b/civicrm/api/v3/examples/Website/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Website.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function website_delete_example() {
   $params = [
-    'id' => 3,
+    'id' => 5,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Website', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function website_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteWebsite"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteWebsite"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Website/Get.ex.php b/civicrm/api/v3/examples/Website/Get.ex.php
index 4c2470c789cdb2f6822e7d1fac0a71443383d37b..8492e1faefc61b86ad05f99420bb4ebb3c941604 100644
--- a/civicrm/api/v3/examples/Website/Get.ex.php
+++ b/civicrm/api/v3/examples/Website/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Website.get API.
  *
@@ -12,7 +17,7 @@ function website_get_example() {
     'website_type_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Website', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,10 +48,10 @@ function website_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 3,
     'values' => [
-      '2' => [
-        'id' => '2',
+      '3' => [
+        'id' => '3',
         'contact_id' => '5',
         'url' => 'website.com',
         'website_type_id' => '1',
@@ -58,23 +63,23 @@ function website_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetWebsite"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetWebsite"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Website/GetFields.ex.php b/civicrm/api/v3/examples/Website/GetFields.ex.php
index a4a5f78056a69ce5ef299e8b828b3f556a701fda..6801f5543a79b45e3a9d239d390c8080468233f1 100644
--- a/civicrm/api/v3/examples/Website/GetFields.ex.php
+++ b/civicrm/api/v3/examples/Website/GetFields.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Website.getfields API.
  *
@@ -10,7 +15,7 @@ function website_getfields_example() {
     'action' => 'get',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Website', 'getfields', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -53,6 +58,13 @@ function website_getfields_expectedresult() {
         'entity' => 'Website',
         'bao' => 'CRM_Core_BAO_Website',
         'localizable' => 0,
+        'html' => [
+          'type' => 'Number',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'readonly' => TRUE,
+        'add' => '3.2',
         'is_core_field' => TRUE,
         'api.aliases' => [
           '0' => 'website_id',
@@ -61,7 +73,7 @@ function website_getfields_expectedresult() {
       'contact_id' => [
         'name' => 'contact_id',
         'type' => 1,
-        'title' => 'Contact',
+        'title' => 'Contact ID',
         'description' => 'FK to Contact ID',
         'where' => 'civicrm_website.contact_id',
         'table_name' => 'civicrm_website',
@@ -69,6 +81,12 @@ function website_getfields_expectedresult() {
         'bao' => 'CRM_Core_BAO_Website',
         'localizable' => 0,
         'FKClassName' => 'CRM_Contact_DAO_Contact',
+        'html' => [
+          'label' => 'Contact',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'add' => '3.2',
         'is_core_field' => TRUE,
         'FKApiName' => 'Contact',
       ],
@@ -93,6 +111,7 @@ function website_getfields_expectedresult() {
           'maxlength' => 128,
           'size' => 30,
         ],
+        'add' => '3.2',
         'is_core_field' => TRUE,
       ],
       'website_type_id' => [
@@ -114,6 +133,7 @@ function website_getfields_expectedresult() {
           'optionGroupName' => 'website_type',
           'optionEditPath' => 'civicrm/admin/options/website_type',
         ],
+        'add' => '3.2',
         'is_core_field' => TRUE,
       ],
     ],
@@ -123,23 +143,23 @@ function website_getfields_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetFields"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetFields"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Website/GetWithMetadata.ex.php b/civicrm/api/v3/examples/Website/GetWithMetadata.ex.php
index 2cf480b8f2587470546afc571cd08e969e64647a..d3cd32d16d66e2f9fcca741f96574b210b3626d3 100644
--- a/civicrm/api/v3/examples/Website/GetWithMetadata.ex.php
+++ b/civicrm/api/v3/examples/Website/GetWithMetadata.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Website.get API.
  *
- * Demonostrates returning field metadata
+ * Demonostrates returning field metadata.
  *
  * @return array
  *   API result array
@@ -16,7 +21,7 @@ function website_get_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Website', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -61,6 +66,13 @@ function website_get_expectedresult() {
           'entity' => 'Website',
           'bao' => 'CRM_Core_BAO_Website',
           'localizable' => 0,
+          'html' => [
+            'type' => 'Number',
+            'size' => '6',
+            'maxlength' => '14',
+          ],
+          'readonly' => '1',
+          'add' => '3.2',
           'is_core_field' => '1',
           'api.aliases' => [
             '0' => 'website_id',
@@ -69,7 +81,7 @@ function website_get_expectedresult() {
         'contact_id' => [
           'name' => 'contact_id',
           'type' => '1',
-          'title' => 'Contact',
+          'title' => 'Contact ID',
           'description' => 'FK to Contact ID',
           'where' => 'civicrm_website.contact_id',
           'table_name' => 'civicrm_website',
@@ -77,6 +89,12 @@ function website_get_expectedresult() {
           'bao' => 'CRM_Core_BAO_Website',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
+          'html' => [
+            'label' => 'Contact',
+            'size' => '6',
+            'maxlength' => '14',
+          ],
+          'add' => '3.2',
           'is_core_field' => '1',
           'FKApiName' => 'Contact',
         ],
@@ -101,6 +119,7 @@ function website_get_expectedresult() {
             'maxlength' => '128',
             'size' => '30',
           ],
+          'add' => '3.2',
           'is_core_field' => '1',
         ],
         'website_type_id' => [
@@ -122,6 +141,7 @@ function website_get_expectedresult() {
             'optionGroupName' => 'website_type',
             'optionEditPath' => 'civicrm/admin/options/website_type',
           ],
+          'add' => '3.2',
           'is_core_field' => '1',
         ],
       ],
@@ -132,23 +152,23 @@ function website_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetMetadata"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetMetadata"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/utils.php b/civicrm/api/v3/utils.php
index 53e652bed738b55388134382bcede24fe123c9de..a7ce83160e70e303744f34ef99e70cf3e937e9a0 100644
--- a/civicrm/api/v3/utils.php
+++ b/civicrm/api/v3/utils.php
@@ -273,7 +273,7 @@ function civicrm_api3_create_success($values = 1, $params = [], $entity = NULL,
 /**
  * Load the DAO of the entity.
  *
- * @param $entity
+ * @param string $entity
  *
  * @return bool
  */
@@ -405,7 +405,7 @@ function _civicrm_api3_get_BAO($name) {
 /**
  * Recursive function to explode value-separated strings into arrays.
  *
- * @param $values
+ * @param array $values
  */
 function _civicrm_api3_separate_values(&$values) {
   $sp = CRM_Core_DAO::VALUE_SEPARATOR;
@@ -445,15 +445,15 @@ function _civicrm_api3_filter_fields_for_bao($entity, &$params, &$values) {
 }
 
 /**
- * Store values.
+ * Copy values (other than id) from params to values if they exist in fields.
  *
  * @param array $fields
  * @param array $params
  * @param array $values
  *
- * @return Bool
+ * @return bool
  */
-function _civicrm_api3_store_values(&$fields, &$params, &$values) {
+function _civicrm_api3_store_values(array $fields, array $params, &$values): bool {
   $valueFound = FALSE;
 
   $keys = array_intersect_key($params, $fields);
@@ -498,7 +498,7 @@ function _civicrm_api3_field_names($fields) {
  * Ideally this would be merged with _civicrm_get_query_object but we need to resolve differences in what the
  * 2 variants call
  *
- * @param $entity
+ * @param string $entity
  * @param array $params
  *   As passed into api get or getcount function.
  * @param array $additional_options
@@ -898,7 +898,7 @@ function _civicrm_api3_get_options_from_params($params, $queryObject = FALSE, $e
  *   Params array as passed into civicrm_api.
  * @param object $dao
  *   DAO object.
- * @param $entity
+ * @param string $entity
  *
  * @throws \API_Exception
  * @throws \CRM_Core_Exception
@@ -1068,8 +1068,8 @@ function _civicrm_api3_object_to_array(&$dao, &$values, $uniqueFields = FALSE) {
 /**
  * Wrapper for _civicrm_object_to_array when api supports unique fields.
  *
- * @param $dao
- * @param $values
+ * @param CRM_Core_DAO $dao
+ * @param array $values
  *
  * @return array
  */
@@ -1125,10 +1125,10 @@ function _civicrm_api3_custom_format_params($params, &$values, $extends, $entity
  * Format parameters for create action.
  *
  * @param array $params
- * @param $entity
+ * @param string $entity
  */
 function _civicrm_api3_format_params_for_create(&$params, $entity) {
-  $nonGenericEntities = ['Contact', 'Individual', 'Household', 'Organization'];
+  $nonGenericEntities = array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes(TRUE));
 
   $customFieldEntities = array_diff_key(CRM_Core_SelectValues::customGroupExtends(), array_fill_keys($nonGenericEntities, 1));
   if (!array_key_exists($entity, $customFieldEntities)) {
@@ -1302,29 +1302,20 @@ function _civicrm_api3_basic_get($bao_name, $params, $returnAsSuccess = TRUE, $e
 function _civicrm_api3_basic_create($bao_name, &$params, $entity = NULL) {
   _civicrm_api3_check_edit_permissions($bao_name, $params);
   _civicrm_api3_format_params_for_create($params, $entity);
-  $args = array(&$params);
-  if ($entity) {
-    $ids = [$entity => CRM_Utils_Array::value('id', $params)];
-    $args[] = &$ids;
-  }
 
   if (method_exists($bao_name, 'create')) {
     $fct = 'create';
-    $fct_name = $bao_name . '::' . $fct;
-    $bao = call_user_func_array([$bao_name, $fct], $args);
   }
   elseif (method_exists($bao_name, 'add')) {
     $fct = 'add';
-    $fct_name = $bao_name . '::' . $fct;
-    $bao = call_user_func_array([$bao_name, $fct], $args);
   }
-  else {
-    $fct_name = '_civicrm_api3_basic_create_fallback';
-    $bao = _civicrm_api3_basic_create_fallback($bao_name, $params);
+  if (!isset($fct) || \Civi\Api4\Utils\ReflectionUtils::isMethodDeprecated($bao_name, $fct)) {
+    $fct = 'writeRecord';
   }
+  $bao = $bao_name::$fct($params);
 
   if (is_null($bao)) {
-    return civicrm_api3_create_error('Entity not created (' . $fct_name . ')');
+    return civicrm_api3_create_error("Entity not created ($bao_name::$fct)");
   }
   elseif (is_a($bao, 'CRM_Core_Error')) {
     //some weird circular thing means the error takes itself as an argument
@@ -1338,8 +1329,9 @@ function _civicrm_api3_basic_create($bao_name, &$params, $entity = NULL) {
   }
   else {
     // If we have custom fields the BAO may have taken care of it or we may have to.
-    // $extendsMap provides a pretty good hard-coded list of BAOs that take care of the custom data.
-    if (isset($params['custom']) && empty(CRM_Core_BAO_CustomQuery::$extendsMap[$entity])) {
+    // DAO::writeRecord always handles custom data.
+    // Otherwise guess based on the $extendsMap hard-coded list of BAOs that take care of custom data.
+    if (isset($params['custom']) && $fct !== 'writeRecord' && empty(CRM_Core_BAO_CustomQuery::$extendsMap[$entity])) {
       CRM_Core_BAO_CustomValueTable::store($params['custom'], CRM_Core_DAO_AllCoreTables::getTableForClass(CRM_Core_DAO_AllCoreTables::getFullName($entity)), $bao->id);
     }
     $values = [];
@@ -1409,7 +1401,7 @@ function _civicrm_api3_basic_delete($bao_name, &$params) {
  *
  * @param array $returnArray
  *   Array to append custom data too - generally $result[4] where 4 is the entity id.
- * @param $checkPermission
+ * @param bool $checkPermission
  * @param string $entity
  *   E.g membership, event.
  * @param int $entity_id
@@ -1513,7 +1505,7 @@ function _civicrm_api3_validate($entity, $action, $params) {
 
 /**
  * Used by the Validate API.
- * @param $fieldName
+ * @param string $fieldName
  * @param array $fieldInfo
  * @param string $entity
  * @param array $params
@@ -1713,7 +1705,7 @@ function _civicrm_api3_validate_date(&$params, &$fieldName, &$fieldInfo) {
  *
  * @param string $dateValue
  * @param string $fieldName
- * @param $fieldType
+ * @param int $fieldType
  *
  * @throws Exception
  * @return mixed
@@ -1884,7 +1876,7 @@ function _civicrm_api3_generic_replace_base_params($params) {
 /**
  * Returns fields allowable by api.
  *
- * @param $entity
+ * @param string $entity
  *   String Entity to query.
  * @param bool $unique
  *   Index by unique fields?.
@@ -1960,7 +1952,7 @@ function _civicrm_api_get_fields($entity, $unique = FALSE, &$params = []) {
  *
  * This is the same as the BAO function but fields are prefixed with 'custom_' to represent api params.
  *
- * @param $entity
+ * @param string $entity
  * @param array $params
  *
  * @return array
@@ -2004,8 +1996,8 @@ function _civicrm_api_get_custom_fields($entity, &$params) {
  *
  * Function also swaps unique fields for non-unique fields & vice versa.
  *
- * @param $apiRequest
- * @param $fields
+ * @param array $apiRequest
+ * @param array $fields
  */
 function _civicrm_api3_swap_out_aliases(&$apiRequest, $fields) {
   foreach ($fields as $field => $values) {
@@ -2085,10 +2077,10 @@ function _civicrm_api3_validate_integer(&$params, $fieldName, &$fieldInfo, $enti
       }
     }
     if (
-      (!empty($fieldInfo['pseudoconstant']) || !empty($fieldInfo['options']) || $fieldName === 'campaign_id')
-      // if it is already numeric AND it is an FK field we don't need to validate because
-      // sql will do that for us on insert (this also saves a big lookup)
-      && (!is_numeric($fieldValue) || !in_array($fieldName, ['campaign_id', 'payment_processor_id']))
+      !empty($fieldInfo['pseudoconstant']) ||
+      !empty($fieldInfo['options']) ||
+      // Special case for campaign_id which is no longer a pseudoconstant
+      ($fieldName === 'campaign_id' && !CRM_Utils_Rule::positiveInteger($fieldValue))
     ) {
       $additional_lookup_params = [];
       if (strtolower($entity) === 'address' && $fieldName == 'state_province_id') {
@@ -2126,7 +2118,7 @@ function _civicrm_api3_validate_integer(&$params, $fieldName, &$fieldInfo, $enti
 
 /**
  * Helper function to determine country_id given the myriad of values for country_id or country that are supported
- * @param $params
+ * @param array $params
  *
  * @return int|null
  */
@@ -2402,9 +2394,9 @@ function _civicrm_api3_api_match_pseudoconstant_value(&$value, $options, $fieldN
 /**
  * Returns the canonical name of a field.
  *
- * @param $entity
+ * @param string $entity
  *   api entity name (string should already be standardized - no camelCase).
- * @param $fieldName
+ * @param string $fieldName
  *   any variation of a field's name (name, unique_name, api.alias).
  *
  * @param string $action
@@ -2497,7 +2489,7 @@ function _civicrm_api3_field_value_check(&$params, $fieldName, $type = NULL) {
  * _civicrm_api3_basic_get but does not use DAO/BAO. This is useful for
  * small/mid-size data loaded from external JSON or XML documents.
  *
- * @param $entity
+ * @param string $entity
  * @param array $params
  *   API parameters.
  * @param array $records
diff --git a/civicrm/civicrm-version.php b/civicrm/civicrm-version.php
index 843c9c0e014bed423bd62762d20f8f48415a0f40..4240123d8e75f9c7640f83bb007ae876ee793a57 100644
--- a/civicrm/civicrm-version.php
+++ b/civicrm/civicrm-version.php
@@ -1,7 +1,7 @@
 <?php
 /** @deprecated */
 function civicrmVersion( ) {
-  return array( 'version'  => '5.46.2',
+  return array( 'version'  => '5.47.0',
                 'cms'      => 'Wordpress',
                 'revision' => '' );
 }
diff --git a/civicrm/composer.json b/civicrm/composer.json
index 3450c57ca2455472d6604b5c008d2592c16a98e9..06a7dcbf9bdbc55ff84aa0897be7ab5c1ce0846c 100644
--- a/civicrm/composer.json
+++ b/civicrm/composer.json
@@ -39,6 +39,11 @@
   "config": {
     "platform": {
       "php": "7.2"
+    },
+    "allow-plugins": {
+      "civicrm/composer-compile-plugin": true,
+      "civicrm/composer-downloads-plugin": true,
+      "cweagans/composer-patches": true
     }
   },
   "require": {
diff --git a/civicrm/css/abtesting.css b/civicrm/css/abtesting.css
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8b137891791fe96927ad78e64b0aad7bded08bdc 100644
--- a/civicrm/css/abtesting.css
+++ b/civicrm/css/abtesting.css
@@ -0,0 +1 @@
+
diff --git a/civicrm/css/admin.css b/civicrm/css/admin.css
index f32f51f710c9da124467be9fbb883abaa61e8e0b..61ff521cb83dead3da0f3182077ab2775e53d64f 100644
--- a/civicrm/css/admin.css
+++ b/civicrm/css/admin.css
@@ -6,12 +6,12 @@
 }
 
 #crm-container table.selector td.tasklist {
-  border-right: 1px solid #DDDDDD;
+  border-right: 1px solid #dddddd;
   width: 20%;
 }
 
 #crm-container td.tasklist a:link {
-  color: #FF0105;
+  color: #ff0105;
 }
 
 #crm-container td.tasklist a:visited {
@@ -20,22 +20,22 @@
 
 /* Class for successful upgrade */
 .crm-container .upgrade-success {
-  background-color: #00CC00;
+  background-color: #00cc00;
   color: white;
 }
 
 /* Extension management */
 
 .crm-container .extension-upgradable {
-  background-color: #FFFFCC !important;
+  background-color: #ffffcc !important;
 }
 
 .crm-container .extension-installed {
-  background-color: #DDFFDD !important;
+  background-color: #ddffdd !important;
 }
 
 .crm-container .extension-missing {
-  color: #E43D2B !important;
+  color: #e43d2b !important;
 }
 
 #crm-container .crm-extensions-upgrade {
@@ -56,7 +56,7 @@
 }
 
 .crm-container .crm-extensions-stage.fa-check-circle {
-  color: #00994D;
+  color: #00994d;
 }
 
 @media screen and (min-width: 480px) {
diff --git a/civicrm/css/backdrop.css b/civicrm/css/backdrop.css
index 2d99f549e38eabc27b26fa467efb26cc9449ca07..53faf1ac7082bbe318577d8d3895b156f3af0f4a 100644
--- a/civicrm/css/backdrop.css
+++ b/civicrm/css/backdrop.css
@@ -2,7 +2,7 @@
 
 /* Make status messages work with Backdrop styles */
 .crm-container :not(.crm-footer) .messages.status {
-  background-color: #E9EEBC;
+  background-color: #e9eebc;
   padding: 0.9em 0.625em 1em 3.438em;
   border: none;
 }
@@ -10,7 +10,7 @@
 .crm-container :not(.crm-footer) .messages.status .crm-i {
   font-size: 1.5rem;
   color: #fff;
-  background-color: #CFDE56;
+  background-color: #cfde56;
   position: absolute;
   padding: .4rem;
   left: 0;
@@ -22,7 +22,7 @@
   .crm-container :not(.crm-footer) .messages.status {
     padding-left: 4.375em;
   }
-  
+
   .crm-container :not(.crm-footer) .messages.status .crm-i {
     font-size: 1.75rem;
     padding: .5rem;
diff --git a/civicrm/css/bluemarine.css b/civicrm/css/bluemarine.css
index 95b9cde6cac6f485c65b39bbc255edd6e4f6ed30..f3fc40bd8f7714c02d2b5e14d7d6429b2cddafc0 100644
--- a/civicrm/css/bluemarine.css
+++ b/civicrm/css/bluemarine.css
@@ -10,10 +10,16 @@ body {
   background-color: #fff;
   font: 76% Verdana, Arial, Helvetica, sans-serif;
 }
-tr.dark td, tr.light td {
+tr.dark td,
+tr.light td {
   padding: 0.3em;
 }
-h1, h2, h3, h4, h5, h6 {
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
   margin-bottom: 0.5em;
 }
 h1 {
@@ -22,7 +28,10 @@ h1 {
 h2 {
   font-size: 1.2em;
 }
-h3, h4, h5, h6 {
+h3,
+h4,
+h5,
+h6 {
   font-size: 1.1em;
 }
 p {
@@ -74,7 +83,8 @@ table {
 /*
 ** Page layout blocks / IDs
 */
-#header, #content {
+#header,
+#content {
   width: 100%;
 }
 #header {
@@ -112,7 +122,8 @@ table {
   font-weight: bold;
   color: #9cf;
 }
-#search .form-text, #search .crm-form-submit {
+#search .form-text,
+#search .crm-form-submit {
   border: 1px solid #369;
   font-size: 1.1em;
 }
@@ -130,7 +141,8 @@ table {
   padding: 1.5em 2em;
   color: #fff;
 }
-#mission a, #mission a:visited {
+#mission a,
+#mission a:visited {
   color: #9cf;
   font-weight: bold;
 }
@@ -139,7 +151,8 @@ table {
   padding: 0em;
   font-size: 2em;
 }
-.site-name a:link, .site-name a:visited {
+.site-name a:link,
+.site-name a:visited {
   color: #fff;
 }
 .site-name a:hover {
@@ -158,7 +171,9 @@ table {
   /* padding in px not ex because IE messes up 100% width tables otherwise */
   padding: 10px;
 }
-#mission, .node .content, .comment .content {
+#mission,
+.node .content,
+.comment .content {
   line-height: 1.4;
 }
 #help {
@@ -177,7 +192,8 @@ table {
 .error {
   border-color: red;
 }
-#sidebar-left, #sidebar-right {
+#sidebar-left,
+#sidebar-right {
   background-color: #ddd;
   width: 16em;
   /* padding in px not ex because IE messes up 100% width tables otherwise */
@@ -196,7 +212,8 @@ table {
 ** additional rules /with only the differing properties!/ to .parent .class.
 ** See .comment .title for an example.
 */
-.title, .title a {
+.title,
+.title a {
   font-weight: bold;
   font-size: 1.3em;
   color: #777;
@@ -212,7 +229,8 @@ table {
 .links a {
   font-weight: bold;
 }
-.block, .box {
+.block,
+.box {
   padding: 0 0 1.5em 0;
 }
 .block {
@@ -234,7 +252,8 @@ table {
   background-color: #eee;
   border: solid 1px #ddd;
 }
-.node .content, .comment .content {
+.node .content,
+.comment .content {
   margin: .5em 0 .5em 0;
 }
 .node .taxonomy {
@@ -278,7 +297,10 @@ table {
   padding: 1em;
   margin: 1em 0 1em 0;
 }
-#aggregator .news-item .source, #aggregator .news-item .categories, #aggregator .source, #aggregator .age {
+#aggregator .news-item .source,
+#aggregator .news-item .categories,
+#aggregator .source,
+#aggregator .age {
   color: #999;
   font-style: italic;
   font-size: 0.9em;
@@ -296,10 +318,12 @@ table {
 #forum td {
   padding: 0.5em 0.5em 0.5em 0.5em;
 }
-#forum td.forum, #forum td.posts {
+#forum td.forum,
+#forum td.posts {
   background-color: #eee;
 }
-#forum td.topics, #forum td.last-reply {
+#forum td.topics,
+#forum td.last-reply {
   background-color: #ddd;
 }
 #forum td.container {
@@ -308,7 +332,9 @@ table {
 #forum td.container a {
   color: #555;
 }
-#forum td.statistics, #forum td.settings, #forum td.pager {
+#forum td.statistics,
+#forum td.settings,
+#forum td.pager {
   height: 1.5em;
   border: 1px solid #bbb;
 }
@@ -334,7 +360,8 @@ table {
 .calendar a {
   text-decoration: none;
 }
-.calendar td, .calendar th {
+.calendar td,
+.calendar th {
   padding: 0.4em 0;
   border-color: #888;
 }
@@ -355,5 +382,6 @@ table {
   background-color: #ccc;
 }
 .calendar .row-week td a:hover {
-  background-color: #fff; color: #000;
+  background-color: #fff;
+  color: #000;
 }
diff --git a/civicrm/css/civicrm.css b/civicrm/css/civicrm.css
index 163095e9d0e820aed29e254162f048f7aceb73ad..3216339b5cb83962de33e6130170011e13e4ed10 100644
--- a/civicrm/css/civicrm.css
+++ b/civicrm/css/civicrm.css
@@ -8,15 +8,15 @@
 
 /* Use this class to hide text that should only be there for screen readers */
 .sr-only {
-   border: 0;
-   clip: rect(1px, 1px, 1px, 1px);
-   clip-path: inset(50%);
-   height: 1px;
-   width: 1px;
-   margin: -1px;
-   overflow: hidden;
-   padding: 0;
-   position: absolute;
+  border: 0;
+  clip: rect(1px, 1px, 1px, 1px);
+  clip-path: inset(50%);
+  height: 1px;
+  width: 1px;
+  margin: -1px;
+  overflow: hidden;
+  padding: 0;
+  position: absolute;
 }
 
 .crm-container .crm-flex-box {
@@ -62,11 +62,12 @@ div.crm-container label {
   display: inline;
 }
 
-div.crm-container fieldset label{
+div.crm-container fieldset label {
   float: none;
 }
 
-input.crm-form-radio + label, input.crm-form-checkbox + label{
+input.crm-form-radio + label,
+input.crm-form-checkbox + label {
   margin-left: 7px;
 }
 
@@ -112,11 +113,11 @@ input.crm-form-radio + label, input.crm-form-checkbox + label{
 .crm-container table.display thead th,
 .crm-container table thead.sticky th,
 .crm-container table.caseSelector tr.columnheader th {
-  background-color: #FFFFFF;
-  border-color: #FFFFFF #FFFFFF #CFCEC3;
+  background-color: #ffffff;
+  border-color: #ffffff #ffffff #cfcec3;
   border-style: solid;
   border-width: 1px 1px 2px;
-  color: #A7A7A7;
+  color: #a7a7a7;
   font-size: 13px;
   font-weight: bold;
   padding: 4px;
@@ -125,13 +126,13 @@ input.crm-form-radio + label, input.crm-form-checkbox + label{
 }
 /* Styles for Sticky Header */
 .crm-container table thead.sticky {
-  background-color: #FFF;
+  background-color: #fff;
 }
 
 .crm-container thead div.sticky-header {
   height: 15px;
-  border-bottom: 2px solid #CFCEC3;
-  background-color: #FFF;
+  border-bottom: 2px solid #cfcec3;
+  background-color: #fff;
   z-index: 10;
 }
 
@@ -143,12 +144,12 @@ input.crm-form-radio + label, input.crm-form-checkbox + label{
 .crm-container table.caseSelector tr.columnheader th a.sort-ascending,
 .crm-container table.caseSelector tr.columnheader th a.sort-descending {
   color: #3e3e3e;
-  background-color: #FFF;
+  background-color: #fff;
 }
 
 /* Set background back to normal gray for form labels which use <th>. Temporary fix until we standardize form layout markup. */
 .crm-container table.form-layout-compressed tbody th.label {
-  background-color: #F7F7F7;
+  background-color: #f7f7f7;
 }
 
 .crm-container tbody {
@@ -164,7 +165,7 @@ input.crm-form-radio + label, input.crm-form-checkbox + label{
   margin: 0;
   padding: 3px 0 3px 0;
   clear: none;
-  background-color: #F1F8EB;
+  background-color: #f1f8eb;
 }
 
 /*
@@ -240,7 +241,7 @@ input.crm-form-entityref {
 
 /* Base crm-container styles */
 .crm-container hr {
-  background-color: #B0B0B0;
+  background-color: #b0b0b0;
 }
 
 .crm-container .crm-form-block {
@@ -248,7 +249,7 @@ input.crm-form-entityref {
   margin-bottom: 4px;
   font-size: 13px;
   background-color: #efefe5;
-  color: #3E3E3E;
+  color: #3e3e3e;
 }
 
 .crm-container .no-border {
@@ -303,7 +304,7 @@ input.crm-form-entityref {
 }
 
 .crm-container input.crm-form-text.ng-invalid.ng-dirty {
-    border: 1px solid #FF0000;
+  border: 1px solid #ff0000;
 }
 .crm-container input.crm-form-text,
 .crm-container .crm-icon-picker-button,
@@ -358,7 +359,7 @@ input.crm-form-entityref {
   padding: 4px 0;
   margin: 10px 0;
   border: none;
-  border-top: 1px solid #CFCEC3;
+  border-top: 1px solid #cfcec3;
 }
 
 .crm-container fieldset.no-border {
@@ -373,7 +374,7 @@ input.crm-form-entityref {
   background: none;
   border: medium none;
   background-color: transparent;
-  color: #3E3E3E;
+  color: #3e3e3e;
   position: relative;
   text-indent: 0;
   width: auto;
@@ -422,7 +423,7 @@ input.crm-form-entityref {
   }
 }
 
-.crm-container .crm-section .label label{
+.crm-container .crm-section .label label {
   white-space: normal;
 }
 
@@ -633,14 +634,14 @@ input.crm-form-entityref {
 }
 
 .crm-container .messages table td {
-  background-color: #F7F7F7;
-  border-bottom: 1px solid #DDDDDD;
+  background-color: #f7f7f7;
+  border-bottom: 1px solid #dddddd;
 }
 
 .crm-container .status {
-  background-color: #FFFFCC;
+  background-color: #ffffcc;
   background-image: none;
-  border: 1px solid #FFFF66;
+  border: 1px solid #ffff66;
   margin: 0.5em 0;
   padding: 0.25em 0.5em;
   color: #3e3e3e;
@@ -673,26 +674,26 @@ input.crm-form-entityref {
   color: #000080;
 }
 
-.crm-container .crm-marker{
-  color: #8A1F11;
+.crm-container .crm-marker {
+  color: #8a1f11;
   font-weight: bold;
   margin-right: 5px;
 }
 
 .crm-container .crm-error,
 .crm-container .crm-inline-error {
-  background: #FBE3E4 none repeat scroll 0 0;
+  background: #fbe3e4 none repeat scroll 0 0;
   border: none;
-  color: #8A1F11;
+  color: #8a1f11;
 }
 .crm-container .crm-error {
   padding: 4px;
 }
 
 .crm-container .status.crm-ok {
-  border-color: #B0D730;
-  background-color: #F1F8EB;
-  color: #3E3E3E;
+  border-color: #b0d730;
+  background-color: #f1f8eb;
+  color: #3e3e3e;
 }
 
 .crm-container .crm-footer {
@@ -744,7 +745,7 @@ input.crm-form-entityref {
   padding: 0.5em;
   background-color: #999999;
   font-weight: bold;
-  color: #FAFAFA;
+  color: #fafafa;
   border-radius: 2px;
 }
 
@@ -756,10 +757,10 @@ input.crm-form-entityref {
 /* Data display layouts */
 .crm-container h3 {
   /* h3 used as table header for civicrm */
-  background-color: #CDE8FE;
+  background-color: #cde8fe;
   font-size: 15px;
   font-weight: bold;
-  color: #121A2D;
+  color: #121a2d;
   padding: 4px 6px;
   margin: 0 0 0.3em;
 }
@@ -842,9 +843,9 @@ input.crm-form-entityref {
 /* Page and form-level 'help' */
 .crm-container .help,
 .crm-container #help {
-  background-color: #F1F8EB;
-  border: 1px solid #B0D730;
-  color: #3E3E3E;
+  background-color: #f1f8eb;
+  border: 1px solid #b0d730;
+  color: #3e3e3e;
   font-size: 13px;
   margin: 0 0 8px;
   padding: 4px;
@@ -870,14 +871,6 @@ input.crm-form-entityref {
   font-style: italic;
 }
 
-.crm-container .font-size11pt {
-  font-size: 1.1em;
-}
-
-.crm-container .font-size12pt {
-  font-size: 1.2em;
-}
-
 .crm-container .qill {
   font-weight: normal;
   line-height: 1.1em;
@@ -903,9 +896,9 @@ input.crm-form-entityref {
 }
 
 #crm-container tr.columnheader {
-  background-color: #E6E6E6;
+  background-color: #e6e6e6;
   color: #000000;
-  border: 1px solid #DDD;
+  border: 1px solid #ddd;
 }
 
 #crm-container tr.columnheader a {
@@ -916,7 +909,7 @@ input.crm-form-entityref {
 
 #crm-container tr.columnheader-dark th {
   background-color: #999999;
-  color: #FAFAFA;
+  color: #fafafa;
   border: 1px solid #696969;
 }
 
@@ -956,7 +949,7 @@ input.crm-form-entityref {
 
 #crm-container .report td {
   border: 1px solid #999999;
-  background-color: #F6F6F6;
+  background-color: #f6f6f6;
 }
 
 /* double line right border for last cell in a horizontal grouping */
@@ -966,9 +959,9 @@ input.crm-form-entityref {
 
 #crm-container .report td.separator {
   padding-top: 1em;
-  background-color: #FFFFFF;
-  border-left-color: #FFFFFF;
-  border-right-color: #FFFFFF;
+  background-color: #ffffff;
+  border-left-color: #ffffff;
+  border-right-color: #ffffff;
 }
 
 #crm-container .chart td {
@@ -1023,7 +1016,7 @@ input.crm-form-entityref {
 
 .crm-container .crm-pager {
   border: none;
-  background-color: #F5F6F1;
+  background-color: #f5f6f1;
   position: relative;
   height: 35px;
   padding-top: 5px;
@@ -1060,7 +1053,7 @@ input.crm-form-entityref {
 #crm-container form .section-hidden-border {
   background-color: #5c5c59;
   border: medium none;
-  color: #FFFFFF;
+  color: #ffffff;
   margin-left: 5px;
   font-size: 13px;
   font-family: Verdana;
@@ -1093,7 +1086,7 @@ input.crm-form-entityref {
 
 #crm-container ul.wizard-bar li {
   display: inline;
-  background-color: #FAFAFA;
+  background-color: #fafafa;
   border: 1px solid #999999;
   height: auto;
   margin: -2px;
@@ -1104,14 +1097,14 @@ input.crm-form-entityref {
 }
 
 #crm-container ul.wizard-bar li.current-step {
-  background-color: #4A89DC;
-  border-color: #4A89DC;
+  background-color: #4a89dc;
+  border-color: #4a89dc;
   color: #ffffff;
   font-weight: bold;
 }
 
 #crm-container ul.wizard-bar li.past-step {
-  background-color: #F5F5F5;
+  background-color: #f5f5f5;
   color: #666;
 }
 
@@ -1133,7 +1126,7 @@ input.crm-form-entityref {
 #crm-recently-viewed li.crm-recently-viewed {
   margin: 1px;
   padding: 1px 1px 4px 3px;
-  border: 1px solid #D7D7D0;
+  border: 1px solid #d7d7d0;
   background-color: #fff;
   white-space: nowrap;
   list-style-type: none;
@@ -1143,14 +1136,14 @@ input.crm-form-entityref {
 
 #crm-recently-viewed ul li.crm-recently-viewed:hover,
 #crm-recently-viewed .crm-recentview-wrapper {
-  background-color: #FFFFCC;
-  border: 1px solid #FFFF66;
+  background-color: #ffffcc;
+  border: 1px solid #ffff66;
   border-radius: 4px;
 }
 
 #crm-recently-viewed a {
   font-weight: normal;
-  color: #4A88DF;
+  color: #4a88df;
   text-decoration: none;
   font-size: .95em;
 }
@@ -1266,7 +1259,7 @@ input.crm-form-entityref {
 }
 
 #crm-container table.campaign table {
-  background: #F7F7F7;
+  background: #f7f7f7;
 }
 
 #crm-container div.remaining {
@@ -1332,7 +1325,7 @@ input.crm-form-entityref {
 }
 
 #crm-container .pcp-widgets {
-  border: 1px solid #CCCCCC;
+  border: 1px solid #cccccc;
   float: right;
   margin: 0 0 1em 1em;
   padding: 0.5em;
@@ -1396,10 +1389,10 @@ input.crm-form-entityref {
 
 #crm-container table.nestedActivitySelector tr.columnheader th {
   color: #000000;
-  background-color: #CFCEC3;
-  border-top-color: #FFF;
-  border-left-color: #FFFFFF;
-  border-right-color: #FFFFFF;
+  background-color: #cfcec3;
+  border-top-color: #fff;
+  border-left-color: #ffffff;
+  border-right-color: #ffffff;
   border-bottom-color: #999999;
 }
 
@@ -1413,17 +1406,16 @@ input.crm-form-entityref {
 }
 
 #crm-container table#activities-selector.nestedActivitySelector tr.status-overdue {
-
 }
 
 #crm-container table.nestedActivitySelector tr.priority-urgent,
 #crm-container table.nestedActivitySelector tr a.priority-urgent {
-  background-color: #FFDDDD;
+  background-color: #ffdddd;
 }
 
 #crm-container table.nestedActivitySelector tr.priority-low,
 #crm-container table.nestedActivitySelector tr a.priority-low {
-  background-color: #DDFFDD;
+  background-color: #ddffdd;
 }
 
 #crm-container table.nestedActivitySelector tr.status-scheduled,
@@ -1438,7 +1430,7 @@ input.crm-form-entityref {
 
 #crm-container table.nestedActivitySelector tr.status-overdue,
 #crm-container table.nestedActivitySelector tr a.status-overdue {
-  color: #FF0000;
+  color: #ff0000;
 }
 
 #crm-container table.nestedActivitySelector tr a.crm-activity-status {
@@ -1489,7 +1481,7 @@ input.crm-form-entityref {
 
 .crm-container .action-item-wrap {
   padding: 0 5px;
-  border-left: 1px solid #CCC;
+  border-left: 1px solid #ccc;
   white-space: normal;
 }
 
@@ -1531,9 +1523,9 @@ input.crm-form-entityref {
   background-image: -moz-linear-gradient(center bottom, #eee 0%, #ccc 100%);
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#cccccc', endColorstr = '#eeeeee', GradientType = 0);
   background-image: linear-gradient(top, #eee 0%, #ccc 100%);
-  border: 1px solid #AAAAAA;
+  border: 1px solid #aaaaaa;
   opacity: 1;
-  color: #2786C2;
+  color: #2786c2;
 }
 .crm-container .crm-hover-button .icon {
   cursor: pointer;
@@ -1551,7 +1543,7 @@ input.crm-form-entityref {
 
 /* theming for panel and context menus */
 .crm-container td ul.panel li {
-  background-color: #2F2F2E;
+  background-color: #2f2f2e;
 }
 
 .crm-container .btn-slide .panel li a:hover,
@@ -1559,7 +1551,7 @@ input.crm-form-entityref {
 .crm-container .crm-event-links-list-inner li a:hover,
 .crm-container .crm-contribpage-links-list-inner li a:hover {
   color: #3e3e3e;
-  background-color: #F5F6F1;
+  background-color: #f5f6f1;
   text-decoration: none;
 }
 
@@ -1617,7 +1609,7 @@ input.crm-form-entityref {
   padding: 4px;
   display: block;
   cursor: pointer;
-  color: #DFDFDF;
+  color: #dfdfdf;
 }
 
 /*class for CMS user name check used in profile*/
@@ -1694,7 +1686,7 @@ input.crm-form-entityref {
 .crm-container div.crm-clear {
   clear: both;
   margin-bottom: 1px;
-  background-color: #FAFAFA;
+  background-color: #fafafa;
   font-size: 11px;
 }
 
@@ -1738,7 +1730,7 @@ input.crm-form-entityref {
 
 .crm-container a.crm-event-feed-link {
   margin: 0 1ex;
-  color: #52534D;
+  color: #52534d;
   display: inline-block;
   font-size: 10px;
   padding: 2px 2px 0;
@@ -1766,8 +1758,8 @@ input.crm-form-entityref {
 }
 
 #crm-container .report-contents {
-  background-color: #F5F5F5;
-  border: 1px solid #CDCDC3;
+  background-color: #f5f5f5;
+  border: 1px solid #cdcdc3;
   padding: 4px;
   width: 20%;
   white-space: normal;
@@ -1775,7 +1767,7 @@ input.crm-form-entityref {
 }
 
 #crm-container .report-contents-right {
-  border: 1px solid #CDCDC3;
+  border: 1px solid #cdcdc3;
   padding: 4px;
   font-size: 0.95em;
   text-align: right;
@@ -1783,7 +1775,7 @@ input.crm-form-entityref {
 
 #crm-container table.report-layout td {
   padding: 4px;
-  border-bottom: 1px solid #CDCDC3;
+  border-bottom: 1px solid #cdcdc3;
   vertical-align: top;
 }
 
@@ -1797,8 +1789,7 @@ input.crm-form-entityref {
 }
 
 #crm-container table.report-layout th.report-contents {
-  background-color: #F5F5F5;
-
+  background-color: #f5f5f5;
 }
 
 #crm-container table.report-layout th.statistics {
@@ -1823,7 +1814,7 @@ input.crm-form-entityref {
   vertical-align: top;
   font-weight: bold;
   margin-right: 10px;
-  background-color: #EEEEEE;
+  background-color: #eeeeee;
   width: 20%;
 }
 
@@ -1896,7 +1887,7 @@ input.crm-form-entityref {
 .crm-container .crm-button {
   text-shadow: 0 1px 0 black;
   background: #696969;
-  color: #FFF;
+  color: #fff;
   font-size: 13px;
   font-weight: normal;
   margin: 0 6px 0 0;
@@ -2078,11 +2069,11 @@ a.crm-i:hover {
 .crm-container .crm-hover-button:hover .crm-i.fa-trash,
 .crm-container span:hover > .crm-i.fa-trash,
 .crm-i.crm-i-red {
-  color: #8A1F11;
+  color: #8a1f11;
 }
 
 .crm-i.crm-i-blue {
-  color: #6177D5;
+  color: #6177d5;
 }
 
 .crm-i.crm-i-green {
@@ -2094,8 +2085,8 @@ a.crm-i:hover {
 }
 
 .crm-submit-buttons .helpicon {
-    float: left;
-    padding-right: 6px;
+  float: left;
+  padding-right: 6px;
 }
 
 .crm-container  a.helpicon:hover,
@@ -2197,21 +2188,21 @@ div.crm-master-accordion-header a.helpicon {
 /* Specific types of headers */
 
 #crm-container .widget-content .crm-accordion-header {
-  background-color: #EFEFE5;
+  background-color: #efefe5;
   color: #080808;
 }
 
 .crm-container a.crm-expand-row:before,
 .crm-container a.crm-expand-row:link::before,
 .crm-container a.crm-expand-row:visited::before {
-  color: #3E3E3E;
+  color: #3e3e3e;
 }
 
 .crm-container .crm-accordion-header {
-  color: #F5F6F1;
+  color: #f5f6f1;
   font-weight: normal;
   padding: 4px 8px;
-  background-color: #5D677B;
+  background-color: #5d677b;
   border-radius: 4px 4px 0 0;
 }
 
@@ -2221,11 +2212,11 @@ div.crm-master-accordion-header a.helpicon {
 
 .crm-container .crm-accordion-header.active {
   font-weight: bold;
-  background-color: #3E3E3E;
+  background-color: #3e3e3e;
 }
 
 .crm-container .crm-accordion-header:hover {
-  background-color: #2F2F2E;
+  background-color: #2f2f2e;
 }
 
 #crm-container .widget-content .crm-accordion-header:hover {
@@ -2234,7 +2225,7 @@ div.crm-master-accordion-header a.helpicon {
 
 .crm-container .crm-accordion-wrapper .crm-master-accordion-header {
   background-color: transparent;
-  color: #3E3E3E;
+  color: #3e3e3e;
 }
 
 .crm-container .crm-accordion-wrapper .crm-master-accordion-header {
@@ -2243,7 +2234,7 @@ div.crm-master-accordion-header a.helpicon {
 
 .crm-container .crm-master-accordion-header.crm-accordion-header:hover,
 .crm-container .crm-collapsible .collapsible-title:hover {
-  color: #121A2D;
+  color: #121a2d;
 }
 
 .crm-container .collapsed .crm-accordion-body,
@@ -2289,7 +2280,7 @@ div.crm-master-accordion-header a.helpicon {
 
 .crm-container .crm-accordion-body {
   border-radius: 0 0 4px 4px;
-  border: 1px solid #70716B;
+  border: 1px solid #70716b;
   border-top: 0;
   padding: 4px 0;
 }
@@ -2322,7 +2313,7 @@ div.crm-master-accordion-header a.helpicon {
 }
 
 .crm-status-box-outer.status-start {
-  background: #F8FF03 url("../i/animated-overlay.gif");
+  background: #f8ff03 url("../i/animated-overlay.gif");
 }
 
 .crm-status-box-outer .crm-status-box-inner {
@@ -2377,7 +2368,7 @@ div.crm-master-accordion-header a.helpicon {
 .crm-container .crm-tooltip {
   padding: 4px;
   background-color: #2f2f2e;
-  color: #FFF;
+  color: #fff;
   margin-left: 11px;
   min-width: 20px;
   min-height: 20px;
@@ -2386,7 +2377,7 @@ div.crm-master-accordion-header a.helpicon {
 #crm-container .crm-tooltip table tr td {
   background-color: #2f2f2e;
   border: none;
-  color: #FFF;
+  color: #fff;
   word-wrap: break-word;
 }
 .crm-container .crm-tooltip .crm-summary-group {
@@ -2406,7 +2397,7 @@ div.crm-master-accordion-header a.helpicon {
 .crm-container .crm-summary-group h2 {
   padding: 2px 4px 0 4px;
   font-size: 14px;
-  color: #FFF;
+  color: #fff;
   margin-bottom: 0;
 }
 
@@ -2415,7 +2406,7 @@ div.crm-master-accordion-header a.helpicon {
   text-align: left;
   width: 40%;
   font-size: 11px;
-  color: #A7A7A7;
+  color: #a7a7a7;
   background-color: transparent;
 }
 
@@ -2710,7 +2701,7 @@ div.crm-container form {
 .crm-container tr.even,
 .crm-container tr.odd,
 .crm-container tbody th {
-  border-color: #FFF #FFF #efefef #FFF;
+  border-color: #fff #fff #efefef #fff;
 }
 
 .crm-container tr.even-row td,
@@ -2724,12 +2715,12 @@ div.crm-container form {
 .crm-container .odd-row,
 .crm-container .odd,
 tbody.scrollContent {
-  background-color: #FAFAFA;
+  background-color: #fafafa;
 }
 .crm-container .even-row,
 .crm-container .even,
 tbody.scrollContent tr.alternateRow {
-  background-color: #EFEFEF;
+  background-color: #efefef;
 }
 
 .crm-container td.checkbox {
@@ -2743,7 +2734,7 @@ tbody.scrollContent tr.alternateRow {
 .crm-container a.sorting,
 .crm-container a.sorting_desc,
 .crm-container a.sorting_asc {
-  color: #A7A7A7;
+  color: #a7a7a7;
   background: url("../bower_components/datatables/media/images/sort_both.png") no-repeat left center;
   padding-left: 20px;
 }
@@ -2755,7 +2746,7 @@ tbody.scrollContent tr.alternateRow {
 .crm-container tr a.sorting,
 .crm-container tr a.sorting_asc,
 .crm-container tr a.sorting_desc {
-  color: #52534D;
+  color: #52534d;
 }
 
 .crm-container table thead a.sorting_asc {
@@ -2783,7 +2774,7 @@ tbody.scrollContent tr.alternateRow {
 }
 
 .crm-container table.crm-info-panel td {
-  border-bottom: 1px solid #FFF;
+  border-bottom: 1px solid #fff;
 }
 
 .crm-container table.crm-info-panel .label {
@@ -2806,7 +2797,7 @@ tbody.scrollContent tr.alternateRow {
 }
 
 .crm-container table.selector td {
-  border-right: 1px dotted #DDDDDD;
+  border-right: 1px dotted #dddddd;
 }
 
 .crm-container div.contact_panel td,
@@ -2861,8 +2852,8 @@ tbody.scrollContent tr.alternateRow {
 /* search results */
 .crm-container .crm-search-tasks,
 .crm-container .crm-tasks {
-  background-color: #F0F0E8;
-  color: #52534D;
+  background-color: #f0f0e8;
+  color: #52534d;
 }
 
 #crm-container .crm-tasks table {
@@ -2885,7 +2876,7 @@ tbody.scrollContent tr.alternateRow {
 .crm-container .status-past,
 .crm-contact-deceased,
 .crm-container .status-warning {
-  color: #E43D2B !important;
+  color: #e43d2b !important;
 }
 
 /* rounded corners */
@@ -2924,7 +2915,8 @@ tbody.scrollContent tr.alternateRow {
   padding: 4px;
 }
 
-.crm-create-new-list-inner, .crm-create-new-list-inner ul {
+.crm-create-new-list-inner,
+.crm-create-new-list-inner ul {
   width: 160px!important;
 }
 
@@ -2935,12 +2927,12 @@ tbody.scrollContent tr.alternateRow {
 .crm-container .ac_results li,
 .crm-container .ac_results li a,
 .crm-container .ac_results li a:visited {
-  color: #DFDFDF;
+  color: #dfdfdf;
   text-decoration: none;
 }
 
 .ac_results li strong {
-  color: #FFF;
+  color: #fff;
   font-weight: normal;
 }
 
@@ -2957,7 +2949,7 @@ tbody.scrollContent tr.alternateRow {
 .ac_results li:hover,
 .ac_results li:hover a,
 .ac_results li a:hover {
-  background-color: #F5F6F1;
+  background-color: #f5f6f1;
   color: #666;
 }
 .crm-container .ac_results li:hover strong {
@@ -3107,7 +3099,7 @@ tbody.scrollContent tr.alternateRow {
   padding: 0;
 }
 .crm-container .crm-action-menu .select2-default span.select2-chosen {
-  color: #2786C2;
+  color: #2786c2;
 }
 .crm-container .select2-container[class*=" fa-"]:before {
   display: none;
@@ -3155,7 +3147,7 @@ span.crm-select-item-color {
   box-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
 }
 .crm-container.ui-dialog.ui-resizable:before {
-  display:block;
+  display: block;
   content: " ";
   width: 16px;
   height: 16px;
@@ -3165,8 +3157,8 @@ span.crm-select-item-color {
   right: 0;
 }
 .crm-container .ui-dialog-titlebar.ui-widget-header {
-  background: #5D677B;
-  color: #F5F6F1;
+  background: #5d677b;
+  color: #f5f6f1;
 }
 .crm-container .ui-dialog-title {
   background: url("../i/item_sprites.png") no-repeat scroll -79px -47px;
@@ -3193,16 +3185,16 @@ span.crm-select-item-color {
 
 /* table row highlightng */
 .crm-container .crm-row-ok {
-  background-color: #EFFFE7;
+  background-color: #efffe7;
   border-bottom: 1px solid #ccc;
 }
 .crm-container .crm-row-error {
-  background-color: #FFECEC;
+  background-color: #ffecec;
   border-bottom: 1px solid #ccc;
 }
 .crm-container table.row-highlight tr:hover,
 .crm-container .crm-row-selected {
-  background-color: #FFFFCC;
+  background-color: #ffffcc;
 }
 .crm-container table.row-highlight tr.even-row:hover,
 .crm-container table.row-highlight tr.even:hover,
@@ -3248,10 +3240,10 @@ span.crm-select-item-color {
   word-break: break-all;
 }
 .crm-container ul.crm-checkbox-list li:nth-child(even) label {
-  background-color: #FAFAFA;
+  background-color: #fafafa;
 }
 .crm-container ul.crm-checkbox-list li input:checked + label {
-  background-color: #FFFFCC;
+  background-color: #ffffcc;
 }
 .crm-container ul.crm-checkbox-list li:nth-child(even) input:checked + label {
   background-color: #fffdb2
@@ -3302,7 +3294,7 @@ span.crm-select-item-color {
 }
 
 .crm-container table.batch-totals {
-  border: 1px solid #7A7A60 !important;
+  border: 1px solid #7a7a60 !important;
   margin-top: 10px !important;
 }
 
@@ -3310,13 +3302,13 @@ span.crm-select-item-color {
 .crm-container .crm-grid-table {
   display: table;
   border-collapse: collapse;
-  border: 1px solid #7A7A60;
-  background-color: #FFFFFF;
+  border: 1px solid #7a7a60;
+  background-color: #ffffff;
   margin: 10px 3px 10px !important;
 }
 
 .crm-container .crm-batch-entry-table {
-  border-right: 2px solid #7A7A60 !important;
+  border-right: 2px solid #7a7a60 !important;
 }
 
 .crm-container .crm-grid-row,
@@ -3330,7 +3322,7 @@ span.crm-select-item-color {
 
 .crm-container .crm-grid-cell {
   display: table-cell;
-  border-right: 1px solid #EFEFEF;
+  border-right: 1px solid #efefef;
   padding: 2px;
   vertical-align: top;
 }
@@ -3410,7 +3402,7 @@ span.crm-select-item-color {
 }
 
 .crm-container .crm-editable-saving {
-  background: #FFFFCC!important;
+  background: #ffffcc!important;
   opacity: 0.8;
 }
 
@@ -3524,15 +3516,15 @@ span.crm-select-item-color {
 }
 .crm-container div.ui-notify-message-style a,
 .crm-container div.ui-notify-message-style a:link {
-  color: #CCD0FF;
+  color: #ccd0ff;
   text-decoration: underline;
 }
 .crm-container div.ui-notify-message-style a:hover,
 .crm-container div.ui-notify-message-style a:focus {
-  color: #B2B8FF;
+  color: #b2b8ff;
 }
 .crm-container div.ui-notify-message-style .ui-button .ui-button-text {
-  color: #2F2F2F;
+  color: #2f2f2f;
   text-decoration: none;
 }
 #crm-notification-container .ui-notify-message .ui-notify-close {
@@ -3546,7 +3538,7 @@ span.crm-select-item-color {
   font-weight: bold;
   text-shadow: 0 1px 1px #fff;
   padding: 2px;
-  color: #FDFDFD;
+  color: #fdfdfd;
 }
 #crm-notification-container .ui-notify-message .ui-notify-cross:hover,
 #crm-notification-container .ui-notify-message .ui-notify-cross:focus {
@@ -3827,7 +3819,7 @@ span.crm-status-icon {
   margin-right: 10px;
   box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
   border-radius: 3px;
-  border: 1px solid #FFFFFF;
+  border: 1px solid #ffffff;
 }
 
 .crm-container .credit_card_type-section .crm-credit_card_type-icons .crm-credit_card_type-icon-visa {
@@ -3877,15 +3869,15 @@ span.crm-status-icon {
 .crm-container input.ng-invalid.ng-dirty,
 .crm-container select.ng-invalid.ng-dirty,
 .crm-container textarea.ng-invalid.ng-dirty {
-    border: 1px solid red;
+  border: 1px solid red;
 }
 .crm-container input.ng-valid,
 .crm-container input.ng-pristine,
 .crm-container textarea.ng-valid,
 .crm-container textarea.ng-pristine,
 .crm-container select.ng-valid,
-.crm-container select.ng-pristine{
-    border: 1px solid #666;
+.crm-container select.ng-pristine {
+  border: 1px solid #666;
 }
 
 /* block-ui */
@@ -3894,7 +3886,7 @@ span.crm-status-icon {
 }
 
 .crm-container table.mergecontact thead th {
-  width:30%;
+  width: 30%;
 }
 .crm-container .crm-ui-datetime.ng-dirty input.incomplete {
   border: 1px solid red;
diff --git a/civicrm/css/contactSummary.css b/civicrm/css/contactSummary.css
index 1fc283ef5691bfd262228800bccd7f324f8b0d0a..6f719b3c8095884a012ba88c3a56e81474399ccc 100644
--- a/civicrm/css/contactSummary.css
+++ b/civicrm/css/contactSummary.css
@@ -18,7 +18,7 @@ div#crm-contact-thumbnail {
 }
 
 .crm-container div.contact_panel td {
-  border-bottom: 1px solid #FFF;
+  border-bottom: 1px solid #fff;
 }
 
 #crm-container div.crm-inline-edit {
@@ -34,7 +34,7 @@ div#crm-contact-thumbnail {
 
 #crm-container div.crm-inline-edit.form {
   cursor: default;
-  border: 2px dashed #6665BF;
+  border: 2px dashed #6665bf;
   box-shadow: rgba(255, 255, 255, 0.3) 0 0 0 99999px;
   background-color: white;
   float: left;
@@ -61,12 +61,12 @@ div#crm-contact-thumbnail {
 
 #crm-container .crm-address-block+.crm-address-block .add-new .crm-edit-help {
   display: block;
-  background-color: #EBEBEB;
+  background-color: #ebebeb;
 }
 
 #crm-container .crm-edit-ready .crm-summary-block .crm-inline-edit:hover .crm-edit-help {
   display: block;
-  background-color: #DFE1FF;
+  background-color: #dfe1ff;
 }
 
 #crm-container div.crm-inline-edit.form .crm-edit-help {
@@ -150,7 +150,7 @@ div#crm-contact-thumbnail {
 #crm-container div.contact_panel td {
   padding: 4px;
   vertical-align: top;
-  border-bottom: 1px solid #E2E2E2;
+  border-bottom: 1px solid #e2e2e2;
 }
 
 #crm-container div.contact_panel td.label {
@@ -176,7 +176,7 @@ div#crm-contact-thumbnail {
   width: 100%;
 }
 .crm-container div.contact_panel td.grouplabel {
-  border-bottom: 2px solid #D7D7D0 !important;
+  border-bottom: 2px solid #d7d7d0 !important;
 }
 
 #crm-container div.contact_panel .crm-address-block {
@@ -195,14 +195,14 @@ div#crm-contact-thumbnail {
 }
 
 #crm-container div.crm-summary-row {
-  background-color: #F4F4ED;
+  background-color: #f4f4ed;
   border-top: 1px solid #ffffff;
   margin-bottom: 1px;
   min-height: 17px;
 }
 
 #crm-container div.crm-summary-row div.crm-label {
-  background-color: #FAFAFA;
+  background-color: #fafafa;
   color: #777760;
   text-align: left;
   width: 122px;
@@ -216,7 +216,7 @@ div#crm-contact-thumbnail {
 }
 
 .crm-container #customFields div.contact_panel td {
-  border-bottom: 1px solid #FFFFFF;
+  border-bottom: 1px solid #ffffff;
   padding: 4px;
   vertical-align: top;
 }
@@ -372,7 +372,7 @@ div#crm-contact-thumbnail {
 }
 
 #tagGroup table .label {
-  color: #FFF;
+  color: #fff;
 }
 #tagGroup table {
   color: #000;
diff --git a/civicrm/css/crm-menubar.css b/civicrm/css/crm-menubar.css
index f4428a4fad77212e6bda5c4c834328a1173f6afc..646fd57af0d7fb9a191efb44982f5fa0950e2f03 100644
--- a/civicrm/css/crm-menubar.css
+++ b/civicrm/css/crm-menubar.css
@@ -44,9 +44,9 @@
 }
 #civicrm-menu li li .sub-arrow:before {
   content: "\f0da";
-	font-family: 'FontAwesome';
-	float: right;
-	margin-right: -25px;
+  font-family: 'FontAwesome';
+  float: right;
+  margin-right: -25px;
 }
 /* x icon */
 #crm-menubar-state:checked ~ .crm-menubar-toggle-btn .crm-menubar-toggle-btn-icon {
@@ -205,13 +205,32 @@ body.crm-menubar-over-cms-menu #crm-menubar-toggle-position a i {
      collapsible to desktop (navbar + dropdowns)
   -----------------------------------------------*/
   /* start... (it's not recommended editing these rules) */
-  #civicrm-menu ul{position:absolute;width:12em;}
-  #civicrm-menu li{float:left;}
-  #civicrm-menu.sm-rtl li{float:right;}
-  #civicrm-menu ul li,#civicrm-menu.sm-rtl ul li,#civicrm-menu.sm-vertical li{float:none;}
-  #civicrm-menu a{white-space:nowrap;}
-  #civicrm-menu ul a,#civicrm-menu.sm-vertical a{white-space:normal;}
-  #civicrm-menu .sm-nowrap > li > a,#civicrm-menu .sm-nowrap > li > :not(ul) a{white-space:nowrap;}
+  #civicrm-menu ul {
+    position: absolute;
+    width: 12em;
+  }
+  #civicrm-menu li {
+    float: left;
+  }
+  #civicrm-menu.sm-rtl li {
+    float: right;
+  }
+  #civicrm-menu ul li,
+  #civicrm-menu.sm-rtl ul li,
+  #civicrm-menu.sm-vertical li {
+    float: none;
+  }
+  #civicrm-menu a {
+    white-space: nowrap;
+  }
+  #civicrm-menu ul a,
+  #civicrm-menu.sm-vertical a {
+    white-space: normal;
+  }
+  #civicrm-menu .sm-nowrap > li > a,
+  #civicrm-menu .sm-nowrap > li > :not(ul) a {
+    white-space: nowrap;
+  }
   /* ...end */
 
   /* hide the button in desktop view */
@@ -286,23 +305,23 @@ body.crm-menubar-over-cms-menu #crm-menubar-toggle-position a i {
     z-index: 100000;
     background-color: #1b1b1b;
   }
-	#civicrm-menu ul {
-		background-color: #444;
-	}
-	#civicrm-menu ul ul {
-		background-color: #555;
-	}
-	#civicrm-menu ul ul ul {
-		background-color: #666;
-	}
+  #civicrm-menu ul {
+    background-color: #444;
+  }
+  #civicrm-menu ul ul {
+    background-color: #555;
+  }
+  #civicrm-menu ul ul ul {
+    background-color: #666;
+  }
   #civicrm-menu li {
     padding: 5px;
   }
-	#civicrm-menu li a {
-		text-align: center;
-		font-size: 14px;
+  #civicrm-menu li a {
+    text-align: center;
+    font-size: 14px;
     color: #ddd;
-	}
+  }
   #civicrm-menu li a:focus,
   #civicrm-menu li a:hover,
   #civicrm-menu li a.highlighted {
diff --git a/civicrm/css/crm.designer.css b/civicrm/css/crm.designer.css
index ac0bda7fff4f45f64c62914f0ce1cc02218d731d..d31b47161d36a3a1257a2b5b78348d141af76d21 100644
--- a/civicrm/css/crm.designer.css
+++ b/civicrm/css/crm.designer.css
@@ -1,9 +1,9 @@
 .crm-profile-selector-preview-pane {
-    width: 75%;
-    min-width: 500px;
-    height: 20em;
-    border: 1px solid black;
-    padding: 4px;
+  width: 75%;
+  min-width: 500px;
+  height: 20em;
+  border: 1px solid black;
+  padding: 4px;
 }
 
 .crm-container .crm-profile-selector-preview .icon {
@@ -27,14 +27,14 @@
 }
 
 .crm-designer-toolbar .ui-resizable-w {
-  border-left: 4px dotted #BFBFBF;
+  border-left: 4px dotted #bfbfbf;
   cursor: ew-resize;
   height: 50px;
   top: 45%;
 }
 
 .crm-designer-toolbar .ui-resizable-w:hover {
-  border-left: 4px dotted #6B6B6B;
+  border-left: 4px dotted #6b6b6b;
 }
 
 .crm-designer-palette {
@@ -63,7 +63,7 @@
 .crm-designer-row-placeholder {
   border: 1px dashed gray;
   cursor: move;
-  background-color: #E9E9F5;
+  background-color: #e9e9f5;
 }
 
 .crm-designer-palette .crm-designer-palette-field.disabled a,
@@ -109,9 +109,9 @@
 }
 
 .crm-designer-fields {
-  min-width:100px;
+  min-width: 100px;
   /* to allow dropping in big whitespace, coordinate with min-height of dialog */
-  min-height:500px;
+  min-height: 500px;
 }
 
 .crm-designer-duplicate .crm-designer-row {
@@ -143,7 +143,7 @@
   cursor: pointer;
   display: inline-block;
   border-radius: 4px;
-  border: 1px solid #D7D7D7;
+  border: 1px solid #d7d7d7;
 }
 
 .crm-designer-row .crm-designer-buttons a:hover,
@@ -164,7 +164,7 @@
   right: 5px;
   top: 35px;
   font-size: .8em;
-  border: 1px solid #CFCEC3;
+  border: 1px solid #cfcec3;
 }
 
 button#crm-designer-add-custom-set {
@@ -177,11 +177,11 @@ button#crm-designer-add-custom-set {
 }
 
 .crm-designer-row .crm-designer-buttons a.crm-designer-action-settings:hover {
-  background-color: #71D46E;
+  background-color: #71d46e;
 }
 
 .crm-designer-row .crm-designer-buttons a.crm-designer-action-remove:hover {
-  background-color: #F19489;
+  background-color: #f19489;
 }
 
 .crm-designer-row,
diff --git a/civicrm/css/dashboard.css b/civicrm/css/dashboard.css
index 63d78c17764e677aba747a605d1657847fc36aa1..ef17e63d85a683a4777a95ff95f8cf7541fd9133 100644
--- a/civicrm/css/dashboard.css
+++ b/civicrm/css/dashboard.css
@@ -28,7 +28,7 @@
 }
 
 .crm-container .crm-dashlet-header {
-  background-color: #5D677B;
+  background-color: #5d677b;
   display: block;
   padding: 5px 0;
 }
diff --git a/civicrm/css/joomla.css b/civicrm/css/joomla.css
index 7656c9af0e335e62d35f2f4baffd765e25e206a1..7e902f35ba8edcde9a0976de47c41d168afa08ff 100644
--- a/civicrm/css/joomla.css
+++ b/civicrm/css/joomla.css
@@ -27,7 +27,8 @@ img {
   border: 0;
 }
 /* Added in CiviCRM 2.0 to alleviate tiny font issues. */
-#crm-container tr, #crm-container tr td {
+#crm-container tr,
+#crm-container tr td {
   font-size: 1em;
 }
 
@@ -45,7 +46,8 @@ th {
 th.active img {
   display: inline;
 }
-tr.dark, tr.light {
+tr.dark,
+tr.light {
   background-color: #eee;
   border-bottom: 1px solid #ccc;
   padding: 0.1em 0.6em;
@@ -108,10 +110,13 @@ br.clear {
   list-style: disc;
 }
 /* Override .9em field help size from civicrm.css - CiviCRM 2.0 */
-#crm-container div.description, #crm-container span.description, #crm-container dd.description {
+#crm-container div.description,
+#crm-container span.description,
+#crm-container dd.description {
   font-size: 1em;
 }
-#crm-container div.description, #crm-container span.description {
+#crm-container div.description,
+#crm-container span.description {
   margin: 2px 0 15px 0;
   display: block;
 }
@@ -124,7 +129,8 @@ br.clear {
 .crm-form-submit {
   margin: 0.5em 0;
 }
-.marker, .form-required {
+.marker,
+.form-required {
   color: #f00;
 }
 .more-link {
@@ -152,7 +158,8 @@ br.clear {
 /*
 ** Page layout blocks / IDs
 */
-#header, #content {
+#header,
+#content {
   width: 100%;
 }
 #logo {
@@ -186,7 +193,8 @@ br.clear {
   font-weight: bold;
   color: #9cf;
 }
-#search .form-text, #search .crm-form-submit {
+#search .form-text,
+#search .crm-form-submit {
   border: 1px solid #369;
   font-size: 1.1em;
 }
@@ -220,7 +228,8 @@ br.clear {
   border-color: red;
   color: red;
 }
-#sidebar-left, #sidebar-right {
+#sidebar-left,
+#sidebar-right {
   background-color: #ddd;
   width: 16em;
   /* padding in px not ex because IE messes up 100% width tables otherwise */
@@ -229,7 +238,7 @@ br.clear {
 }
 
 #content-right {
-  background-color: #FFFFFF;
+  background-color: #ffffff;
 }
 
 #footer {
@@ -243,13 +252,15 @@ br.clear {
 ** additional rules /with only the differing properties!/ to .parent .class.
 ** See .comment .title for an example.
 */
-.title, .title a {
+.title,
+.title a {
   font-weight: normal;
   font-size: 1.6em;
   color: #666;
   margin: 0 auto 0 auto;  /* decrease default margins for h<x>.title */
 }
-.block-civicrm #recently-viewed .crm-icon, .crm-icon {
+.block-civicrm #recently-viewed .crm-icon,
+.crm-icon {
   margin-top: 0 !important;
 }
 .submitted {
@@ -262,7 +273,8 @@ br.clear {
 .links a {
   font-weight: bold;
 }
-.block, .box {
+.block,
+.box {
   padding: 0 0 1.5em 0;
 }
 .block {
@@ -278,14 +290,15 @@ br.clear {
   font-size: 1.1em;
 }
 
-#module-status, .version {
-  font-size:11px;
+#module-status,
+.version {
+  font-size: 11px;
 }
 #module-status a {
   font-weight: normal;
 }
 .main {
-  text-align:left;
+  text-align: left;
 }
 
 /* Joomla Admin Menu alterations */
@@ -299,7 +312,8 @@ div#toolbar-box div.m {
   margin-top: 8px;
 }
 
-div#toolbar-box, div#toolbar-box div.m{
+div#toolbar-box,
+div#toolbar-box div.m {
   height: auto;
 }
 
@@ -312,8 +326,8 @@ div#toolbar-box, div#toolbar-box div.m{
   padding: 0.2em 3px 1px;
 }
 #mainTabContainer li.crm-tab-button {
-  margin:0 3px 3px 0;
-  border: 1px solid #F5F6F1 !important;
+  margin: 0 3px 3px 0;
+  border: 1px solid #f5f6f1 !important;
 }
 #mainTabContainer li.crm-tab-button.ui-tabs-selected {
   padding-bottom: 0;
@@ -379,20 +393,20 @@ div#toolbar-box, div#toolbar-box div.m{
 /* Remove Joomla subhead toolbar & whitespace border */
 
 body.admin.com_civicrm .subhead-collapse {
-	display:none;
+  display: none;
 }
 body.admin.com_civicrm .container-fluid.container-main {
-	padding: 0;
-	border-top: 1px solid #787878;
+  padding: 0;
+  border-top: 1px solid #787878;
 }
 body.admin.com_civicrm.task-civicrmupgrade .container-fluid.container-main {
-	padding: 10px 25px 25px;
+  padding: 10px 25px 25px;
 }
 body.admin.com_civicrm #crm-nav-menu-container {
-	padding-bottom: 0 !important;
+  padding-bottom: 0 !important;
 }
 body.admin.com_civicrm #content-right {
-	padding: 12px;
+  padding: 12px;
 }
 
 /* Make footer admin bar hide behind popup windows (CRM-15723) */
@@ -403,36 +417,35 @@ body.ui-dialog-open #status {
 /* Joomla 4 */
 
 body.admin.com_civicrm.layout-default #content {
-	padding: 0;
+  padding: 0;
 }
 
 body.admin.com_civicrm.layout-default #subhead-container {
-	display: none;
+  display: none;
 }
 
 body.admin.com_civicrm.layout-default .crm-container .crm-dashlet {
-	max-width: 50vw; /* fixes over-wide news dashlet */ 
+  max-width: 50vw; /* fixes over-wide news dashlet */
 }
 
 body.admin.com_civicrm.layout-default .crm-container .content {
-	padding: inherit; /* overrides J4 duplicated padding */
+  padding: inherit; /* overrides J4 duplicated padding */
 }
 
 /* J4 Modals */
 
 body.admin.com_civicrm.layout-default .crm-container.ui-dialog.ui-resizable {
-	z-index: 1021;
+  z-index: 1021;
 }
 
 body.admin.com_civicrm.layout-default .ui-widget-overlay {
-	z-index: 1;
+  z-index: 1;
 }
 
 body.admin.com_civicrm.layout-default .crm-container .modal-dialog {
-	max-width: inherit;
-	padding: 0;
-	margin: 0;
-	overflow: scroll;
-	pointer-events: all;
+  max-width: inherit;
+  padding: 0;
+  margin: 0;
+  overflow: scroll;
+  pointer-events: all;
 }
-
diff --git a/civicrm/css/menubar-joomla.css b/civicrm/css/menubar-joomla.css
index f73a1d27bc01cd7a5e163104be9adc5a052468dc..407308d013fc3e71c5ffc5e5838b283168c836ab 100644
--- a/civicrm/css/menubar-joomla.css
+++ b/civicrm/css/menubar-joomla.css
@@ -1,5 +1,5 @@
 @media (min-width: $breakMin) {
-	
+
   body.crm-menubar-over-cms-menu.crm-menubar-visible {
     padding-top: $menubarHeight;
   }
@@ -45,15 +45,15 @@ body.admin.com_civicrm.layout-default #crm-qsearch label {
     top: calc($menubarHeight + 26px);
     z-index: 10000;
     position: absolute;
-	  border-top: 1px solid #aaa;
+    border-top: 1px solid #aaa;
   }
 
   body.crm-menubar-below-cms-menu.layout-default #header {
-	  margin-bottom: calc($menubarHeight + 1px);
+    margin-bottom: calc($menubarHeight + 1px);
   }
 
   body.crm-menubar-below-cms-menu.crm-menubar-wrapped.layout-default #header {
-	  margin-bottom: 81px;
+    margin-bottom: 81px;
   }
 }
 
diff --git a/civicrm/css/print.css b/civicrm/css/print.css
index 99e8fab6fbf7173daacb3c3a31cb3ad975753105..dca92850e4b2f0786c2017659687458db244371b 100644
--- a/civicrm/css/print.css
+++ b/civicrm/css/print.css
@@ -1,77 +1,81 @@
 /* CiviCRM Print Media Stylesheet */
 
 /* Hide any buttons or other form items when printing*/
-#crm-container .buttons, #crm-container .crm-submit-buttons, #crm-container .crm-actions-ribbon, #crm-container .crm-form-submit {
-     display: none;
+#crm-container .buttons,
+#crm-container .crm-submit-buttons,
+#crm-container .crm-actions-ribbon,
+#crm-container .crm-form-submit {
+  display: none;
 }
 
-table.form-layout td, table.form-layout th {
+table.form-layout td,
+table.form-layout th {
   border: 1px solid grey;
   padding: 4px;
   margin: 0px;
 }
 
-.form-item .element-right{
-     display: none;
- }
+.form-item .element-right {
+  display: none;
+}
 #crm-container {
-    overflow: visible !important;
-    font-family      : DejaVu Sans, serif;
-    margin           : 0px 10px 0px 10px;
+  overflow: visible !important;
+  font-family: DejaVu Sans, serif;
+  margin: 0px 10px 0px 10px;
 }
 
 /* CSS for Print and PDF of Reports */
 #crm-container .report-layout {
-    border           : 1px groove #DDDDDD;
-    width            : 100%;
-    border-collapse  : collapse;
+  border: 1px groove #dddddd;
+  width: 100%;
+  border-collapse: collapse;
 }
 
 #crm-container .bold {
-    font-weight      : bold;
-    font-size        : 1.1em;
+  font-weight: bold;
+  font-size: 1.1em;
 }
 
 #crm-container .criterial-group {
-    border-bottom: 2px solid #DCDCDC;
+  border-bottom: 2px solid #dcdcdc;
 }
 
 #crm-container .reports-header-right {
-    text-align       : right;
+  text-align: right;
 }
 
 #crm-container .reports-header {
-    text-align       : left;
+  text-align: left;
 }
 
 #crm-container .report-contents {
-    border           : 1px groove #DDDDDD;
-    padding          : 4px;
-    width            : 20%;
+  border: 1px groove #dddddd;
+  padding: 4px;
+  width: 20%;
 }
 
 #crm-container .report-contents-right {
-    border           : 1px groove #DDDDDD;
-    padding          : 4px;
-    text-align       : right;
+  border: 1px groove #dddddd;
+  padding: 4px;
+  text-align: right;
 }
 
 #crm-container table.report-layout td {
-    border           : 1px groove #DDDDDD;
-    padding          : 4px;
+  border: 1px groove #dddddd;
+  padding: 4px;
 }
 
 #crm-container table.report-layout tr {
-    font-size        : 0.9em;
+  font-size: 0.9em;
 }
 
 #crm-container table.report-layout tr.group-row {
-    font-size        : 1em;
+  font-size: 1em;
 }
 
 #crm-container table.report-layout tr.total-row {
-   font-size        : 1em;
-   border-top       : 2px groove #DCDCDC;
+  font-size: 1em;
+  border-top: 2px groove #dcdcdc;
 }
 
 #crm-container div.page-break {
@@ -80,52 +84,53 @@ table.form-layout td, table.form-layout th {
 }
 
 #crm-container .report-label {
-    text-align       : right;
-    font-weight      : bold;
+  text-align: right;
+  font-weight: bold;
 }
 
 #crm-container table.report-layout th {
-    padding          : 4px;
-    background-color : #DCDCDC;
-    /*text-align       : left;*/
-    vertical-align   : top;
+  padding: 4px;
+  background-color: #dcdcdc;
+  /*text-align       : left;*/
+  vertical-align: top;
 }
 
 #crm-container table.report-layout th.report-contents {
-    background-color : #F5F5F5;
+  background-color: #f5f5f5;
 }
 
 #crm-container table.report-layout th.statistics {
-    width            : 5%;
-    white-space      : nowrap;
-    text-align       : left;
+  width: 5%;
+  white-space: nowrap;
+  text-align: left;
 }
 
-#crm-container table.report-layout th.statistics, #crm-container table.report-layout th.label {
-    width            : 20%;
-    text-align       : left;
+#crm-container table.report-layout th.statistics,
+#crm-container table.report-layout th.label {
+  width: 20%;
+  text-align: left;
 }
 
 #crm-container h1 {
-    text-align       : center;
-    font-size        : 1.5em;
-    font-style       : italic;
-    margin           : 0;
+  text-align: center;
+  font-size: 1.5em;
+  font-style: italic;
+  margin: 0;
 }
 
 #crm-container h2 {
-    text-align       : left;
-    font-size        : 1.2em;
+  text-align: left;
+  font-size: 1.2em;
 }
 
 
 #crm-container div#report-date {
-    font-size        : .8em;
-    font-style       : italic;
-    float            : right;
+  font-size: .8em;
+  font-style: italic;
+  float: right;
 }
 
 /* Fix for CRM-19869 */
 tr {
-    page-break-inside: avoid;
+  page-break-inside: avoid;
 }
diff --git a/civicrm/css/searchForm.css b/civicrm/css/searchForm.css
index a0f57b283a8c192324e68f6dc9c52dba6b12a9e5..8beb3a631b9454769335ac1485cca72313788770 100644
--- a/civicrm/css/searchForm.css
+++ b/civicrm/css/searchForm.css
@@ -11,7 +11,7 @@
 
 .crm-container div#searchForm table.form-layout td {
   padding: 4px;
-  border: 1px solid #DDDDDD;
+  border: 1px solid #dddddd;
 }
 
 /* top submit button on advanced search */
@@ -30,7 +30,7 @@
 }
 
 .crm-container div#alpha-filter {
-  background-color: #CDE8FE;
+  background-color: #cde8fe;
   margin: 4px 0 5px;
   padding: 2px;
   text-align: left;
@@ -40,7 +40,7 @@
   background-color: transparent;
   background-image: none;
   border: none;
-  color: #AAAAAA;
+  color: #aaaaaa;
   display: inline;
   font-size: 15px;
   font-weight: normal;
@@ -51,15 +51,15 @@
 }
 
 .crm-container #alpha-filter a {
-  border-bottom: 1px dotted #2A71B4;
-  color: #2A71B4;
+  border-bottom: 1px dotted #2a71b4;
+  color: #2a71b4;
   font-weight: normal;
 }
 
 /* CRM-20945 Remove underline to show active pager */
 .crm-container #alpha-filter a.active {
   border-bottom: none;
-  color: #41477E;
+  color: #41477e;
   font-weight: bold;
 }
 
diff --git a/civicrm/ext/afform/admin/afform_admin.civix.php b/civicrm/ext/afform/admin/afform_admin.civix.php
index 132b74923975f9fa793a5e86fdde9986bc0a39e9..3071d542f3a9dd5ab293ab4d6e50eb2e61f92506 100644
--- a/civicrm/ext/afform/admin/afform_admin.civix.php
+++ b/civicrm/ext/afform/admin/afform_admin.civix.php
@@ -91,9 +91,9 @@ function _afform_admin_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/afform/admin/ang/afGuiEditor.css b/civicrm/ext/afform/admin/ang/afGuiEditor.css
index cd75a4411a4b1dc610287132bcb130acb6c99b22..a89d90afc39ce6c927b4acc5eb8f53ead705de07 100644
--- a/civicrm/ext/afform/admin/ang/afGuiEditor.css
+++ b/civicrm/ext/afform/admin/ang/afGuiEditor.css
@@ -137,7 +137,7 @@
   height: 22px;
   width: 100%;
   transition: opacity .2s;
-  position:relative;
+  position: relative;
   font-family: "Courier New", Courier, monospace;
   font-size: 12px;
 }
@@ -550,11 +550,11 @@ body.af-gui-dragging {
   list-style: none;
   padding-left: 15px;
   position: relative;
-  background-color:#e7ecf1;
+  background-color: #e7ecf1;
   cursor: move;
 }
 #afGuiEditor af-gui-edit-options.af-gui-content-editing-area ul[ui-sortable] li:nth-child(even) {
-  background-color:#f2f2f2;
+  background-color: #f2f2f2;
 }
 #afGuiEditor af-gui-edit-options.af-gui-content-editing-area ul[ui-sortable] li > div {
   width: calc(100% - 30px);
diff --git a/civicrm/ext/afform/admin/info.xml b/civicrm/ext/afform/admin/info.xml
index e26b1b70999e55592fadeae3978fccb3156e411d..e7ba31b2eca6e19aa04e524cfc3dcf65562b0738 100644
--- a/civicrm/ext/afform/admin/info.xml
+++ b/civicrm/ext/afform/admin/info.xml
@@ -13,7 +13,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-01-09</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>beta</develStage>
   <compatibility>
     <ver>5.23</ver>
diff --git a/civicrm/ext/afform/core/CRM/Afform/DAO/AfformSubmission.php b/civicrm/ext/afform/core/CRM/Afform/DAO/AfformSubmission.php
index 5ab88359cd80b51be60f1fb5efdc722624450549..aed8cdb28ede58f669d4babb15787150a0433494 100644
--- a/civicrm/ext/afform/core/CRM/Afform/DAO/AfformSubmission.php
+++ b/civicrm/ext/afform/core/CRM/Afform/DAO/AfformSubmission.php
@@ -6,7 +6,7 @@
  *
  * Generated from org.civicrm.afform/xml/schema/CRM/Afform/AfformSubmission.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6bffbfbde72fe38c0ab2bb8f49c945b8)
+ * (GenCodeChecksum:b7fb038bdf54aaf91859c3d455dd8756)
  */
 use CRM_Afform_ExtensionUtil as E;
 
@@ -34,31 +34,41 @@ class CRM_Afform_DAO_AfformSubmission extends CRM_Core_DAO {
   /**
    * Unique Submission ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Name of submitted afform
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $afform_name;
 
   /**
    * IDs of saved entities
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data;
 
   /**
-   * @var timestamp
+   * @var string|null
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $submission_date;
 
diff --git a/civicrm/ext/afform/core/afform.civix.php b/civicrm/ext/afform/core/afform.civix.php
index b33d0cce1b2bbf638c4ce114f5318b463d22c89d..ae7b0c0fa4b77d7ca67f748811b7f4e7aab22b73 100644
--- a/civicrm/ext/afform/core/afform.civix.php
+++ b/civicrm/ext/afform/core/afform.civix.php
@@ -91,9 +91,9 @@ function _afform_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/afform/core/ang/afCore.css b/civicrm/ext/afform/core/ang/afCore.css
index d1c8f0874d47b8c0fcf07c8aea90a74d7bb3f500..554758de1f67e8892297f41c5f2e57d20bc995fb 100644
--- a/civicrm/ext/afform/core/ang/afCore.css
+++ b/civicrm/ext/afform/core/ang/afCore.css
@@ -1,21 +1,21 @@
 .af-api4-action-running {
-    cursor: not-allowed;
-    color: black;
+  cursor: not-allowed;
+  color: black;
 }
 a.af-api4-action-idle {
-    cursor: pointer;
+  cursor: pointer;
 }
 
 .af-container.af-layout-cols {
-    display: flex;
+  display: flex;
 }
 .af-container.af-layout-cols > * {
-    flex: 1;
+  flex: 1;
 }
 .af-container.af-layout-inline > * {
-    display: inline-block;
-    margin-right: .5em;
-    vertical-align: top;
+  display: inline-block;
+  margin-right: .5em;
+  vertical-align: top;
 }
 af-form {
   display: block;
diff --git a/civicrm/ext/afform/core/info.xml b/civicrm/ext/afform/core/info.xml
index 38a61a876c3fe9dab0b8fad63e0cbf99b921b583..f3839a78baec5dd27224bc990e6694b123f6277c 100644
--- a/civicrm/ext/afform/core/info.xml
+++ b/civicrm/ext/afform/core/info.xml
@@ -13,7 +13,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-01-09</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>beta</develStage>
   <compatibility>
     <ver>5.23</ver>
diff --git a/civicrm/ext/afform/core/templates/afform/contactSummary/AfformBlock.tpl b/civicrm/ext/afform/core/templates/afform/contactSummary/AfformBlock.tpl
index 7940af46126b70dae849c9f30bcbe63b3a0ff5e7..a509138c118c22e30868c0fba0db037bc6b53763 100644
--- a/civicrm/ext/afform/core/templates/afform/contactSummary/AfformBlock.tpl
+++ b/civicrm/ext/afform/core/templates/afform/contactSummary/AfformBlock.tpl
@@ -1,5 +1,5 @@
 <crm-angular-js modules="{$block.module}">
-  <div id="bootstrap-theme">
+  <form id="bootstrap-theme">
     <{$block.directive} options="{ldelim}contact_id: {$contactId}{rdelim}"></{$block.directive}>
-  </div>
+  </form>
 </crm-angular-js>
diff --git a/civicrm/ext/afform/core/templates/afform/contactSummary/AfformTab.tpl b/civicrm/ext/afform/core/templates/afform/contactSummary/AfformTab.tpl
index 1cf843254d9162ea0beedf3e3f79b0beb135a48b..d0f4eac9a1cb12e5a8b1d2c3bffec531957848b9 100644
--- a/civicrm/ext/afform/core/templates/afform/contactSummary/AfformTab.tpl
+++ b/civicrm/ext/afform/core/templates/afform/contactSummary/AfformTab.tpl
@@ -1,5 +1,5 @@
 <crm-angular-js modules="{$tabValue.module}">
-  <div id="bootstrap-theme">
+  <form id="bootstrap-theme">
     <{$tabValue.directive} options="{ldelim}contact_id: {$contactId}{rdelim}"></{$tabValue.directive}>
-  </div>
+  </form>
 </crm-angular-js>
diff --git a/civicrm/ext/afform/docs/sandbox/planning-v0.2.md b/civicrm/ext/afform/docs/sandbox/planning-v0.2.md
index 0016f960a0dac3dc25a8aa4bb692a205496743dc..f226b1af6316e579fe0882579c168441d4128224 100644
--- a/civicrm/ext/afform/docs/sandbox/planning-v0.2.md
+++ b/civicrm/ext/afform/docs/sandbox/planning-v0.2.md
@@ -167,4 +167,3 @@ Which leads to this structure:
  {civicrm.files}/ang/afl-address.aff.json
  {civicrm.files}/ang/afl-address.aff.html
 ```
-
diff --git a/civicrm/ext/afform/html/afform_html.civix.php b/civicrm/ext/afform/html/afform_html.civix.php
index 8d7ccb562601ce2ff887754d26b6b5da5a4a6b61..80d673e53a4a4bccb8292af25d88148c8c7b5787 100644
--- a/civicrm/ext/afform/html/afform_html.civix.php
+++ b/civicrm/ext/afform/html/afform_html.civix.php
@@ -91,9 +91,9 @@ function _afform_html_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/afform/html/info.xml b/civicrm/ext/afform/html/info.xml
index 1e8048b1b0f8b342644d601bf1af908876abf637..70f066d3f1b31fc45cdff2028940031e128c616d 100644
--- a/civicrm/ext/afform/html/info.xml
+++ b/civicrm/ext/afform/html/info.xml
@@ -13,7 +13,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-01-09</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>alpha</develStage>
   <compatibility>
     <ver>5.23</ver>
diff --git a/civicrm/ext/afform/mock/afform_mock.civix.php b/civicrm/ext/afform/mock/afform_mock.civix.php
index 9714aef7d9ae22f0924ee0cf3651ec25a98a0640..b28d2639015720e3caeea2205003f93d006af5d7 100644
--- a/civicrm/ext/afform/mock/afform_mock.civix.php
+++ b/civicrm/ext/afform/mock/afform_mock.civix.php
@@ -91,9 +91,9 @@ function _afform_mock_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/afform/mock/info.xml b/civicrm/ext/afform/mock/info.xml
index 6e7fa8ae6475ec70b3f296e41879d3ffc0cedd38..19057ee9012fd11523a9c262346883b51647a11e 100644
--- a/civicrm/ext/afform/mock/info.xml
+++ b/civicrm/ext/afform/mock/info.xml
@@ -12,7 +12,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-01-09</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/authx/Civi/Authx/LegacyRestAuthenticator.php b/civicrm/ext/authx/Civi/Authx/LegacyRestAuthenticator.php
new file mode 100644
index 0000000000000000000000000000000000000000..aaf37892ca7c81bfee1872c9b45df08bab2545d2
--- /dev/null
+++ b/civicrm/ext/authx/Civi/Authx/LegacyRestAuthenticator.php
@@ -0,0 +1,42 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Authx;
+
+use GuzzleHttp\Psr7\Response;
+
+/**
+ * Historically, 'extern/rest.php' and 'civicrm/ajax/rest' were similar interfaces
+ * based on the same controller, but they used different authentication styles.
+ *
+ * This authenticator is activated if one requests 'civicrm/ajax/rest' using the
+ * authentication style of 'extern/rest.php'.
+ *
+ * @package Civi\Authx
+ */
+class LegacyRestAuthenticator extends Authenticator {
+
+  protected function reject($message = 'Authentication failed') {
+    $data = ["error_message" => "FATAL: $message", "is_error" => 1];
+    $r = new Response(200, ['Content-Type' => 'text/javascript'], json_encode($data));
+    \CRM_Utils_System::sendResponse($r);
+  }
+
+  protected function login(AuthenticatorTarget $tgt) {
+    parent::login($tgt);
+    \Civi::dispatcher()->addListener('hook_civicrm_permission_check', function ($e) {
+      if ($e->permission === 'access AJAX API') {
+        $e->granted = TRUE;
+      }
+    });
+  }
+
+}
diff --git a/civicrm/ext/authx/authx.civix.php b/civicrm/ext/authx/authx.civix.php
index 6a25c05c5c0e5bdf915e3c77cc0f0855ab433d62..3320d7a45114ee68358264b7f83dc0d6c10c7353 100644
--- a/civicrm/ext/authx/authx.civix.php
+++ b/civicrm/ext/authx/authx.civix.php
@@ -91,9 +91,9 @@ function _authx_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/authx/authx.php b/civicrm/ext/authx/authx.php
index 25fe959f4c37ddce5b238e5780010f2974a8a16a..220be9577aee573afdad7969e1ea826ff11269d1 100644
--- a/civicrm/ext/authx/authx.php
+++ b/civicrm/ext/authx/authx.php
@@ -36,6 +36,14 @@ Civi::dispatcher()->addListener('civi.invoke.auth', function($e) {
       _authx_redact(['_authx']);
     }
   }
+
+  // Accept legacy auth (?key=...&api_key=...) for 'civicrm/ajax/rest' and 'civicrm/ajax/api4/*'.
+  // The use of `?key=` could clash on some endpoints. Only accept on a small list of endpoints that are compatible with it.
+  if (count($e->args) > 2 && $e->args[1] === 'ajax' && in_array($e->args[2], ['rest', 'api4'])) {
+    if ((!empty($_REQUEST['api_key']) || !empty($_REQUEST['key']))) {
+      return (new \Civi\Authx\LegacyRestAuthenticator())->auth($e, ['flow' => 'legacyrest', 'cred' => 'Bearer ' . $_REQUEST['api_key'] ?? '', 'siteKey' => $_REQUEST['key'] ?? NULL]);
+    }
+  }
 });
 
 /**
diff --git a/civicrm/ext/authx/info.xml b/civicrm/ext/authx/info.xml
index 5b19d6ddce560c4d0274b4d8337532b90dbb9b3e..1a8dac6c4d43faf3013796f0f70bc4023c7382f7 100644
--- a/civicrm/ext/authx/info.xml
+++ b/civicrm/ext/authx/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-02-11</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>alpha</develStage>
   <compatibility>
     <ver>5.0</ver>
diff --git a/civicrm/ext/authx/settings/authx.setting.php b/civicrm/ext/authx/settings/authx.setting.php
index d08d376c3c405527842a41c4b844e1834099772a..67d20f82a27c4642de9191b33227bbc25dd52e17 100644
--- a/civicrm/ext/authx/settings/authx.setting.php
+++ b/civicrm/ext/authx/settings/authx.setting.php
@@ -17,7 +17,17 @@ use CRM_Authx_ExtensionUtil as E;
  * @copyright CiviCRM LLC https://civicrm.org/licensing
  */
 $_authx_settings = function() {
-  $flows = ['param', 'header', 'xheader', 'login', 'auto', 'script'];
+  $weight = 10;
+  $flows = [
+    'auto' => ts('Auto Login'),
+    'header' => ts('HTTP Header'),
+    'login' => ts('HTTP Session Login'),
+    'param' => ts('HTTP Parameter'),
+    'xheader' => ts('HTTP X-Header'),
+    'legacyrest' => ts('Legacy REST'),
+    'pipe' => ts('Pipe'),
+    'script' => ts('Script'),
+  ];
   $basic = [
     'group_name' => 'CiviCRM Preferences',
     'group' => 'authx',
@@ -34,16 +44,18 @@ $_authx_settings = function() {
     'html_type' => 'Select',
     'html_attributes' => [
       'multiple' => 1,
-      'class' => 'crm-select2',
+      'class' => 'huge crm-select2',
     ],
     'default' => ['site_key', 'perm'],
     'title' => ts('Authentication guard'),
-    'help_text' => ts('Enable an authentication guard if you want to limit which users may authenticate via authx. The permission-based guard is satisfied by checking user permissions. The key-based guard is satisfied by checking the secret site-key. The JWT guard is satisfied if the user presents a signed token. If there are no guards, then any user can authenticate.'),
+    'description' => ts('Enable an authentication guard if you want to limit which users may authenticate via authx. The permission-based guard is satisfied by checking user permissions. The key-based guard is satisfied by checking the secret site-key. If there are no guards, then any user can authenticate.'),
     'pseudoconstant' => [
       'callback' => ['\Civi\Authx\Meta', 'getGuardTypes'],
     ],
+    'settings_pages' => ['authx' => ['weight' => $weight]],
   ];
-  foreach ($flows as $flow) {
+  foreach ($flows as $flow => $flowLabel) {
+    $weight = $weight + 10;
     $s["authx_{$flow}_cred"] = $basic + [
       'name' => "authx_{$flow}_cred",
       'type' => 'Array',
@@ -51,14 +63,14 @@ $_authx_settings = function() {
       'html_type' => 'Select',
       'html_attributes' => [
         'multiple' => 1,
-        'class' => 'crm-select2',
+        'class' => 'huge crm-select2',
       ],
       'default' => ['jwt'],
-      'title' => ts('Acceptable credentials (%1)', [1 => $flow]),
-      'help_text' => NULL,
+      'title' => ts('Acceptable credentials (%1)', [1 => $flowLabel]),
       'pseudoconstant' => [
         'callback' => ['\Civi\Authx\Meta', 'getCredentialTypes'],
       ],
+      'settings_pages' => ['authx' => ['weight' => 1000 + $weight]],
     ];
     $s["authx_{$flow}_user"] = $basic + [
       'name' => "authx_{$flow}_user",
@@ -66,20 +78,31 @@ $_authx_settings = function() {
       'quick_form_type' => 'Select',
       'html_type' => 'Select',
       'html_attributes' => [
-        'class' => 'crm-select2',
+        'class' => 'huge crm-select2',
       ],
       'default' => 'optional',
-      'title' => ts('User account requirements (%1)', [1 => $flow]),
+      'title' => ts('User account requirements (%1)', [1 => $flowLabel]),
       'help_text' => NULL,
       'pseudoconstant' => [
         'callback' => ['\Civi\Authx\Meta', 'getUserModes'],
       ],
+      'settings_pages' => ['authx' => ['weight' => 2000 + $weight]],
     ];
   }
 
+  // Override defaults for a few specific elements
+  $s['authx_legacyrest_cred']['default'] = ['jwt', 'api_key'];
+  $s['authx_legacyrest_user']['default'] = 'require';
   $s['authx_param_cred']['default'] = ['jwt', 'api_key'];
   $s['authx_header_cred']['default'] = ['jwt', 'api_key'];
   $s['authx_xheader_cred']['default'] = ['jwt', 'api_key'];
+  $s['authx_pipe_cred']['default'] = ['jwt', 'api_key'];
+
+  // Oof. Attach description to one flow. This is silly - should be on all flows. But, at time of writing, the auto-generated `settings_pages` would become unreadable.
+  $finalFlow = key(array_slice($flows, -1));
+  $seeAlso = ts('See also: <a %1>Authentication Documentation</a>', [1 => 'href="https://docs.civicrm.org/dev/en/latest/framework/authx/" target="_blank"']);
+  $s["authx_{$finalFlow}_cred"]['description'] = ts('Specify which types of <em>credentials</em> are allowed in each <em>authentication flow</em>.') . '<br/>' . $seeAlso;
+  $s["authx_{$finalFlow}_user"]['description'] = ts('CiviCRM <em>Contacts</em> are often attached to CMS <em>User Accounts</em>. When authenticating a <em>Contact</em>, should it also load the <em>User Account</em>?') . '<br/>' . $seeAlso;
 
   return $s;
 };
diff --git a/civicrm/ext/authx/tests/phpunit/Civi/Authx/AllFlowsTest.php b/civicrm/ext/authx/tests/phpunit/Civi/Authx/AllFlowsTest.php
index cb583345f9b3cf14a37047ca4b8574533198cd79..3b63dda50a809d952ac9d9ebb309988b9236bd48 100644
--- a/civicrm/ext/authx/tests/phpunit/Civi/Authx/AllFlowsTest.php
+++ b/civicrm/ext/authx/tests/phpunit/Civi/Authx/AllFlowsTest.php
@@ -2,6 +2,8 @@
 
 namespace Civi\Authx;
 
+use Civi\Pipe\BasicPipeClient;
+use Civi\Pipe\JsonRpcMethodException;
 use Civi\Test\HttpTestTrait;
 use CRM_Authx_ExtensionUtil as E;
 use Civi\Test\EndToEndInterface;
@@ -179,13 +181,6 @@ class AllFlowsTest extends \PHPUnit\Framework\TestCase implements EndToEndInterf
       $this->markTestIncomplete("Cannot run test without CIVICRM_SITE_KEY");
     }
 
-    $addParam = function($request, $key, $value) {
-      $query = $request->getUri()->getQuery();
-      return $request->withUri(
-        $request->getUri()->withQuery($query . '&' . urlencode($key) . '=' . urlencode($value))
-      );
-    };
-
     [$credType, $flowType] = ['pass', 'header'];
     $http = $this->createGuzzle(['http_errors' => FALSE]);
     \Civi::settings()->set("authx_{$flowType}_cred", [$credType]);
@@ -512,6 +507,40 @@ class AllFlowsTest extends \PHPUnit\Framework\TestCase implements EndToEndInterf
     }
   }
 
+  public function testCliPipeTrustedLogin() {
+    $rpc = new BasicPipeClient('cv ev \'Civi::pipe("tl");\'');
+    $this->assertEquals('trusted', $rpc->getWelcome()['t']);
+    $this->assertEquals(['login'], $rpc->getWelcome()['l']);
+
+    $login = $rpc->call('login', ['userId' => $this->getDemoUID()]);
+    $this->assertEquals($this->getDemoCID(), $login['contactId']);
+    $this->assertEquals($this->getDemoUID(), $login['userId']);
+
+    $me = $rpc->call('api3', ['Contact', 'get', ['id' => 'user_contact_id', 'sequential' => TRUE]]);
+    $this->assertEquals($this->getDemoCID(), $me['values'][0]['contact_id']);
+  }
+
+  public function testCliPipeUntrustedLogin() {
+    $rpc = new BasicPipeClient('cv ev \'Civi::pipe("ul");\'');
+    $this->assertEquals('untrusted', $rpc->getWelcome()['u']);
+    $this->assertEquals(['login'], $rpc->getWelcome()['l']);
+
+    try {
+      $rpc->call('login', ['userId' => $this->getDemoUID()]);
+      $this->fail('Untrusted sessions should require authentication credentials');
+    }
+    catch (JsonRpcMethodException $e) {
+      $this->assertRegExp(';not trusted;', $e->getMessage());
+    }
+
+    $login = $rpc->call('login', ['cred' => $this->credJwt($this->getDemoCID())]);
+    $this->assertEquals($this->getDemoCID(), $login['contactId']);
+    $this->assertEquals($this->getDemoUID(), $login['userId']);
+
+    $me = $rpc->call('api3', ['Contact', 'get', ['id' => 'user_contact_id', 'sequential' => TRUE]]);
+    $this->assertEquals($this->getDemoCID(), $me['values'][0]['contact_id']);
+  }
+
   /**
    * Filter a request, applying the given authentication options
    *
diff --git a/civicrm/ext/authx/xml/Menu/authx.xml b/civicrm/ext/authx/xml/Menu/authx.xml
index 1f0e738339b4ae32e32d34b315649d597f04049b..9247d93a41916c7829a2461266cd04fc0d47d78b 100644
--- a/civicrm/ext/authx/xml/Menu/authx.xml
+++ b/civicrm/ext/authx/xml/Menu/authx.xml
@@ -21,4 +21,12 @@
     <access_arguments>*always allow*</access_arguments>
     <is_public>true</is_public>
   </item>
+  <item>
+    <path>civicrm/admin/setting/authx</path>
+    <title>Authentication</title>
+    <page_callback>CRM_Admin_Form_Generic</page_callback>
+    <adminGroup>System Settings</adminGroup>
+    <desc>Configure authentication for external systems</desc>
+    <access_arguments>administer CiviCRM</access_arguments>
+  </item>
 </menu>
diff --git a/civicrm/CRM/Grant/BAO/Grant.php b/civicrm/ext/civigrant/CRM/Grant/BAO/Grant.php
similarity index 93%
rename from civicrm/CRM/Grant/BAO/Grant.php
rename to civicrm/ext/civigrant/CRM/Grant/BAO/Grant.php
index aca48e7714153373bd086d08cba921b2d95ad2e8..51d09236b58883055a0a4db03dc603bbe55e0962 100644
--- a/civicrm/CRM/Grant/BAO/Grant.php
+++ b/civicrm/ext/civigrant/CRM/Grant/BAO/Grant.php
@@ -60,23 +60,20 @@ class CRM_Grant_BAO_Grant extends CRM_Grant_DAO_Grant {
   }
 
   /**
-   * Fetch object based on array of properties.
+   * Retrieve DB object and copy to defaults array.
    *
    * @param array $params
-   *   (reference ) an assoc array of name/value pairs.
+   *   Array of criteria values.
    * @param array $defaults
-   *   (reference ) an assoc array to hold the flattened values.
+   *   Array to be populated with found values.
    *
-   * @return CRM_Grant_DAO_Grant
+   * @return self|null
+   *   The DAO object, if found.
+   *
+   * @deprecated
    */
-  public static function retrieve(&$params, &$defaults) {
-    $grant = new CRM_Grant_DAO_Grant();
-    $grant->copyValues($params);
-    if ($grant->find(TRUE)) {
-      CRM_Core_DAO::storeValues($grant, $defaults);
-      return $grant;
-    }
-    return NULL;
+  public static function retrieve(array $params, array &$defaults = []) {
+    return self::commonRetrieve(self::class, $params, $defaults);
   }
 
   /**
diff --git a/civicrm/CRM/Grant/BAO/Query.php b/civicrm/ext/civigrant/CRM/Grant/BAO/Query.php
similarity index 76%
rename from civicrm/CRM/Grant/BAO/Query.php
rename to civicrm/ext/civigrant/CRM/Grant/BAO/Query.php
index 2e814b2a775541a92b08ffdfb6f88d506cc8511f..9c59f40125d21a67fe5215cb302054df2839cc50 100644
--- a/civicrm/CRM/Grant/BAO/Query.php
+++ b/civicrm/ext/civigrant/CRM/Grant/BAO/Query.php
@@ -9,26 +9,30 @@
  +--------------------------------------------------------------------+
  */
 
+use CRM_Grant_ExtensionUtil as E;
+
 /**
  * Class CRM_Grant_BAO_Query
  */
-class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
+class CRM_Grant_BAO_Query extends CRM_Contact_BAO_Query_Interface {
 
   /**
-   * Get grant fields.
+   * Unused.
+   *
+   * This function is meant to return extra contact fields, but grants are not contacts.
    *
    * @return array
    */
-  public static function &getFields() {
-    return CRM_Grant_BAO_Grant::exportableFields();
+  public function &getFields() {
+    $fields = [];
+    return $fields;
+    // return CRM_Grant_BAO_Grant::exportableFields();
   }
 
   /**
    * Build select for CiviGrant.
    *
    * @param $query
-   *
-   * @return void
    */
   public static function select(&$query) {
     if (!empty($query->_returnProperties['grant_status_id'])) {
@@ -65,6 +69,11 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
       $query->_tables['grant_note'] = 1;
     }
 
+    if (!empty($query->_returnProperties['grant_id'])) {
+      $query->_select['grant_id'] = "civicrm_grant.id as grant_id";
+      $query->_element['grant_id'] = 1;
+    }
+
     if ($query->_mode & CRM_Contact_BAO_Query::MODE_GRANT) {
       $query->_select['grant_amount_requested'] = 'civicrm_grant.amount_requested as grant_amount_requested';
       $query->_select['grant_amount_granted'] = 'civicrm_grant.amount_granted as grant_amount_granted';
@@ -84,8 +93,6 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
    * where clause
    *
    * @param $query
-   *
-   * @return void
    */
   public static function where(&$query) {
     foreach ($query->_params as $id => $values) {
@@ -104,7 +111,7 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
    * @param \CRM_Contact_BAO_Query $query
    */
   public static function whereClauseSingle(&$values, &$query) {
-    list($name, $op, $value, $grouping, $wildcard) = $values;
+    [$name, $op, $value, $grouping, $wildcard] = $values;
     switch ($name) {
       case 'grant_money_transfer_date_low':
       case 'grant_money_transfer_date_high':
@@ -116,7 +123,7 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
 
       case 'grant_money_transfer_date_notset':
         $query->_where[$grouping][] = "civicrm_grant.money_transfer_date IS NULL";
-        $query->_qill[$grouping][] = ts("Grant Money Transfer Date is NULL");
+        $query->_qill[$grouping][] = E::ts("Grant Money Transfer Date is NULL");
         $query->_tables['civicrm_grant'] = $query->_whereTables['civicrm_grant'] = 1;
         return;
 
@@ -130,7 +137,7 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
 
       case 'grant_application_received_date_notset':
         $query->_where[$grouping][] = "civicrm_grant.application_received_date IS NULL";
-        $query->_qill[$grouping][] = ts("Grant Application Received Date is NULL");
+        $query->_qill[$grouping][] = E::ts("Grant Application Received Date is NULL");
         $query->_tables['civicrm_grant'] = $query->_whereTables['civicrm_grant'] = 1;
         return;
 
@@ -138,13 +145,13 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
       case 'grant_due_date_high':
         $query->dateQueryBuilder($values, 'civicrm_grant',
           'grant_due_date',
-          'grant_due_date', ts('Grant Due Date')
+          'grant_due_date', E::ts('Grant Due Date')
         );
         return;
 
       case 'grant_due_date_notset':
         $query->_where[$grouping][] = "civicrm_grant.grant_due_date IS NULL";
-        $query->_qill[$grouping][] = ts("Grant Due Date is NULL");
+        $query->_qill[$grouping][] = E::ts("Grant Due Date is NULL");
         $query->_tables['civicrm_grant'] = $query->_whereTables['civicrm_grant'] = 1;
         return;
 
@@ -152,13 +159,13 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
       case 'grant_decision_date_high':
         $query->dateQueryBuilder($values, 'civicrm_grant',
           'grant_decision_date',
-          'decision_date', ts('Grant Decision Date')
+          'decision_date', E::ts('Grant Decision Date')
         );
         return;
 
       case 'grant_decision_date_notset':
         $query->_where[$grouping][] = "civicrm_grant.decision_date IS NULL";
-        $query->_qill[$grouping][] = ts("Grant Decision Date is NULL");
+        $query->_qill[$grouping][] = E::ts("Grant Decision Date is NULL");
         $query->_tables['civicrm_grant'] = $query->_whereTables['civicrm_grant'] = 1;
         return;
 
@@ -169,17 +176,17 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
 
         if (strstr($name, 'type')) {
           $name = 'grant_type_id';
-          $label = ts('Grant Type(s)');
+          $label = E::ts('Grant Type(s)');
         }
         else {
           $name = 'status_id';
-          $label = ts('Grant Status(s)');
+          $label = E::ts('Grant Status(s)');
         }
 
         $query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause("civicrm_grant.$name", $op, $value, "Integer");
 
         list($qillop, $qillVal) = CRM_Contact_BAO_Query::buildQillForFieldValue('CRM_Grant_DAO_Grant', $name, $value, $op);
-        $query->_qill[$grouping][] = ts("%1 %2 %3", [1 => $label, 2 => $qillop, 3 => $qillVal]);
+        $query->_qill[$grouping][] = E::ts("%1 %2 %3", [1 => $label, 2 => $qillop, 3 => $qillVal]);
         $query->_tables['civicrm_grant'] = $query->_whereTables['civicrm_grant'] = 1;
 
         return;
@@ -187,15 +194,15 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
       case 'grant_report_received':
 
         if ($value == 1) {
-          $yesNo = ts('Yes');
+          $yesNo = E::ts('Yes');
           $query->_where[$grouping][] = "civicrm_grant.grant_report_received $op $value";
         }
         elseif ($value == 0) {
-          $yesNo = ts('No');
+          $yesNo = E::ts('No');
           $query->_where[$grouping][] = "civicrm_grant.grant_report_received IS NULL";
         }
 
-        $query->_qill[$grouping][] = ts('Grant Report Received = %1', [1 => $yesNo]);
+        $query->_qill[$grouping][] = E::ts('Grant Report Received = %1', [1 => $yesNo]);
         $query->_tables['civicrm_grant'] = $query->_whereTables['civicrm_grant'] = 1;
 
         return;
@@ -305,37 +312,80 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
    *
    *
    * @param \CRM_Grant_Form_Search $form
+   * @param $type
    *
    * @return void
    */
-  public static function buildSearchForm(&$form) {
+  public function buildAdvancedSearchPaneForm(&$form, $type) {
+    if ($type !== 'CiviGrant') {
+      return;
+    }
 
     $grantType = CRM_Core_OptionGroup::values('grant_type');
     $form->addSearchFieldMetadata(['Grant' => self::getSearchFieldMetadata()]);
     $form->addFormFieldsFromMetadata();
     $form->assign('grantSearchFields', self::getTemplateHandlableSearchFields());
-    $form->add('select', 'grant_type_id', ts('Grant Type'), $grantType, FALSE,
+    $form->add('select', 'grant_type_id', E::ts('Grant Type'), $grantType, FALSE,
       ['id' => 'grant_type_id', 'multiple' => 'multiple', 'class' => 'crm-select2']
     );
 
     $grantStatus = CRM_Core_OptionGroup::values('grant_status');
-    $form->add('select', 'grant_status_id', ts('Grant Status'), $grantStatus, FALSE,
+    $form->add('select', 'grant_status_id', E::ts('Grant Status'), $grantStatus, FALSE,
       ['id' => 'grant_status_id', 'multiple' => 'multiple', 'class' => 'crm-select2']
     );
-    $form->addElement('checkbox', 'grant_application_received_date_notset', ts('Date is not set'), NULL);
-    $form->addElement('checkbox', 'grant_money_transfer_date_notset', ts('Date is not set'), NULL);
-    $form->addElement('checkbox', 'grant_due_date_notset', ts('Date is not set'), NULL);
-    $form->addElement('checkbox', 'grant_decision_date_notset', ts('Date is not set'), NULL);
+    $form->addElement('checkbox', 'grant_application_received_date_notset', E::ts('Date is not set'), NULL);
+    $form->addElement('checkbox', 'grant_money_transfer_date_notset', E::ts('Date is not set'), NULL);
+    $form->addElement('checkbox', 'grant_due_date_notset', E::ts('Date is not set'), NULL);
+    $form->addElement('checkbox', 'grant_decision_date_notset', E::ts('Date is not set'), NULL);
 
-    $form->add('text', 'grant_amount_low', ts('Minimum Amount'), ['size' => 8, 'maxlength' => 8]);
-    $form->addRule('grant_amount_low', ts('Please enter a valid money value (e.g. %1).', [1 => CRM_Utils_Money::formatLocaleNumericRoundedForDefaultCurrency('9.99')]), 'money');
+    $form->add('text', 'grant_amount_low', E::ts('Minimum Amount'), ['size' => 8, 'maxlength' => 8]);
+    $form->addRule('grant_amount_low', E::ts('Please enter a valid money value (e.g. %1).', [1 => CRM_Utils_Money::formatLocaleNumericRoundedForDefaultCurrency('9.99')]), 'money');
 
-    $form->add('text', 'grant_amount_high', ts('Maximum Amount'), ['size' => 8, 'maxlength' => 8]);
-    $form->addRule('grant_amount_high', ts('Please enter a valid money value (e.g. %1).', [1 => CRM_Utils_Money::formatLocaleNumericRoundedForDefaultCurrency('99.99')]), 'money');
+    $form->add('text', 'grant_amount_high', E::ts('Maximum Amount'), ['size' => 8, 'maxlength' => 8]);
+    $form->addRule('grant_amount_high', E::ts('Please enter a valid money value (e.g. %1).', [1 => CRM_Utils_Money::formatLocaleNumericRoundedForDefaultCurrency('99.99')]), 'money');
 
-    self::addCustomFormFields($form, ['Grant']);
+    CRM_Core_BAO_Query::addCustomFormFields($form, ['Grant']);
 
     $form->assign('validGrant', TRUE);
   }
 
+  /**
+   * @param string[] $panes
+   */
+  public function registerAdvancedSearchPane(&$panes) {
+    $panes[E::ts('Grants')] = 'CiviGrant';
+  }
+
+  /**
+   * @param string[] $panes
+   */
+  public function getPanesMapper(&$panes) {
+    $panes[E::ts('Grants')] = 'civicrm_grant';
+  }
+
+  /**
+   * @param $tables
+   */
+  public function setTableDependency(&$tables) {
+    // $tables['civicrm_grant'] = 1;
+  }
+
+  /**
+   * @param $paneTemplatePathArray
+   * @param $type
+   */
+  public function setAdvancedSearchPaneTemplatePath(&$paneTemplatePathArray, $type) {
+    $paneTemplatePathArray['CiviGrant'] = 'CRM/Grant/Form/Search/AdvancedSearchPane.tpl';
+  }
+
+  /**
+   * Describe options for available for use in the search-builder.
+   *
+   * @param array $apiEntities
+   * @param array $fieldOptions
+   */
+  public function alterSearchBuilderOptions(&$apiEntities, &$fieldOptions) {
+    $apiEntities[] = 'grant';
+  }
+
 }
diff --git a/civicrm/CRM/Grant/Controller/Search.php b/civicrm/ext/civigrant/CRM/Grant/Controller/Search.php
similarity index 100%
rename from civicrm/CRM/Grant/Controller/Search.php
rename to civicrm/ext/civigrant/CRM/Grant/Controller/Search.php
diff --git a/civicrm/CRM/Grant/DAO/Grant.php b/civicrm/ext/civigrant/CRM/Grant/DAO/Grant.php
similarity index 74%
rename from civicrm/CRM/Grant/DAO/Grant.php
rename to civicrm/ext/civigrant/CRM/Grant/DAO/Grant.php
index 3337bd12cbdadc25864331147dc7557a897e82f6..a9a90d8cbfae25fa90a5d3b23337f9625d27eb8f 100644
--- a/civicrm/CRM/Grant/DAO/Grant.php
+++ b/civicrm/ext/civigrant/CRM/Grant/DAO/Grant.php
@@ -4,18 +4,18 @@
  * @package CRM
  * @copyright CiviCRM LLC https://civicrm.org/licensing
  *
- * Generated from xml/schema/CRM/Grant/Grant.xml
+ * Generated from civigrant/xml/schema/CRM/Grant/Grant.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:36856b7ed6b7fc04e812c92fd42df94f)
+ * (GenCodeChecksum:bd866aa053f6871792fdecfc4aa3c92a)
  */
+use CRM_Grant_ExtensionUtil as E;
 
 /**
  * Database access object for the Grant entity.
  */
 class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
-  const EXT = 'civicrm';
+  const EXT = E::LONG_NAME;
   const TABLE_ADDED = '1.8';
-  const COMPONENT = 'CiviGrant';
 
   /**
    * Static instance to hold the table name.
@@ -53,77 +53,99 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
   /**
    * Unique Grant id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Contact ID of contact record given grant belongs to.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Date on which grant application was received by donor.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $application_received_date;
 
   /**
    * Date on which grant decision was made.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $decision_date;
 
   /**
    * Date on which grant money transfer was made.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $money_transfer_date;
 
   /**
    * Date on which grant report is due.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $grant_due_date;
 
   /**
    * Yes/No field stating whether grant report was received by donor.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $grant_report_received;
 
   /**
    * Type of grant. Implicit FK to civicrm_option_value in grant_type option_group.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $grant_type_id;
 
   /**
    * Requested grant amount, in default currency.
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount_total;
 
   /**
    * Requested grant amount, in original currency (optional).
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount_requested;
 
   /**
    * Granted amount, in default currency.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount_granted;
 
@@ -131,27 +153,35 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
    * 3 character string, value from config setting or input via user.
    *
    * @var string
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * Grant rationale.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $rationale;
 
   /**
    * ID of Grant status.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * FK to Financial Type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
@@ -170,7 +200,7 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
    *   Whether to return the plural version of the title.
    */
   public static function getEntityTitle($plural = FALSE) {
-    return $plural ? ts('Grants') : ts('Grant');
+    return $plural ? E::ts('Grants') : E::ts('Grant');
   }
 
   /**
@@ -179,7 +209,7 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
    * @return string
    */
   public static function getEntityDescription() {
-    return ts('Funds applied for and given out by this organization.');
+    return E::ts('Funds applied for and given out by this organization.');
   }
 
   /**
@@ -209,15 +239,15 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'grant_id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Grant ID'),
-          'description' => ts('Unique Grant id'),
+          'title' => E::ts('Grant ID'),
+          'description' => E::ts('Unique Grant id'),
           'required' => TRUE,
           'import' => TRUE,
           'where' => 'civicrm_grant.id',
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Number',
@@ -228,33 +258,33 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'grant_contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID'),
-          'description' => ts('Contact ID of contact record given grant belongs to.'),
+          'title' => E::ts('Contact ID'),
+          'description' => E::ts('Contact ID of contact record given grant belongs to.'),
           'required' => TRUE,
           'where' => 'civicrm_grant.contact_id',
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
           'html' => [
             'type' => 'EntityRef',
-            'label' => ts("Contact"),
+            'label' => E::ts("Contact"),
           ],
           'add' => '1.8',
         ],
         'grant_application_received_date' => [
           'name' => 'application_received_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Application received date'),
-          'description' => ts('Date on which grant application was received by donor.'),
+          'title' => E::ts('Application received date'),
+          'description' => E::ts('Date on which grant application was received by donor.'),
           'import' => TRUE,
           'where' => 'civicrm_grant.application_received_date',
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Select Date',
@@ -265,14 +295,14 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'grant_decision_date' => [
           'name' => 'decision_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Decision date'),
-          'description' => ts('Date on which grant decision was made.'),
+          'title' => E::ts('Decision date'),
+          'description' => E::ts('Date on which grant decision was made.'),
           'import' => TRUE,
           'where' => 'civicrm_grant.decision_date',
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Select Date',
@@ -283,14 +313,14 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'grant_money_transfer_date' => [
           'name' => 'money_transfer_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Grant Money transfer date'),
-          'description' => ts('Date on which grant money transfer was made.'),
+          'title' => E::ts('Grant Money transfer date'),
+          'description' => E::ts('Date on which grant money transfer was made.'),
           'import' => TRUE,
           'where' => 'civicrm_grant.money_transfer_date',
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Select Date',
@@ -301,14 +331,14 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'grant_due_date' => [
           'name' => 'grant_due_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Grant Report Due Date'),
-          'description' => ts('Date on which grant report is due.'),
+          'title' => E::ts('Grant Report Due Date'),
+          'description' => E::ts('Date on which grant report is due.'),
           'import' => TRUE,
           'where' => 'civicrm_grant.grant_due_date',
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Select Date',
@@ -319,14 +349,14 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'grant_report_received' => [
           'name' => 'grant_report_received',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Grant report received'),
-          'description' => ts('Yes/No field stating whether grant report was received by donor.'),
+          'title' => E::ts('Grant report received'),
+          'description' => E::ts('Yes/No field stating whether grant report was received by donor.'),
           'import' => TRUE,
           'where' => 'civicrm_grant.grant_report_received',
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'CheckBox',
@@ -336,14 +366,14 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'grant_type_id' => [
           'name' => 'grant_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Grant Type'),
-          'description' => ts('Type of grant. Implicit FK to civicrm_option_value in grant_type option_group.'),
+          'title' => E::ts('Grant Type'),
+          'description' => E::ts('Type of grant. Implicit FK to civicrm_option_value in grant_type option_group.'),
           'required' => TRUE,
           'where' => 'civicrm_grant.grant_type_id',
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Select',
@@ -357,8 +387,8 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'amount_total' => [
           'name' => 'amount_total',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Total Amount'),
-          'description' => ts('Requested grant amount, in default currency.'),
+          'title' => E::ts('Total Amount'),
+          'description' => E::ts('Requested grant amount, in default currency.'),
           'required' => TRUE,
           'precision' => [
             20,
@@ -370,7 +400,7 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Text',
@@ -380,8 +410,8 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'amount_requested' => [
           'name' => 'amount_requested',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Amount Requested'),
-          'description' => ts('Requested grant amount, in original currency (optional).'),
+          'title' => E::ts('Amount Requested'),
+          'description' => E::ts('Requested grant amount, in original currency (optional).'),
           'precision' => [
             20,
             2,
@@ -390,7 +420,7 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
           'dataPattern' => '/^\d+(\.\d{2})?$/',
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Text',
@@ -400,8 +430,8 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'amount_granted' => [
           'name' => 'amount_granted',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Amount granted'),
-          'description' => ts('Granted amount, in default currency.'),
+          'title' => E::ts('Amount granted'),
+          'description' => E::ts('Granted amount, in default currency.'),
           'precision' => [
             20,
             2,
@@ -412,7 +442,7 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Text',
@@ -422,15 +452,15 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'currency' => [
           'name' => 'currency',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Grant Currency'),
-          'description' => ts('3 character string, value from config setting or input via user.'),
+          'title' => E::ts('Grant Currency'),
+          'description' => E::ts('3 character string, value from config setting or input via user.'),
           'required' => TRUE,
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
           'where' => 'civicrm_grant.currency',
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Select',
@@ -447,8 +477,8 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'rationale' => [
           'name' => 'rationale',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Grant Rationale'),
-          'description' => ts('Grant rationale.'),
+          'title' => E::ts('Grant Rationale'),
+          'description' => E::ts('Grant rationale.'),
           'rows' => 4,
           'cols' => 60,
           'import' => TRUE,
@@ -456,7 +486,7 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'TextArea',
@@ -466,15 +496,15 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'grant_status_id' => [
           'name' => 'status_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Grant Status'),
-          'description' => ts('ID of Grant status.'),
+          'title' => E::ts('Grant Status'),
+          'description' => E::ts('ID of Grant status.'),
           'required' => TRUE,
           'import' => TRUE,
           'where' => 'civicrm_grant.status_id',
           'export' => FALSE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Select',
@@ -488,17 +518,17 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'financial_type_id' => [
           'name' => 'financial_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Type ID'),
-          'description' => ts('FK to Financial Type.'),
+          'title' => E::ts('Financial Type ID'),
+          'description' => E::ts('FK to Financial Type.'),
           'where' => 'civicrm_grant.financial_type_id',
           'default' => NULL,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialType',
           'html' => [
-            'label' => ts("Financial Type"),
+            'label' => E::ts("Financial Type"),
           ],
           'pseudoconstant' => [
             'table' => 'civicrm_financial_type',
diff --git a/civicrm/CRM/Grant/Export/Form/Map.php b/civicrm/ext/civigrant/CRM/Grant/Export/Form/Map.php
similarity index 100%
rename from civicrm/CRM/Grant/Export/Form/Map.php
rename to civicrm/ext/civigrant/CRM/Grant/Export/Form/Map.php
diff --git a/civicrm/CRM/Grant/Export/Form/Select.php b/civicrm/ext/civigrant/CRM/Grant/Export/Form/Select.php
similarity index 100%
rename from civicrm/CRM/Grant/Export/Form/Select.php
rename to civicrm/ext/civigrant/CRM/Grant/Export/Form/Select.php
diff --git a/civicrm/CRM/Grant/Form/Grant.php b/civicrm/ext/civigrant/CRM/Grant/Form/Grant.php
similarity index 100%
rename from civicrm/CRM/Grant/Form/Grant.php
rename to civicrm/ext/civigrant/CRM/Grant/Form/Grant.php
diff --git a/civicrm/CRM/Grant/Form/GrantView.php b/civicrm/ext/civigrant/CRM/Grant/Form/GrantView.php
similarity index 100%
rename from civicrm/CRM/Grant/Form/GrantView.php
rename to civicrm/ext/civigrant/CRM/Grant/Form/GrantView.php
diff --git a/civicrm/CRM/Grant/Form/Search.php b/civicrm/ext/civigrant/CRM/Grant/Form/Search.php
similarity index 98%
rename from civicrm/CRM/Grant/Form/Search.php
rename to civicrm/ext/civigrant/CRM/Grant/Form/Search.php
index b997f2cab733567b471cff5788943a3db430b974..9104bce36a7e322a250f53645dccb95c56a777f1 100644
--- a/civicrm/CRM/Grant/Form/Search.php
+++ b/civicrm/ext/civigrant/CRM/Grant/Form/Search.php
@@ -119,7 +119,8 @@ class CRM_Grant_Form_Search extends CRM_Core_Form_Search {
     parent::buildQuickForm();
     $this->addSortNameField();
 
-    CRM_Grant_BAO_Query::buildSearchForm($this);
+    (new CRM_Grant_BAO_Query())
+      ->buildAdvancedSearchPaneForm($this, 'CiviGrant');
 
     $rows = $this->get('rows');
     if (is_array($rows)) {
diff --git a/civicrm/CRM/Grant/Form/Task.php b/civicrm/ext/civigrant/CRM/Grant/Form/Task.php
similarity index 100%
rename from civicrm/CRM/Grant/Form/Task.php
rename to civicrm/ext/civigrant/CRM/Grant/Form/Task.php
diff --git a/civicrm/CRM/Grant/Form/Task/Delete.php b/civicrm/ext/civigrant/CRM/Grant/Form/Task/Delete.php
similarity index 100%
rename from civicrm/CRM/Grant/Form/Task/Delete.php
rename to civicrm/ext/civigrant/CRM/Grant/Form/Task/Delete.php
diff --git a/civicrm/CRM/Grant/Form/Task/Print.php b/civicrm/ext/civigrant/CRM/Grant/Form/Task/Print.php
similarity index 97%
rename from civicrm/CRM/Grant/Form/Task/Print.php
rename to civicrm/ext/civigrant/CRM/Grant/Form/Task/Print.php
index 70dcd6493616bdd310de0df82a9344896c52b4f3..1a6b240e2f2bdf05a707da60aa7426780ccacc44 100644
--- a/civicrm/CRM/Grant/Form/Task/Print.php
+++ b/civicrm/ext/civigrant/CRM/Grant/Form/Task/Print.php
@@ -29,7 +29,7 @@ class CRM_Grant_Form_Task_Print extends CRM_Grant_Form_Task {
     parent::preprocess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
 
     // get the formatted params
     $queryParams = $this->get('queryParams');
diff --git a/civicrm/CRM/Grant/Form/Task/Result.php b/civicrm/ext/civigrant/CRM/Grant/Form/Task/Result.php
similarity index 100%
rename from civicrm/CRM/Grant/Form/Task/Result.php
rename to civicrm/ext/civigrant/CRM/Grant/Form/Task/Result.php
diff --git a/civicrm/CRM/Grant/Form/Task/Update.php b/civicrm/ext/civigrant/CRM/Grant/Form/Task/Update.php
similarity index 100%
rename from civicrm/CRM/Grant/Form/Task/Update.php
rename to civicrm/ext/civigrant/CRM/Grant/Form/Task/Update.php
diff --git a/civicrm/CRM/Grant/Page/DashBoard.php b/civicrm/ext/civigrant/CRM/Grant/Page/DashBoard.php
similarity index 100%
rename from civicrm/CRM/Grant/Page/DashBoard.php
rename to civicrm/ext/civigrant/CRM/Grant/Page/DashBoard.php
diff --git a/civicrm/CRM/Grant/Page/Tab.php b/civicrm/ext/civigrant/CRM/Grant/Page/Tab.php
similarity index 98%
rename from civicrm/CRM/Grant/Page/Tab.php
rename to civicrm/ext/civigrant/CRM/Grant/Page/Tab.php
index 4f2219364a9d896e4870c2740426ced784730793..40fe12bcd69ea9cfb7fde37d083322a934f36bf8 100644
--- a/civicrm/CRM/Grant/Page/Tab.php
+++ b/civicrm/ext/civigrant/CRM/Grant/Page/Tab.php
@@ -46,7 +46,7 @@ class CRM_Grant_Page_Tab extends CRM_Contact_Page_View {
     if ($this->_contactId) {
       $displayName = CRM_Contact_BAO_Contact::displayName($this->_contactId);
       $this->assign('displayName', $displayName);
-      $this->ajaxResponse['tabCount'] = CRM_Contact_BAO_Contact::getCountComponent('grant', $this->_contactId);
+      $this->ajaxResponse['tabCount'] = CRM_Grant_BAO_Grant::getContactGrantCount($this->_contactId);
     }
   }
 
diff --git a/civicrm/CRM/Grant/Selector/Search.php b/civicrm/ext/civigrant/CRM/Grant/Selector/Search.php
similarity index 99%
rename from civicrm/CRM/Grant/Selector/Search.php
rename to civicrm/ext/civigrant/CRM/Grant/Selector/Search.php
index 454ab8aaecd5f9edb33bc8e624ebf3ae8bc5ae4b..565d6ce8bfefc6ca73b0a0d3e9e65b49eea5ea11 100644
--- a/civicrm/CRM/Grant/Selector/Search.php
+++ b/civicrm/ext/civigrant/CRM/Grant/Selector/Search.php
@@ -104,7 +104,7 @@ class CRM_Grant_Selector_Search extends CRM_Core_Selector_Base implements CRM_Co
   /**
    * The query object.
    *
-   * @var string
+   * @var CRM_Contact_BAO_Query
    */
   protected $_query;
 
diff --git a/civicrm/CRM/Grant/StateMachine/Search.php b/civicrm/ext/civigrant/CRM/Grant/StateMachine/Search.php
similarity index 100%
rename from civicrm/CRM/Grant/StateMachine/Search.php
rename to civicrm/ext/civigrant/CRM/Grant/StateMachine/Search.php
diff --git a/civicrm/CRM/Grant/Task.php b/civicrm/ext/civigrant/CRM/Grant/Task.php
similarity index 100%
rename from civicrm/CRM/Grant/Task.php
rename to civicrm/ext/civigrant/CRM/Grant/Task.php
diff --git a/civicrm/ext/civigrant/CRM/Grant/Upgrader.php b/civicrm/ext/civigrant/CRM/Grant/Upgrader.php
new file mode 100644
index 0000000000000000000000000000000000000000..1798462a98414c2744b85fbc044f29c9a9f6b19c
--- /dev/null
+++ b/civicrm/ext/civigrant/CRM/Grant/Upgrader.php
@@ -0,0 +1,9 @@
+<?php
+use CRM_Grant_ExtensionUtil as E;
+
+/**
+ * Collection of upgrade steps.
+ */
+class CRM_Grant_Upgrader extends CRM_Extension_Upgrader_Base {
+
+}
diff --git a/civicrm/CRM/Report/Form/Grant/Detail.php b/civicrm/ext/civigrant/CRM/Report/Form/Grant/Detail.php
similarity index 100%
rename from civicrm/CRM/Report/Form/Grant/Detail.php
rename to civicrm/ext/civigrant/CRM/Report/Form/Grant/Detail.php
diff --git a/civicrm/CRM/Report/Form/Grant/Statistics.php b/civicrm/ext/civigrant/CRM/Report/Form/Grant/Statistics.php
similarity index 100%
rename from civicrm/CRM/Report/Form/Grant/Statistics.php
rename to civicrm/ext/civigrant/CRM/Report/Form/Grant/Statistics.php
diff --git a/civicrm/Civi/Api4/Grant.php b/civicrm/ext/civigrant/Civi/Api4/Grant.php
similarity index 74%
rename from civicrm/Civi/Api4/Grant.php
rename to civicrm/ext/civigrant/Civi/Api4/Grant.php
index b7327f6d54b9b620d55ec7326a3fe20c37366b07..96caf2375e86db49f63cba0ffab1ce221adb134b 100644
--- a/civicrm/Civi/Api4/Grant.php
+++ b/civicrm/ext/civigrant/Civi/Api4/Grant.php
@@ -23,4 +23,21 @@ namespace Civi\Api4;
  */
 class Grant extends Generic\DAOEntity {
 
+  public static function permissions() {
+    return [
+      'get' => [
+        'access CiviGrant',
+      ],
+      'delete' => [
+        'delete in CiviGrant',
+      ],
+      'create' => [
+        'edit grants',
+      ],
+      'update' => [
+        'edit grants',
+      ],
+    ];
+  }
+
 }
diff --git a/wp-cli/LICENSE b/civicrm/ext/civigrant/LICENSE.txt
similarity index 98%
rename from wp-cli/LICENSE
rename to civicrm/ext/civigrant/LICENSE.txt
index 3ffc5678936860cc15a4d2d2e2c8db1dbb5ff219..159b9faeff94e27d4f46b73aa05a34e33afb5834 100644
--- a/wp-cli/LICENSE
+++ b/civicrm/ext/civigrant/LICENSE.txt
@@ -1,4 +1,10 @@
-GNU AFFERO GENERAL PUBLIC LICENSE
+Package: civigrant
+Copyright (C) 2021, Coleman Watts <coleman@civicrm.org>
+Licensed under the GNU Affero Public License 3.0 (below).
+
+-------------------------------------------------------------------------------
+
+                    GNU AFFERO GENERAL PUBLIC LICENSE
                        Version 3, 19 November 2007
 
  Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
@@ -633,8 +639,8 @@ the "copyright" line and a pointer to where the full notice is found.
     Copyright (C) <year>  <name of author>
 
     This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU Affero General Public License as published
-    by the Free Software Foundation, either version 3 of the License, or
+    it under the terms of the GNU Affero General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
     (at your option) any later version.
 
     This program is distributed in the hope that it will be useful,
@@ -658,4 +664,4 @@ specific requirements.
   You should also get your employer (if you work as a programmer) or school,
 if any, to sign a "copyright disclaimer" for the program, if necessary.
 For more information on this, and how to apply and follow the GNU AGPL, see
-<http://www.gnu.org/licenses/>.
\ No newline at end of file
+<http://www.gnu.org/licenses/>.
diff --git a/civicrm/ext/civigrant/README.md b/civicrm/ext/civigrant/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..6e9d8b7a73d2b1016c2336816e769b50547708aa
--- /dev/null
+++ b/civicrm/ext/civigrant/README.md
@@ -0,0 +1,10 @@
+# CiviGrant
+
+Track grants in CiviCRM.
+Grants are designed to be used by organisations that distribute funds to others.
+
+The extension is licensed under [AGPL-3.0](LICENSE.txt).
+
+## Getting Started
+
+See https://docs.civicrm.org/user/en/latest/grants/what-is-civigrant/
diff --git a/civicrm/ext/civigrant/ang/afsearchGrants.aff.html b/civicrm/ext/civigrant/ang/afsearchGrants.aff.html
new file mode 100644
index 0000000000000000000000000000000000000000..afedc03b5efb206955cacca84ce685db6ac04022
--- /dev/null
+++ b/civicrm/ext/civigrant/ang/afsearchGrants.aff.html
@@ -0,0 +1,9 @@
+<div class="btn-group">
+  <a class="btn btn-primary crm-popup" ng-href="{{ crmUrl('civicrm/grant/add', {reset: 1, action: 'add', context: 'grant', cid: options.contact_id}) }}">
+    <i class="crm-i fa-plus-circle"></i>
+    {{:: ts('Add Grant') }}
+  </a>
+</div>
+<div af-fieldset="">
+  <crm-search-display-table search-name="CiviGrant_Summary" display-name="Grant_Tab" filters="{'contact_id': options.contact_id}"></crm-search-display-table>
+</div>
diff --git a/civicrm/ext/civigrant/ang/afsearchGrants.aff.json b/civicrm/ext/civigrant/ang/afsearchGrants.aff.json
new file mode 100644
index 0000000000000000000000000000000000000000..093d18d9f91bd2cbcc2c31e0c70dece46fd63f38
--- /dev/null
+++ b/civicrm/ext/civigrant/ang/afsearchGrants.aff.json
@@ -0,0 +1,7 @@
+{
+    "type": "search",
+    "title": "Grants",
+    "contact_summary": "tab",
+    "server_route": "",
+    "permission": "access CiviGrant"
+}
diff --git a/civicrm/api/v3/Grant.php b/civicrm/ext/civigrant/api/v3/Grant.php
similarity index 100%
rename from civicrm/api/v3/Grant.php
rename to civicrm/ext/civigrant/api/v3/Grant.php
diff --git a/civicrm/ext/civigrant/civigrant.civix.php b/civicrm/ext/civigrant/civigrant.civix.php
new file mode 100644
index 0000000000000000000000000000000000000000..dcf1934b5b1b176bc9efcb929e4e61bb2b47dea4
--- /dev/null
+++ b/civicrm/ext/civigrant/civigrant.civix.php
@@ -0,0 +1,137 @@
+<?php
+
+// AUTO-GENERATED FILE -- Civix may overwrite any changes made to this file
+
+/**
+ * The ExtensionUtil class provides small stubs for accessing resources of this
+ * extension.
+ */
+class CRM_Grant_ExtensionUtil {
+  const SHORT_NAME = 'civigrant';
+  const LONG_NAME = 'civigrant';
+  const CLASS_PREFIX = 'CRM_Grant';
+
+  /**
+   * Translate a string using the extension's domain.
+   *
+   * If the extension doesn't have a specific translation
+   * for the string, fallback to the default translations.
+   *
+   * @param string $text
+   *   Canonical message text (generally en_US).
+   * @param array $params
+   * @return string
+   *   Translated text.
+   * @see ts
+   */
+  public static function ts($text, $params = []) {
+    if (!array_key_exists('domain', $params)) {
+      $params['domain'] = [self::LONG_NAME, NULL];
+    }
+    return ts($text, $params);
+  }
+
+  /**
+   * Get the URL of a resource file (in this extension).
+   *
+   * @param string|NULL $file
+   *   Ex: NULL.
+   *   Ex: 'css/foo.css'.
+   * @return string
+   *   Ex: 'http://example.org/sites/default/ext/org.example.foo'.
+   *   Ex: 'http://example.org/sites/default/ext/org.example.foo/css/foo.css'.
+   */
+  public static function url($file = NULL) {
+    if ($file === NULL) {
+      return rtrim(CRM_Core_Resources::singleton()->getUrl(self::LONG_NAME), '/');
+    }
+    return CRM_Core_Resources::singleton()->getUrl(self::LONG_NAME, $file);
+  }
+
+  /**
+   * Get the path of a resource file (in this extension).
+   *
+   * @param string|NULL $file
+   *   Ex: NULL.
+   *   Ex: 'css/foo.css'.
+   * @return string
+   *   Ex: '/var/www/example.org/sites/default/ext/org.example.foo'.
+   *   Ex: '/var/www/example.org/sites/default/ext/org.example.foo/css/foo.css'.
+   */
+  public static function path($file = NULL) {
+    // return CRM_Core_Resources::singleton()->getPath(self::LONG_NAME, $file);
+    return __DIR__ . ($file === NULL ? '' : (DIRECTORY_SEPARATOR . $file));
+  }
+
+  /**
+   * Get the name of a class within this extension.
+   *
+   * @param string $suffix
+   *   Ex: 'Page_HelloWorld' or 'Page\\HelloWorld'.
+   * @return string
+   *   Ex: 'CRM_Foo_Page_HelloWorld'.
+   */
+  public static function findClass($suffix) {
+    return self::CLASS_PREFIX . '_' . str_replace('\\', '_', $suffix);
+  }
+
+}
+
+use CRM_Grant_ExtensionUtil as E;
+
+/**
+ * (Delegated) Implements hook_civicrm_config().
+ *
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_config
+ */
+function _civigrant_civix_civicrm_config(&$config = NULL) {
+  static $configured = FALSE;
+  if ($configured) {
+    return;
+  }
+  $configured = TRUE;
+
+  $template = CRM_Core_Smarty::singleton();
+
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
+  $extDir = $extRoot . 'templates';
+
+  if (is_array($template->template_dir)) {
+    array_unshift($template->template_dir, $extDir);
+  }
+  else {
+    $template->template_dir = [$extDir, $template->template_dir];
+  }
+
+  $include_path = $extRoot . PATH_SEPARATOR . get_include_path();
+  set_include_path($include_path);
+}
+
+/**
+ * (Delegated) Implements hook_civicrm_alterSettingsFolders().
+ *
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_alterSettingsFolders
+ */
+function _civigrant_civix_civicrm_alterSettingsFolders(&$metaDataFolders = NULL) {
+  $settingsDir = __DIR__ . DIRECTORY_SEPARATOR . 'settings';
+  if (!in_array($settingsDir, $metaDataFolders) && is_dir($settingsDir)) {
+    $metaDataFolders[] = $settingsDir;
+  }
+}
+
+/**
+ * (Delegated) Implements hook_civicrm_entityTypes().
+ *
+ * Find any *.entityType.php files, merge their content, and return.
+ *
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_entityTypes
+ */
+function _civigrant_civix_civicrm_entityTypes(&$entityTypes) {
+  $entityTypes = array_merge($entityTypes, [
+    'CRM_Grant_DAO_Grant' => [
+      'name' => 'Grant',
+      'class' => 'CRM_Grant_DAO_Grant',
+      'table' => 'civicrm_grant',
+    ],
+  ]);
+}
diff --git a/civicrm/ext/civigrant/civigrant.php b/civicrm/ext/civigrant/civigrant.php
new file mode 100644
index 0000000000000000000000000000000000000000..e3df6eb489aac6f9aae824ffacffd9ea625aace7
--- /dev/null
+++ b/civicrm/ext/civigrant/civigrant.php
@@ -0,0 +1,105 @@
+<?php
+
+require_once 'civigrant.civix.php';
+use CRM_Grant_ExtensionUtil as E;
+
+/**
+ * Implements hook_civicrm_config().
+ *
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_config/
+ */
+function civigrant_civicrm_config(&$config) {
+  _civigrant_civix_civicrm_config($config);
+}
+
+/**
+ * Implements hook_civicrm_alterSettingsFolders().
+ *
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_alterSettingsFolders
+ */
+function civigrant_civicrm_alterSettingsFolders(&$metaDataFolders = NULL) {
+  _civigrant_civix_civicrm_alterSettingsFolders($metaDataFolders);
+}
+
+/**
+ * Implements hook_civicrm_entityTypes().
+ *
+ * Declare entity types provided by this module.
+ *
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_entityTypes
+ */
+function civigrant_civicrm_entityTypes(&$entityTypes) {
+  _civigrant_civix_civicrm_entityTypes($entityTypes);
+}
+
+/**
+ * Implements hook_civicrm_links().
+ *
+ * Add shortcut link to create new grant.
+ */
+function civigrant_civicrm_links($context, $name, $id, &$links) {
+  if ($context === 'create.new.shortcuts' && CRM_Core_Permission::check(['access CiviGrant', 'edit grants'])) {
+    $links[] = [
+      'path' => 'civicrm/grant/add',
+      'query' => "reset=1&action=add&context=standalone",
+      'ref' => 'new-grant',
+      'title' => ts('Grant'),
+    ];
+  }
+}
+
+/**
+ * Implements hook_civicrm_permission().
+ *
+ * Define CiviGrant permissions.
+ */
+function civigrant_civicrm_permission(&$permissions) {
+  $permissions['access CiviGrant'] = [
+    E::ts('access CiviGrant'),
+    E::ts('View all grants'),
+  ];
+  $permissions['edit grants'] = [
+    E::ts('edit grants'),
+    E::ts('Create and update grants'),
+  ];
+  $permissions['delete in CiviGrant'] = [
+    E::ts('delete in CiviGrant'),
+    E::ts('Delete grants'),
+  ];
+}
+
+/**
+ * Implements hook_civicrm_alterAPIPermissions().
+ *
+ * Set CiviGrant permissions for APIv3.
+ */
+function civigrant_civicrm_alterAPIPermissions($entity, $action, &$params, &$permissions) {
+  $permissions['grant'] = [
+    'get' => [
+      'access CiviGrant',
+    ],
+    'delete' => [
+      'delete in CiviGrant',
+    ],
+    'create' => [
+      'edit grants',
+    ],
+    'update' => [
+      'edit grants',
+    ],
+  ];
+}
+
+/**
+ * Implements hook_civicrm_queryObjects().
+ *
+ * Adds query object for legacy screens like advanced search, search builder, etc.
+ */
+function civigrant_civicrm_queryObjects(&$queryObjects, $type) {
+  if ($type == 'Contact') {
+    $queryObjects[] = new CRM_Grant_BAO_Query();
+  }
+  elseif ($type == 'Report') {
+    // Do we need to do something here?
+  }
+}
diff --git a/civicrm/ext/civigrant/info.xml b/civicrm/ext/civigrant/info.xml
new file mode 100644
index 0000000000000000000000000000000000000000..db3987c5259b5772c19ff47595769b9109c1f1bf
--- /dev/null
+++ b/civicrm/ext/civigrant/info.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<extension key="civigrant" type="module">
+  <file>civigrant</file>
+  <name>CiviGrant</name>
+  <description>Track grant distribution.</description>
+  <license>AGPL-3.0</license>
+  <maintainer>
+    <author>Coleman Watts</author>
+    <email>coleman@civicrm.org</email>
+  </maintainer>
+  <urls>
+    <url desc="Documentation">https://docs.civicrm.org/user/en/latest/grants/what-is-civigrant/</url>
+    <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
+  </urls>
+  <releaseDate>2021-11-11</releaseDate>
+  <version>5.47.0</version>
+  <develStage>stable</develStage>
+  <compatibility>
+    <ver>5.47</ver>
+  </compatibility>
+  <comments>CiviGrant was originally a core component before migrating to an extension</comments>
+  <requires>
+    <ext>org.civicrm.afform</ext>
+    <ext>org.civicrm.search_kit</ext>
+  </requires>
+  <classloader>
+    <psr0 prefix="CRM_" path=""/>
+    <psr4 prefix="Civi\" path="Civi"/>
+  </classloader>
+  <upgrader>CRM_Grant_Upgrader</upgrader>
+  <mixins>
+    <mixin>menu-xml@1.0.0</mixin>
+    <mixin>mgd-php@1.0.0</mixin>
+  </mixins>
+  <civix>
+    <namespace>CRM/Grant</namespace>
+  </civix>
+</extension>
diff --git a/civicrm/ext/civigrant/managed/Navigation_Grants.mgd.php b/civicrm/ext/civigrant/managed/Navigation_Grants.mgd.php
new file mode 100644
index 0000000000000000000000000000000000000000..fe1d40e93d15dc210f7173113d575622f85427ea
--- /dev/null
+++ b/civicrm/ext/civigrant/managed/Navigation_Grants.mgd.php
@@ -0,0 +1,175 @@
+<?php
+return [
+  [
+    'name' => 'Navigation_Grants',
+    'entity' => 'Navigation',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'label' => 'Grants',
+        'name' => 'Grants',
+        'url' => NULL,
+        'icon' => 'crm-i fa-money',
+        'permission' => 'access CiviGrant',
+        'permission_operator' => '',
+        'is_active' => TRUE,
+        'weight' => 90,
+        'parent_id' => NULL,
+        'has_separator' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'Navigation_Grants_Navigation_Dashboard',
+    'entity' => 'Navigation',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'label' => 'Dashboard',
+        'name' => 'Dashboard',
+        'url' => 'civicrm/grant?reset=1',
+        'icon' => NULL,
+        'permission' => 'access CiviGrant',
+        'permission_operator' => '',
+        'parent_id.name' => 'Grants',
+        'is_active' => TRUE,
+        'has_separator' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'Navigation_Grants_Navigation_New_Grant',
+    'entity' => 'Navigation',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'label' => 'New Grant',
+        'name' => 'New Grant',
+        'url' => 'civicrm/grant/add?reset=1&action=add&context=standalone',
+        'icon' => NULL,
+        'permission' => 'access CiviGrant,edit grants',
+        'permission_operator' => 'AND',
+        'parent_id.name' => 'Grants',
+        'is_active' => TRUE,
+        'has_separator' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'Navigation_Grants_Navigation_Find_Grants',
+    'entity' => 'Navigation',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'label' => 'Find Grants',
+        'name' => 'Find Grants',
+        'url' => 'civicrm/grant/search?reset=1',
+        'icon' => NULL,
+        'permission' => 'access CiviGrant',
+        'permission_operator' => '',
+        'parent_id.name' => 'Grants',
+        'is_active' => TRUE,
+        'has_separator' => '1',
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'Navigation_CiviGrant',
+    'entity' => 'Navigation',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'label' => 'CiviGrant',
+        'name' => 'CiviGrant',
+        'url' => NULL,
+        'icon' => NULL,
+        'permission' => 'access CiviGrant,administer CiviCRM',
+        'permission_operator' => 'AND',
+        'parent_id.name' => 'Administer',
+        'is_active' => TRUE,
+        'weight' => 13,
+        'has_separator' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'Navigation_CiviGrant_Navigation_Grant_Types',
+    'entity' => 'Navigation',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'label' => 'Grant Types',
+        'name' => 'Grant Types',
+        'url' => 'civicrm/admin/options/grant_type?reset=1',
+        'icon' => NULL,
+        'permission' => 'access CiviGrant,administer CiviCRM',
+        'permission_operator' => 'AND',
+        'parent_id.name' => 'CiviGrant',
+        'is_active' => TRUE,
+        'weight' => 1,
+        'has_separator' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'Navigation_CiviGrant_Navigation_Grant_Status',
+    'entity' => 'Navigation',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'label' => 'Grant Status',
+        'name' => 'Grant Status',
+        'url' => 'civicrm/admin/options/grant_status?reset=1',
+        'icon' => NULL,
+        'permission' => 'access CiviGrant,administer CiviCRM',
+        'permission_operator' => 'AND',
+        'parent_id.name' => 'CiviGrant',
+        'is_active' => TRUE,
+        'weight' => 2,
+        'has_separator' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'Navigation_Grants_Navigation_Grant_Reports',
+    'entity' => 'Navigation',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'label' => 'Grant Reports',
+        'name' => 'Grant Reports',
+        'url' => 'civicrm/report/list?compid=5&reset=1',
+        'icon' => NULL,
+        'permission' => 'access CiviGrant',
+        'permission_operator' => '',
+        'parent_id.name' => 'Grants',
+        'is_active' => TRUE,
+        'has_separator' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+];
diff --git a/civicrm/ext/civigrant/managed/OptionGroup_advanced_search_options_OptionValue_CiviGrant.mgd.php b/civicrm/ext/civigrant/managed/OptionGroup_advanced_search_options_OptionValue_CiviGrant.mgd.php
new file mode 100644
index 0000000000000000000000000000000000000000..757d2d93424d45e0ea528fa549a6b4444daf5498
--- /dev/null
+++ b/civicrm/ext/civigrant/managed/OptionGroup_advanced_search_options_OptionValue_CiviGrant.mgd.php
@@ -0,0 +1,31 @@
+<?php
+return [
+  [
+    'name' => 'OptionGroup_advanced_search_options_OptionValue_CiviGrant',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'advanced_search_options',
+        'label' => 'Grants',
+        'value' => '12',
+        'name' => 'CiviGrant',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 14,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+];
diff --git a/civicrm/ext/civigrant/managed/OptionGroup_contact_view_options_OptionValue_CiviGrant.mgd.php b/civicrm/ext/civigrant/managed/OptionGroup_contact_view_options_OptionValue_CiviGrant.mgd.php
new file mode 100644
index 0000000000000000000000000000000000000000..0458ec905b9912f188a55b2766b6f9bb09931bda
--- /dev/null
+++ b/civicrm/ext/civigrant/managed/OptionGroup_contact_view_options_OptionValue_CiviGrant.mgd.php
@@ -0,0 +1,31 @@
+<?php
+return [
+  [
+    'name' => 'OptionGroup_contact_view_options_OptionValue_CiviGrant',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'contact_view_options',
+        'label' => 'Grants',
+        'value' => '11',
+        'name' => 'CiviGrant',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 11,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+];
diff --git a/civicrm/ext/civigrant/managed/OptionGroup_grant_status.mgd.php b/civicrm/ext/civigrant/managed/OptionGroup_grant_status.mgd.php
new file mode 100644
index 0000000000000000000000000000000000000000..2ebab03245301cfc92216a891d0567a7d6f30a77
--- /dev/null
+++ b/civicrm/ext/civigrant/managed/OptionGroup_grant_status.mgd.php
@@ -0,0 +1,217 @@
+<?php
+return [
+  [
+    'name' => 'OptionGroup_grant_status',
+    'entity' => 'OptionGroup',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'name' => 'grant_status',
+        'title' => 'Grant status',
+        'description' => NULL,
+        'data_type' => NULL,
+        'is_reserved' => TRUE,
+        'is_active' => TRUE,
+        'is_locked' => FALSE,
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_status_OptionValue_Submitted',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_status',
+        'label' => 'Submitted',
+        'value' => '1',
+        'name' => 'Submitted',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => TRUE,
+        'weight' => 1,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_status_OptionValue_Eligible',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_status',
+        'label' => 'Eligible',
+        'value' => '2',
+        'name' => 'Eligible',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 2,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_status_OptionValue_Ineligible',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_status',
+        'label' => 'Ineligible',
+        'value' => '3',
+        'name' => 'Ineligible',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 3,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_status_OptionValue_Paid',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_status',
+        'label' => 'Paid',
+        'value' => '4',
+        'name' => 'Paid',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 4,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_status_OptionValue_Awaiting Information',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_status',
+        'label' => 'Awaiting Information',
+        'value' => '5',
+        'name' => 'Awaiting Information',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 5,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_status_OptionValue_Withdrawn',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_status',
+        'label' => 'Withdrawn',
+        'value' => '6',
+        'name' => 'Withdrawn',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 6,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_status_OptionValue_Approved for Payment',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_status',
+        'label' => 'Approved for Payment',
+        'value' => '7',
+        'name' => 'Approved for Payment',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 7,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+];
diff --git a/civicrm/ext/civigrant/managed/OptionGroup_grant_type.mgd.php b/civicrm/ext/civigrant/managed/OptionGroup_grant_type.mgd.php
new file mode 100644
index 0000000000000000000000000000000000000000..8c98381b9a9f42229470720052e1ecd97d637d5a
--- /dev/null
+++ b/civicrm/ext/civigrant/managed/OptionGroup_grant_type.mgd.php
@@ -0,0 +1,133 @@
+<?php
+return [
+  [
+    'name' => 'OptionGroup_grant_type',
+    'entity' => 'OptionGroup',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'name' => 'grant_type',
+        'title' => 'Grant Type',
+        'description' => NULL,
+        'data_type' => NULL,
+        'is_reserved' => TRUE,
+        'is_active' => TRUE,
+        'is_locked' => FALSE,
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_type_OptionValue_Emergency',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_type',
+        'label' => 'Emergency',
+        'value' => '1',
+        'name' => 'Emergency',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => TRUE,
+        'weight' => 1,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'visibility_id' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_type_OptionValue_Family Support',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_type',
+        'label' => 'Family Support',
+        'value' => '2',
+        'name' => 'Family Support',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 2,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'visibility_id' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_type_OptionValue_General Protection',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_type',
+        'label' => 'General Protection',
+        'value' => '3',
+        'name' => 'General Protection',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 3,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'visibility_id' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_type_OptionValue_Impunity',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_type',
+        'label' => 'Impunity',
+        'value' => '4',
+        'name' => 'Impunity',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 4,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'visibility_id' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+];
diff --git a/civicrm/ext/civigrant/managed/OptionGroup_mapping_type_OptionValue_Export.mgd.php b/civicrm/ext/civigrant/managed/OptionGroup_mapping_type_OptionValue_Export.mgd.php
new file mode 100644
index 0000000000000000000000000000000000000000..33532b150c2500d8f96f6372a58c9c8d198a54aa
--- /dev/null
+++ b/civicrm/ext/civigrant/managed/OptionGroup_mapping_type_OptionValue_Export.mgd.php
@@ -0,0 +1,31 @@
+<?php
+return [
+  [
+    'name' => 'OptionGroup_mapping_type_OptionValue_Export Grant',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'mapping_type',
+        'label' => 'Export Grant',
+        'value' => '13',
+        'name' => 'Export Grant',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 13,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => TRUE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+];
diff --git a/civicrm/ext/civigrant/managed/OptionGroup_report_template_OptionValue_CRM_Report_Form_Grants.mgd.php b/civicrm/ext/civigrant/managed/OptionGroup_report_template_OptionValue_CRM_Report_Form_Grants.mgd.php
new file mode 100644
index 0000000000000000000000000000000000000000..ed7a5367e4e6cf5a08df688216453e2f8cfa0345
--- /dev/null
+++ b/civicrm/ext/civigrant/managed/OptionGroup_report_template_OptionValue_CRM_Report_Form_Grants.mgd.php
@@ -0,0 +1,59 @@
+<?php
+return [
+  [
+    'name' => 'OptionGroup_report_template_OptionValue_CRM_Report_Form_Grant_Detail',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'report_template',
+        'label' => 'Grant Report (Detail)',
+        'value' => 'grant/detail',
+        'name' => 'CRM_Report_Form_Grant_Detail',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 30,
+        'description' => 'Grant Report Detail',
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'component_id' => NULL,
+        'icon' => NULL,
+        'color' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_report_template_OptionValue_CRM_Report_Form_Grant_Statistics',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'report_template',
+        'label' => 'Grant Report (Statistics)',
+        'value' => 'grant/statistics',
+        'name' => 'CRM_Report_Form_Grant_Statistics',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 42,
+        'description' => 'Shows statistics for Grants.',
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'component_id' => NULL,
+        'icon' => NULL,
+        'color' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+];
diff --git a/civicrm/ext/civigrant/managed/SavedSearch_CiviGrant_Summary.mgd.php b/civicrm/ext/civigrant/managed/SavedSearch_CiviGrant_Summary.mgd.php
new file mode 100644
index 0000000000000000000000000000000000000000..1b71072ef1facd1d87a81c02bcd9c75624757dc8
--- /dev/null
+++ b/civicrm/ext/civigrant/managed/SavedSearch_CiviGrant_Summary.mgd.php
@@ -0,0 +1,153 @@
+<?php
+return [
+  [
+    'name' => 'SavedSearch_CiviGrant_Summary',
+    'entity' => 'SavedSearch',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'name' => 'CiviGrant_Summary',
+        'label' => 'CiviGrant Summary',
+        'form_values' => NULL,
+        'search_custom_id' => NULL,
+        'api_entity' => 'Grant',
+        'api_params' => [
+          'version' => 4,
+          'select' => [
+            'status_id:label',
+            'grant_type_id:label',
+            'amount_requested',
+            'amount_granted',
+            'application_received_date',
+            'grant_report_received',
+            'money_transfer_date',
+          ],
+          'orderBy' => [],
+          'where' => [],
+          'groupBy' => [],
+          'join' => [],
+          'having' => [],
+        ],
+        'expires_date' => NULL,
+        'description' => NULL,
+        'mapping_id' => NULL,
+      ],
+    ],
+  ],
+  [
+    'name' => 'SavedSearch_CiviGrant_Summary_SearchDisplay_Grant_Tab',
+    'entity' => 'SearchDisplay',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'name' => 'Grant_Tab',
+        'label' => 'Grant Tab',
+        'saved_search_id.name' => 'CiviGrant_Summary',
+        'type' => 'table',
+        'settings' => [
+          'actions' => FALSE,
+          'limit' => 50,
+          'classes' => [
+            'table',
+            'table-striped',
+          ],
+          'pager' => [
+            'show_count' => TRUE,
+            'expose_limit' => TRUE,
+          ],
+          'sort' => [],
+          'columns' => [
+            [
+              'type' => 'field',
+              'key' => 'status_id:label',
+              'dataType' => 'Integer',
+              'label' => 'Status',
+              'sortable' => TRUE,
+            ],
+            [
+              'type' => 'field',
+              'key' => 'grant_type_id:label',
+              'dataType' => 'Integer',
+              'label' => 'Type',
+              'sortable' => TRUE,
+            ],
+            [
+              'type' => 'field',
+              'key' => 'amount_requested',
+              'dataType' => 'Money',
+              'label' => 'Requested',
+              'sortable' => TRUE,
+            ],
+            [
+              'type' => 'field',
+              'key' => 'amount_granted',
+              'dataType' => 'Money',
+              'label' => 'Granted',
+              'sortable' => TRUE,
+            ],
+            [
+              'type' => 'field',
+              'key' => 'application_received_date',
+              'dataType' => 'Date',
+              'label' => 'Application received',
+              'sortable' => TRUE,
+            ],
+            [
+              'type' => 'field',
+              'key' => 'grant_report_received',
+              'dataType' => 'Boolean',
+              'label' => 'Report received',
+              'sortable' => TRUE,
+            ],
+            [
+              'type' => 'field',
+              'key' => 'money_transfer_date',
+              'dataType' => 'Date',
+              'label' => 'Money transferred',
+              'sortable' => TRUE,
+            ],
+            [
+              'size' => 'btn-xs',
+              'links' => [
+                [
+                  'entity' => 'Grant',
+                  'action' => 'view',
+                  'join' => '',
+                  'target' => 'crm-popup',
+                  'icon' => 'fa-external-link',
+                  'text' => 'View',
+                  'style' => 'default',
+                ],
+                [
+                  'entity' => 'Grant',
+                  'action' => 'update',
+                  'join' => '',
+                  'target' => 'crm-popup',
+                  'icon' => 'fa-pencil',
+                  'text' => 'Edit',
+                  'style' => 'default',
+                ],
+                [
+                  'entity' => 'Grant',
+                  'action' => 'delete',
+                  'join' => '',
+                  'target' => 'crm-popup',
+                  'icon' => 'fa-trash',
+                  'text' => 'Delete',
+                  'style' => 'danger',
+                ],
+              ],
+              'type' => 'buttons',
+              'alignment' => 'text-right',
+            ],
+          ],
+        ],
+        'acl_bypass' => FALSE,
+      ],
+    ],
+  ],
+];
diff --git a/civicrm/ext/civigrant/phpunit.xml.dist b/civicrm/ext/civigrant/phpunit.xml.dist
new file mode 100644
index 0000000000000000000000000000000000000000..fc8f870b723b86a3cdf77609656b6ce38d0288ce
--- /dev/null
+++ b/civicrm/ext/civigrant/phpunit.xml.dist
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<phpunit backupGlobals="false" backupStaticAttributes="false" colors="true" convertErrorsToExceptions="true" convertNoticesToExceptions="true" convertWarningsToExceptions="true" processIsolation="false" stopOnFailure="false" bootstrap="tests/phpunit/bootstrap.php">
+  <testsuites>
+    <testsuite name="My Test Suite">
+      <directory>./tests/phpunit</directory>
+    </testsuite>
+  </testsuites>
+  <filter>
+    <whitelist>
+      <directory suffix=".php">./</directory>
+    </whitelist>
+  </filter>
+  <listeners>
+    <listener class="Civi\Test\CiviTestListener">
+      <arguments/>
+    </listener>
+  </listeners>
+</phpunit>
diff --git a/civicrm/templates/CRM/Grant/Form/Grant.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Grant.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/Grant.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Grant.tpl
diff --git a/civicrm/templates/CRM/Grant/Form/GrantView.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/GrantView.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/GrantView.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/GrantView.tpl
diff --git a/civicrm/templates/CRM/Grant/Form/Search.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Search.tpl
similarity index 97%
rename from civicrm/templates/CRM/Grant/Form/Search.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Search.tpl
index a59ce1db40dd30ce0cda6c1e1cd3e2dc9dd3811a..b6da5cf864caa9b6c07cfbf12b1d5bc1bea5a472 100644
--- a/civicrm/templates/CRM/Grant/Form/Search.tpl
+++ b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Search.tpl
@@ -20,7 +20,7 @@
         </div>
         <table class="form-layout">
             <tr>
-               <td class="font-size12pt" colspan="3">
+               <td colspan="3">
                     {$form.sort_name.label}&nbsp;&nbsp;{$form.sort_name.html}&nbsp;&nbsp;&nbsp;{$form.buttons.html}<br />
                </td>
             </tr>
diff --git a/civicrm/templates/CRM/Grant/Form/Search/AdvancedSearchPane.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Search/AdvancedSearchPane.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/Search/AdvancedSearchPane.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Search/AdvancedSearchPane.tpl
diff --git a/civicrm/templates/CRM/Grant/Form/Search/Common.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Search/Common.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/Search/Common.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Search/Common.tpl
diff --git a/civicrm/templates/CRM/Grant/Form/Search/EmptyResults.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Search/EmptyResults.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/Search/EmptyResults.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Search/EmptyResults.tpl
diff --git a/civicrm/templates/CRM/Grant/Form/Selector.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Selector.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/Selector.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Selector.tpl
diff --git a/civicrm/templates/CRM/Grant/Form/Task.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Task.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/Task.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Task.tpl
diff --git a/civicrm/templates/CRM/Grant/Form/Task/Delete.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Task/Delete.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/Task/Delete.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Task/Delete.tpl
diff --git a/civicrm/templates/CRM/Grant/Form/Task/Print.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Task/Print.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/Task/Print.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Task/Print.tpl
diff --git a/civicrm/templates/CRM/Grant/Form/Task/Update.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Task/Update.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/Task/Update.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Task/Update.tpl
diff --git a/civicrm/templates/CRM/Grant/Page/DashBoard.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Page/DashBoard.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Page/DashBoard.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Page/DashBoard.tpl
diff --git a/civicrm/templates/CRM/Grant/Page/Tab.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Page/Tab.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Page/Tab.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Page/Tab.tpl
diff --git a/civicrm/templates/CRM/Report/Form/Grant/Detail.tpl b/civicrm/ext/civigrant/templates/CRM/Report/Form/Grant/Detail.tpl
similarity index 100%
rename from civicrm/templates/CRM/Report/Form/Grant/Detail.tpl
rename to civicrm/ext/civigrant/templates/CRM/Report/Form/Grant/Detail.tpl
diff --git a/civicrm/templates/CRM/Report/Form/Grant/Statistics.tpl b/civicrm/ext/civigrant/templates/CRM/Report/Form/Grant/Statistics.tpl
similarity index 100%
rename from civicrm/templates/CRM/Report/Form/Grant/Statistics.tpl
rename to civicrm/ext/civigrant/templates/CRM/Report/Form/Grant/Statistics.tpl
diff --git a/civicrm/ext/civigrant/tests/phpunit/api/v3/GrantTest.php b/civicrm/ext/civigrant/tests/phpunit/api/v3/GrantTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..bf4dfd34d0d64109020fee348dca15d167872776
--- /dev/null
+++ b/civicrm/ext/civigrant/tests/phpunit/api/v3/GrantTest.php
@@ -0,0 +1,186 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+/**
+ *  Test APIv3 civicrm_grant* functions
+ *
+ * @package CiviCRM_APIv3
+ * @subpackage API_Grant
+ * @group headless
+ */
+class api_v3_GrantTest extends \PHPUnit\Framework\TestCase implements \Civi\Test\HeadlessInterface {
+  use \Civi\Test\Api3TestTrait;
+  use \Civi\Test\ContactTestTrait;
+
+
+  protected $_apiversion = 3;
+  protected $params;
+  protected $ids = [];
+  protected $_entity = 'Grant';
+
+  public $DBResetRequired = FALSE;
+
+  public function setUpHeadless() {
+    return \Civi\Test::headless()
+      ->install(['org.civicrm.afform', 'org.civicrm.search_kit'])
+      ->installMe(__DIR__)
+      ->apply();
+  }
+
+  public function setUp(): void {
+    parent::setUp();
+    $this->ids['contact'][0] = $this->individualCreate();
+    $this->params = [
+      'contact_id' => $this->ids['contact'][0],
+      'application_received_date' => 'now',
+      'decision_date' => 'next Monday',
+      'amount_total' => '500.00',
+      'status_id' => 1,
+      'rationale' => 'Just Because',
+      'currency' => 'USD',
+      'grant_type_id' => 1,
+    ];
+  }
+
+  /**
+   * Cleanup after test.
+   *
+   * @throws \Exception
+   */
+  public function tearDown(): void {
+    foreach ($this->ids as $entity => $entities) {
+      foreach ($entities as $id) {
+        $this->callAPISuccess($entity, 'delete', ['id' => $id]);
+      }
+    }
+    parent::tearDown();
+  }
+
+  public function testCreateGrant() {
+    $result = $this->callAPISuccess($this->_entity, 'create', $this->params);
+    $this->ids['grant'][0] = $result['id'];
+    $this->assertEquals(1, $result['count']);
+    $this->assertNotNull($result['values'][$result['id']]['id']);
+  }
+
+  /**
+   * Check checkbox type custom fields are created correctly.
+   *
+   * We want to ensure they are saved with separators as appropriate
+   */
+  public function testCreateCustomCheckboxGrant() {
+    $cg = $this->callAPISuccess('customGroup', 'create', [
+      'title' => 'Grant custom group',
+      'extends' => 'Grant',
+    ]);
+    $customTable = $cg['values'][$cg['id']]['table_name'];
+    $cf = $this->callAPISuccess('CustomField', 'create', [
+      'label' => 'Custom Field',
+      'data_type' => 'String',
+      'html_type' => 'CheckBox',
+      'custom_group_id' => $cg['id'],
+      'option_values' => [
+        ['label' => 'my valley', 'value' => 'valley', 'is_active' => TRUE, 'weight' => 1],
+        ['label' => 'my goat', 'value' => 'goat', 'is_active' => TRUE, 'weight' => 2],
+        ['label' => 'mohair', 'value' => 'wool', 'is_active' => TRUE, 'weight' => 3],
+        ['label' => 'hungry', 'value' => '', 'is_active' => TRUE, 'weight' => 3],
+      ],
+    ]);
+    $columnName = $cf['values'][$cf['id']]['column_name'];
+    $this->ids['custom_field'][] = $cf['id'];
+    $this->ids['custom_group'][] = $cg['id'];
+    $customFieldLabel = 'custom_' . $cf['id'];
+    $expectedValue = CRM_Core_DAO::VALUE_SEPARATOR . 'valley' . CRM_Core_DAO::VALUE_SEPARATOR;
+    //first we pass in the core separators ourselves
+    $this->params[$customFieldLabel] = $expectedValue;
+    $result = $this->callAPISuccess($this->_entity, 'create', $this->params);
+    $this->params['id'] = $result['id'];
+
+    $savedValue = CRM_Core_DAO::singleValueQuery("SELECT {$columnName} FROM $customTable WHERE entity_id = {$result['id']}");
+
+    $this->assertEquals($expectedValue, $savedValue);
+
+    // now we ask CiviCRM to add the separators
+    $this->params[$customFieldLabel] = "valley";
+    $result = $this->callAPISuccess($this->_entity, 'create', $this->params);
+    $savedValue = CRM_Core_DAO::singleValueQuery("SELECT {$columnName} FROM $customTable WHERE entity_id = {$result['id']}");
+    $this->assertEquals($expectedValue, $savedValue);
+
+    //let's try with 2 params already separated
+    $expectedValue = CRM_Core_DAO::VALUE_SEPARATOR . 'valley' . CRM_Core_DAO::VALUE_SEPARATOR . 'goat' . CRM_Core_DAO::VALUE_SEPARATOR;
+    $this->params[$customFieldLabel] = $expectedValue;
+    $result = $this->callAPISuccess($this->_entity, 'create', $this->params);
+    $savedValue = CRM_Core_DAO::singleValueQuery("SELECT {$columnName} FROM $customTable WHERE entity_id = {$result['id']}");
+    $this->assertEquals($expectedValue, $savedValue);
+
+    //& an array for good measure
+    $this->params[$customFieldLabel] = ['valley', 'goat'];
+    $result = $this->callAPISuccess($this->_entity, 'create', $this->params);
+    $savedValue = CRM_Core_DAO::singleValueQuery("SELECT {$columnName} FROM $customTable WHERE entity_id = {$result['id']}");
+    $this->assertEquals($expectedValue, $savedValue);
+  }
+
+  public function testGetGrant() {
+    $result = $this->callAPISuccess($this->_entity, 'create', $this->params);
+    $this->ids['grant'][0] = $result['id'];
+    $result = $this->callAPISuccess($this->_entity, 'get', ['rationale' => 'Just Because']);
+    $this->assertGreaterThanOrEqual(1, $result['count']);
+  }
+
+  public function testDeleteGrant() {
+    $result = $this->callAPISuccess($this->_entity, 'create', $this->params);
+    $this->callAPISuccess($this->_entity, 'delete', ['id' => $result['id']]);
+    $checkDeleted = $this->callAPISuccess($this->_entity, 'get', ['id' => $result['id']]);
+    $this->assertEquals(0, $checkDeleted['count']);
+  }
+
+  /**
+   * Test Grant status with `0` value.
+   */
+  public function testGrantWithZeroStatus() {
+    $params = [
+      'action' => 'create',
+      'grant_type_id' => "Emergency",
+      'amount_total' => 100,
+      'contact_id' => "1",
+      'status_id' => 0,
+      'id' => 1,
+    ];
+    $validation = $this->callAPISuccess('Grant', 'validate', $params);
+
+    $expectedOut = [
+      'status_id' => [
+        'message' => "'0' is not a valid option for field status_id",
+        'code' => "incorrect_value",
+      ],
+    ];
+    $this->assertEquals($validation['values'][0], $expectedOut);
+  }
+
+  /**
+   * Test contact subtype filter on grant report.
+   *
+   * @throws \CRM_Core_Exception
+   */
+  public function testGrantReportSeparatedFilter() {
+    $this->ids['contact'][] = $contactID = $this->individualCreate(['contact_sub_type' => ['Student', 'Parent']]);
+    $this->ids['contact'][] = $contactID2 = $this->individualCreate();
+    $this->ids['grant'][] = $this->callAPISuccess('Grant', 'create', ['contact_id' => $contactID, 'status_id' => 1, 'grant_type_id' => 1, 'amount_total' => 1])['id'];
+    $this->ids['grant'][] = $this->callAPISuccess('Grant', 'create', ['contact_id' => $contactID2, 'status_id' => 1, 'grant_type_id' => 1, 'amount_total' => 1])['id'];
+    $rows = $this->callAPISuccess('report_template', 'getrows', [
+      'report_id' => 'grant/detail',
+      'contact_sub_type_op' => 'in',
+      'contact_sub_type_value' => ['Student'],
+    ]);
+    $this->assertEquals(1, $rows['count']);
+  }
+
+}
diff --git a/civicrm/ext/civigrant/tests/phpunit/bootstrap.php b/civicrm/ext/civigrant/tests/phpunit/bootstrap.php
new file mode 100644
index 0000000000000000000000000000000000000000..4da10a185a93119fe1869b0f5442d2f2858374fb
--- /dev/null
+++ b/civicrm/ext/civigrant/tests/phpunit/bootstrap.php
@@ -0,0 +1,64 @@
+<?php
+
+ini_set('memory_limit', '2G');
+
+// phpcs:disable
+eval(cv('php:boot --level=classloader', 'phpcode'));
+// phpcs:enable
+// Allow autoloading of PHPUnit helper classes in this extension.
+$loader = new \Composer\Autoload\ClassLoader();
+$loader->add('CRM_', __DIR__);
+$loader->add('Civi\\', __DIR__);
+$loader->add('api_', __DIR__);
+$loader->add('api\\', __DIR__);
+$loader->register();
+
+/**
+ * Call the "cv" command.
+ *
+ * @param string $cmd
+ *   The rest of the command to send.
+ * @param string $decode
+ *   Ex: 'json' or 'phpcode'.
+ * @return mixed
+ *   Response output (if the command executed normally).
+ *   For 'raw' or 'phpcode', this will be a string. For 'json', it could be any JSON value.
+ * @throws \RuntimeException
+ *   If the command terminates abnormally.
+ */
+function cv(string $cmd, string $decode = 'json') {
+  $cmd = 'cv ' . $cmd;
+  $descriptorSpec = [0 => ['pipe', 'r'], 1 => ['pipe', 'w'], 2 => STDERR];
+  $oldOutput = getenv('CV_OUTPUT');
+  putenv('CV_OUTPUT=json');
+
+  // Execute `cv` in the original folder. This is a work-around for
+  // phpunit/codeception, which seem to manipulate PWD.
+  $cmd = sprintf('cd %s; %s', escapeshellarg(getenv('PWD')), $cmd);
+
+  $process = proc_open($cmd, $descriptorSpec, $pipes, __DIR__);
+  putenv("CV_OUTPUT=$oldOutput");
+  fclose($pipes[0]);
+  $result = stream_get_contents($pipes[1]);
+  fclose($pipes[1]);
+  if (proc_close($process) !== 0) {
+    throw new RuntimeException("Command failed ($cmd):\n$result");
+  }
+  switch ($decode) {
+    case 'raw':
+      return $result;
+
+    case 'phpcode':
+      // If the last output is /*PHPCODE*/, then we managed to complete execution.
+      if (substr(trim($result), 0, 12) !== '/*BEGINPHP*/' || substr(trim($result), -10) !== '/*ENDPHP*/') {
+        throw new \RuntimeException("Command failed ($cmd):\n$result");
+      }
+      return $result;
+
+    case 'json':
+      return json_decode($result, 1);
+
+    default:
+      throw new RuntimeException("Bad decoder format ($decode)");
+  }
+}
diff --git a/civicrm/CRM/Grant/xml/Menu/Grant.xml b/civicrm/ext/civigrant/xml/Menu/Grant.xml
similarity index 94%
rename from civicrm/CRM/Grant/xml/Menu/Grant.xml
rename to civicrm/ext/civigrant/xml/Menu/Grant.xml
index b9bc0f796e1be482bcc23f19fe7a092c365d80fc..c31d0ecb27fe622d0c34e180ec2f9d7b2779aa7f 100644
--- a/civicrm/CRM/Grant/xml/Menu/Grant.xml
+++ b/civicrm/ext/civigrant/xml/Menu/Grant.xml
@@ -8,7 +8,6 @@
      <access_arguments>access CiviGrant</access_arguments>
      <page_type>1</page_type>
      <weight>1000</weight>
-     <component>CiviGrant</component>
   </item>
   <item>
      <path>civicrm/grant/info</path>
@@ -30,7 +29,6 @@
      <path_arguments>action=add</path_arguments>
      <access_arguments>access CiviGrant</access_arguments>
      <page_type>1</page_type>
-     <component>CiviGrant</component>
   </item>
   <item>
      <path>civicrm/contact/view/grant</path>
diff --git a/civicrm/ext/civigrant/xml/schema/CRM/Grant/Grant.entityType.php b/civicrm/ext/civigrant/xml/schema/CRM/Grant/Grant.entityType.php
new file mode 100644
index 0000000000000000000000000000000000000000..89d4b72f8d42f4421ed05b7488846c162a58a59a
--- /dev/null
+++ b/civicrm/ext/civigrant/xml/schema/CRM/Grant/Grant.entityType.php
@@ -0,0 +1,10 @@
+<?php
+// This file declares a new entity type. For more details, see "hook_civicrm_entityTypes" at:
+// https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_entityTypes
+return [
+  [
+    'name' => 'Grant',
+    'class' => 'CRM_Grant_DAO_Grant',
+    'table' => 'civicrm_grant',
+  ],
+];
diff --git a/civicrm/xml/schema/Grant/Grant.xml b/civicrm/ext/civigrant/xml/schema/CRM/Grant/Grant.xml
similarity index 99%
rename from civicrm/xml/schema/Grant/Grant.xml
rename to civicrm/ext/civigrant/xml/schema/CRM/Grant/Grant.xml
index 567865e7616f67733058cf7a8ebca8c7c990565c..b6955d43990459fea132a49914b53ca749dbd094 100644
--- a/civicrm/xml/schema/Grant/Grant.xml
+++ b/civicrm/ext/civigrant/xml/schema/CRM/Grant/Grant.xml
@@ -8,7 +8,6 @@
   <add>1.8</add>
   <log>true</log>
   <icon>fa-money</icon>
-  <component>CiviGrant</component>
   <paths>
     <add>civicrm/grant/add?reset=1&amp;action=add&amp;context=standalone</add>
     <view>civicrm/contact/view/grant?reset=1&amp;action=view&amp;id=[id]&amp;cid=[contact_id]</view>
diff --git a/civicrm/ext/ckeditor4/CRM/Ckeditor4/Upgrader.php b/civicrm/ext/ckeditor4/CRM/Ckeditor4/Upgrader.php
index bb700c4d5eb43e856c141c07eaf1b2516599732d..76d3f1b7d73214bc0fff9eedd751f376c50cbd36 100644
--- a/civicrm/ext/ckeditor4/CRM/Ckeditor4/Upgrader.php
+++ b/civicrm/ext/ckeditor4/CRM/Ckeditor4/Upgrader.php
@@ -26,7 +26,7 @@ class CRM_Ckeditor4_Upgrader extends CRM_Ckeditor4_Upgrader_Base {
     foreach ($domains as $domain) {
       $currentSetting = \Civi::settings($domain['id'])->get('editor_id');
       if ($currentSetting === 'CKEditor') {
-        \Civi::setttings($domain['id'])->set('editor_id', 'Textarea');
+        \Civi::settings($domain['id'])->set('editor_id', 'Textarea');
       }
     }
     civicrm_api3('OptionValue', 'get', ['name' => 'CKEditor', 'api.option_value.delete' => ['id' => "\$value.id"]]);
diff --git a/civicrm/ext/ckeditor4/ckeditor4.civix.php b/civicrm/ext/ckeditor4/ckeditor4.civix.php
index bb862286b56836f51e6b785381edfeb09c06c4d8..17a0475106c58c4cc76a67ab0ce02ec13e0f3551 100644
--- a/civicrm/ext/ckeditor4/ckeditor4.civix.php
+++ b/civicrm/ext/ckeditor4/ckeditor4.civix.php
@@ -91,9 +91,9 @@ function _ckeditor4_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/ckeditor4/info.xml b/civicrm/ext/ckeditor4/info.xml
index d5dc7187c3aec9c87c524f7cfdfb2e2bb55b4be4..5c4a8b02738295fbff826e6e93bf9951d897fd75 100644
--- a/civicrm/ext/ckeditor4/info.xml
+++ b/civicrm/ext/ckeditor4/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">https://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-05-23</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.39</ver>
diff --git a/civicrm/ext/contributioncancelactions/README.md b/civicrm/ext/contributioncancelactions/README.md
index e2e17c3a8cee4643f2c935dad8b15aa6ae6142c9..8a55e9ffc6741c6f4b01b371f9d69474e74d6f02 100644
--- a/civicrm/ext/contributioncancelactions/README.md
+++ b/civicrm/ext/contributioncancelactions/README.md
@@ -21,4 +21,3 @@ The extension is licensed under [AGPL-3.0](LICENSE.txt).
 ## Installation (Web UI)
 
 This extension ships with core - you can enable or disable in the extensions UI.
-
diff --git a/civicrm/ext/contributioncancelactions/contributioncancelactions.civix.php b/civicrm/ext/contributioncancelactions/contributioncancelactions.civix.php
index 7f1e9712e94929d92036d5f1ba1bf2b1152e4d76..af68033f7b1e259a31748ee1f92fd1ce719cfd5a 100644
--- a/civicrm/ext/contributioncancelactions/contributioncancelactions.civix.php
+++ b/civicrm/ext/contributioncancelactions/contributioncancelactions.civix.php
@@ -91,9 +91,9 @@ function _contributioncancelactions_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/contributioncancelactions/info.xml b/civicrm/ext/contributioncancelactions/info.xml
index ce54ecb56abdc55d3a7012ddbfed5e2968d581bd..27612d5f4bc8ab542c7a57a1f4a09c036ba86617 100644
--- a/civicrm/ext/contributioncancelactions/info.xml
+++ b/civicrm/ext/contributioncancelactions/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-10-12</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.32</ver>
diff --git a/civicrm/ext/eventcart/CRM/Event/Cart/BAO/EventInCart.php b/civicrm/ext/eventcart/CRM/Event/Cart/BAO/EventInCart.php
index abb9bb4ce6aefbd1fb179dd905133c07d44c9583..97cc92d256df8cc320a2378535b7afcf1b9dfad7 100644
--- a/civicrm/ext/eventcart/CRM/Event/Cart/BAO/EventInCart.php
+++ b/civicrm/ext/eventcart/CRM/Event/Cart/BAO/EventInCart.php
@@ -10,13 +10,6 @@ class CRM_Event_Cart_BAO_EventInCart extends CRM_Event_Cart_DAO_EventInCart impl
   public $location = NULL;
   public $participants = [];
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Add participant to cart.
    *
@@ -164,7 +157,7 @@ class CRM_Event_Cart_BAO_EventInCart extends CRM_Event_Cart_DAO_EventInCart impl
   }
 
   /**
-   * @param null $event_cart
+   * @param CRM_Event_Cart_BAO_Cart|null $event_cart
    */
   public function load_associations($event_cart = NULL) {
     if ($this->assocations_loaded) {
diff --git a/civicrm/ext/eventcart/CRM/Event/Cart/BAO/MerParticipant.php b/civicrm/ext/eventcart/CRM/Event/Cart/BAO/MerParticipant.php
index 4cdf4e341b9c90d17b4ac33c3bb9c26b7ca0e260..c1324e2d9beed436f805095cb01222bf488c06dd 100644
--- a/civicrm/ext/eventcart/CRM/Event/Cart/BAO/MerParticipant.php
+++ b/civicrm/ext/eventcart/CRM/Event/Cart/BAO/MerParticipant.php
@@ -30,8 +30,7 @@ class CRM_Event_Cart_BAO_MerParticipant extends CRM_Event_BAO_Participant {
   public $cart = NULL;
 
   /**
-   * XXX.
-   * @param null $participant
+   * @param array $participant
    */
   public function __construct($participant = NULL) {
     parent::__construct();
diff --git a/civicrm/ext/eventcart/CRM/Event/Cart/Controller/Checkout.php b/civicrm/ext/eventcart/CRM/Event/Cart/Controller/Checkout.php
index a00044bdda636a2b1254ac672a99d12674394610..10ccc2c4077342bdbafb1c4570c78f83005a5d90 100644
--- a/civicrm/ext/eventcart/CRM/Event/Cart/Controller/Checkout.php
+++ b/civicrm/ext/eventcart/CRM/Event/Cart/Controller/Checkout.php
@@ -6,7 +6,7 @@
 class CRM_Event_Cart_Controller_Checkout extends CRM_Core_Controller {
 
   /**
-   * @param null $title
+   * @param string $title
    * @param bool|int $action
    * @param bool $modal
    */
diff --git a/civicrm/ext/eventcart/eventcart.civix.php b/civicrm/ext/eventcart/eventcart.civix.php
index bec41bc7f2e406f56470f5515f8b32ea5f1d44eb..bdce986d6ec8cac52e61d01e762beca3c18fedf2 100644
--- a/civicrm/ext/eventcart/eventcart.civix.php
+++ b/civicrm/ext/eventcart/eventcart.civix.php
@@ -91,9 +91,9 @@ function _eventcart_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/eventcart/info.xml b/civicrm/ext/eventcart/info.xml
index f5f14259c1b6906f82112f1b4231133f19098c98..58bef5187af9c010c989ee06ff10e520462779c9 100644
--- a/civicrm/ext/eventcart/info.xml
+++ b/civicrm/ext/eventcart/info.xml
@@ -13,7 +13,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-08-03</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/ewaysingle/ewaysingle.civix.php b/civicrm/ext/ewaysingle/ewaysingle.civix.php
index 474030a1c24a82dd3f826d1c55f631aba03d4986..d94d1fa614c6f48c22ead5b6cf8b974e2c11d171 100644
--- a/civicrm/ext/ewaysingle/ewaysingle.civix.php
+++ b/civicrm/ext/ewaysingle/ewaysingle.civix.php
@@ -91,9 +91,9 @@ function _ewaysingle_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/ewaysingle/info.xml b/civicrm/ext/ewaysingle/info.xml
index 802e95224922387a9215cebd3f4f6d7f6025e238..8dc7e53f24382063cc5accf84b4879e0f08126be 100644
--- a/civicrm/ext/ewaysingle/info.xml
+++ b/civicrm/ext/ewaysingle/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-10-07</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/financialacls/financialacls.civix.php b/civicrm/ext/financialacls/financialacls.civix.php
index d9ade0d325f3c50c1ddfcf8f02cc1153fb141cb0..6948a1e926582c1852ecec49148c1e260030b606 100644
--- a/civicrm/ext/financialacls/financialacls.civix.php
+++ b/civicrm/ext/financialacls/financialacls.civix.php
@@ -91,9 +91,9 @@ function _financialacls_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/financialacls/financialacls.php b/civicrm/ext/financialacls/financialacls.php
index ccd3722205a88ff75d02b74d03a1527d56863f86..d87f4eb9a56e8f20ae468bf33948a71ea8eea1ff 100644
--- a/civicrm/ext/financialacls/financialacls.php
+++ b/civicrm/ext/financialacls/financialacls.php
@@ -139,6 +139,7 @@ function financialacls_civicrm_selectWhereClause($entity, &$clauses) {
     case 'LineItem':
     case 'MembershipType':
     case 'ContributionRecur':
+    case 'Contribution':
       $clauses['financial_type_id'] = _financialacls_civicrm_get_type_clause();
       break;
 
@@ -397,6 +398,18 @@ function financialacls_toggle() {
 //
 //}
 
+/**
+ * Require financial acl permissions for financial screens.
+ *
+ * @param array $menu
+ */
+function financialacls_civicrm_alterMenu(array &$menu): void {
+  if (!financialacls_is_acl_limiting_enabled()) {
+    return;
+  }
+  $menu['civicrm/admin/financial/financialType']['access_arguments'] = [['administer CiviCRM Financial Types']];
+}
+
 /**
  * Implements hook_civicrm_navigationMenu().
  *
diff --git a/civicrm/ext/financialacls/info.xml b/civicrm/ext/financialacls/info.xml
index 38efcb3475409ffebefb078bb55cb12f2af98c53..aee154a7318774c4fb1503e53ad696491359091b 100644
--- a/civicrm/ext/financialacls/info.xml
+++ b/civicrm/ext/financialacls/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-08-27</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.30</ver>
diff --git a/civicrm/ext/financialacls/tests/phpunit/Civi/Financialacls/FinancialTypeTest.php b/civicrm/ext/financialacls/tests/phpunit/Civi/Financialacls/FinancialTypeTest.php
index bb68b08eabbc3c7e3ad81914c4fe3dbcb2148733..31594b86c2fce101a46c34712cffae95a1e42f7d 100644
--- a/civicrm/ext/financialacls/tests/phpunit/Civi/Financialacls/FinancialTypeTest.php
+++ b/civicrm/ext/financialacls/tests/phpunit/Civi/Financialacls/FinancialTypeTest.php
@@ -16,8 +16,6 @@ class FinancialTypeTest extends BaseTestClass {
   /**
    * Test that a message is put in session when changing the name of a
    * financial type.
-   *
-   * @throws \CRM_Core_Exception
    */
   public function testChangeFinancialTypeName(): void {
     Civi::settings()->set('acl_financial_type', TRUE);
@@ -73,4 +71,25 @@ class FinancialTypeTest extends BaseTestClass {
     $this->assertEquals([1 => 'Donation'], $type);
   }
 
+  /**
+   * Check method test buildPermissionedClause()
+   */
+  public function testBuildPermissionedClause(): void {
+    Civi::settings()->set('acl_financial_type', 1);
+    $this->setPermissions([
+      'view contributions of type Donation',
+      'view contributions of type Member Dues',
+    ]);
+    $whereClause = \CRM_Financial_BAO_FinancialType::buildPermissionedClause('contribution');
+    $this->assertEquals('(`civicrm_contribution`.`financial_type_id` IS NULL OR (`civicrm_contribution`.`financial_type_id` IN (1,2)))', $whereClause);
+    $this->setPermissions([
+      'view contributions of type Donation',
+      'view contributions of type Member Dues',
+      'view contributions of type Event Fee',
+    ]);
+
+    $whereClause = \CRM_Financial_BAO_FinancialType::buildPermissionedClause('contribution');
+    $this->assertEquals('(`civicrm_contribution`.`financial_type_id` IS NULL OR (`civicrm_contribution`.`financial_type_id` IN (1,4,2)))', $whereClause);
+  }
+
 }
diff --git a/civicrm/ext/flexmailer/docs/develop/CheckSendableEvent.md b/civicrm/ext/flexmailer/docs/develop/CheckSendableEvent.md
index a36d83f58cb9568eb1d244c08ab374c602f1177d..be73ee09a77150e75a3b835799386be86742110f 100644
--- a/civicrm/ext/flexmailer/docs/develop/CheckSendableEvent.md
+++ b/civicrm/ext/flexmailer/docs/develop/CheckSendableEvent.md
@@ -20,10 +20,13 @@ function mustache_civicrm_container($container) {
 }
 
 function _mustache_check_sendable(\Civi\FlexMailer\Event\CheckSendableEvent $e) {
-  if ($e->getMailing()->template_type !== 'mustache') return;
+  if ($e->getMailing()->template_type !== 'mustache') {
+    return;
+  }
 
   if (strpos('{{unsubscribeUrl}}', $e->getMailing()->body_html) === FALSE) {
     $e->setError('body_html:unsubscribeUrl', E::ts('Please include the token {{unsubscribeUrl}}'));
   }
 }
+
 ```
diff --git a/civicrm/ext/flexmailer/docs/develop/ComposeBatchEvent.md b/civicrm/ext/flexmailer/docs/develop/ComposeBatchEvent.md
index 80bd17cc580a50c7e6b5063634dfedbfa2f772ad..e19d3e892b5362a5a43bc0521895700ad73c48d3 100644
--- a/civicrm/ext/flexmailer/docs/develop/ComposeBatchEvent.md
+++ b/civicrm/ext/flexmailer/docs/develop/ComposeBatchEvent.md
@@ -31,11 +31,15 @@ function mustache_civicrm_container($container) {
 }
 
 function _mustache_compose_batch(\Civi\FlexMailer\Event\ComposeBatchEvent $event) {
-  if ($event->getMailing()->template_type !== 'mustache') return;
+  if ($event->getMailing()->template_type !== 'mustache') {
+    return;
+  }
 
   $m = new Mustache_Engine();
   foreach ($event->getTasks() as $task) {
-    if ($task->hasContent()) continue;
+    if ($task->hasContent()) {
+      continue;
+    }
     $contact = civicrm_api3('Contact', 'getsingle', array(
       'id' => $task->getContactId(),
     ));
@@ -43,6 +47,7 @@ function _mustache_compose_batch(\Civi\FlexMailer\Event\ComposeBatchEvent $event
     $task->setMailParam('html', $m->render($event->getMailing()->body_html, $contact));
   }
 }
+
 ```
 
 This implementation is naive in a few ways -- it performs separate SQL queries for each recipient; it doesn't optimize
diff --git a/civicrm/ext/flexmailer/docs/develop/RunEvent.md b/civicrm/ext/flexmailer/docs/develop/RunEvent.md
index a4fa5d25e0fe4cd9b44759589e2e408c3710b2af..289d466925ee467a2e357ac0d5b30ed9752e8396 100644
--- a/civicrm/ext/flexmailer/docs/develop/RunEvent.md
+++ b/civicrm/ext/flexmailer/docs/develop/RunEvent.md
@@ -28,6 +28,7 @@ function example_civicrm_container($container) {
 function _example_run(\Civi\FlexMailer\Event\RunEvent $event) {
   printf("Starting work on job #%d for mailing #%d\n", $event->getJob()->id, $event->getMailing()->id);
 }
+
 ```
 
 !!! note "Stopping the `RunEvent` will stop FlexMailer."
diff --git a/civicrm/ext/flexmailer/docs/develop/SendBatchEvent.md b/civicrm/ext/flexmailer/docs/develop/SendBatchEvent.md
index dcba869b0bef5da7ab08765fff18de615c7ca0e0..0b88c36b59d251609b4d5adf1efcf32e4432ea4d 100644
--- a/civicrm/ext/flexmailer/docs/develop/SendBatchEvent.md
+++ b/civicrm/ext/flexmailer/docs/develop/SendBatchEvent.md
@@ -11,7 +11,8 @@ function example_civicrm_container($container) {
 }
 
 function _example_send_batch(\Civi\FlexMailer\Event\SendBatchEvent $event) {
-  $event->stopPropagation(); // Disable standard delivery
+  // Disable standard delivery
+  $event->stopPropagation();
 
   $context = stream_context_create(array(
     'http' => array(
@@ -20,6 +21,7 @@ function _example_send_batch(\Civi\FlexMailer\Event\SendBatchEvent $event) {
       'content' => serialize($event->getTasks()),
     ),
   ));
-  return file_get_contents('https://example.org/batch-delivery', false, $context);
+  return file_get_contents('https://example.org/batch-delivery', FALSE, $context);
 }
+
 ```
diff --git a/civicrm/ext/flexmailer/docs/develop/WalkBatchesEvent.md b/civicrm/ext/flexmailer/docs/develop/WalkBatchesEvent.md
index 346aefdc7d2440e418add6336c4c25046291a6ff..9703344bb021974da13e573f91fd4139f5c84d60 100644
--- a/civicrm/ext/flexmailer/docs/develop/WalkBatchesEvent.md
+++ b/civicrm/ext/flexmailer/docs/develop/WalkBatchesEvent.md
@@ -13,7 +13,8 @@ function example_civicrm_container($container) {
 }
 
 function _example_walk_batches(\Civi\FlexMailer\Event\WalkBatchesEvent $event) {
-  $event->stopPropagation(); // Disable standard delivery
+  // Disable standard delivery
+  $event->stopPropagation();
 
   while (...) {
     $tasks = array();
@@ -23,4 +24,5 @@ function _example_walk_batches(\Civi\FlexMailer\Event\WalkBatchesEvent $event) {
     $event->visit($tasks);
   }
 }
+
 ```
diff --git a/civicrm/ext/flexmailer/flexmailer.civix.php b/civicrm/ext/flexmailer/flexmailer.civix.php
index 0935d49cc32fd53f7720e5f6459da168a3a6b241..becfec49fc2e5b23b0f1147c59a58309d4cc03fa 100644
--- a/civicrm/ext/flexmailer/flexmailer.civix.php
+++ b/civicrm/ext/flexmailer/flexmailer.civix.php
@@ -91,9 +91,9 @@ function _flexmailer_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/flexmailer/info.xml b/civicrm/ext/flexmailer/info.xml
index a43a83c10d591825d32485ffee4b1794a5616957..b39af4bda89dbabe16eef365a4d2125c668e7a1b 100644
--- a/civicrm/ext/flexmailer/info.xml
+++ b/civicrm/ext/flexmailer/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-08-05</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>stable</develStage>
   <comments>
     FlexMailer is an email delivery engine which replaces the internal guts
diff --git a/civicrm/ext/greenwich/greenwich.civix.php b/civicrm/ext/greenwich/greenwich.civix.php
index a1903f1e9080d0accca211a24a4ba0017ecc7469..c7649fd1e97aa9f7cf85417997d0d1618d10b0e8 100644
--- a/civicrm/ext/greenwich/greenwich.civix.php
+++ b/civicrm/ext/greenwich/greenwich.civix.php
@@ -91,9 +91,9 @@ function _greenwich_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/greenwich/info.xml b/civicrm/ext/greenwich/info.xml
index eeb7a02714ccc2b79e0491ce874cf2747813c6ec..18d562e06b5cd397aba87fbcf97f4cafc99b131c 100644
--- a/civicrm/ext/greenwich/info.xml
+++ b/civicrm/ext/greenwich/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-07-21</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText.php b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText.php
index dcc3ea12f1769cd4b5c8e834b130e19c9fcde2ec..64cb9ba3c4c0326a02db4139cf0aa50bd4297a42 100644
--- a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText.php
+++ b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText.php
@@ -308,7 +308,7 @@ WHERE      t.table_name = 'Activity' AND
       }
     }
 
-    $form->add('select', 'table', ts('Tables'), $tables);
+    $form->add('select', 'table', ts('in...'), $tables);
 
     $form->assign('csID', $form->get('csid'));
 
diff --git a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Case.php b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Case.php
index dcc9bd71f498b0155aad8425790cd52a63c59838..dfd812c4c8e0a18f9dc3d3938b59e5f9eba71f2d 100644
--- a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Case.php
+++ b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Case.php
@@ -29,8 +29,7 @@ class CRM_Contact_Form_Search_Custom_FullText_Case extends CRM_Contact_Form_Sear
    * @return bool
    */
   public function isActive() {
-    $config = CRM_Core_Config::singleton();
-    return in_array('CiviCase', $config->enableComponents);
+    return CRM_Core_Component::isEnabled('CiviCase');
   }
 
   /**
diff --git a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Contribution.php b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Contribution.php
index 78ec8d6b20daa90753ce28f9bc7ef9a0fc2d0a97..913bb85cadb57e6b5a4a3c61c85cb2a4b1ebabfd 100644
--- a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Contribution.php
+++ b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Contribution.php
@@ -29,9 +29,8 @@ class CRM_Contact_Form_Search_Custom_FullText_Contribution extends CRM_Contact_F
    * @return bool
    */
   public function isActive() {
-    $config = CRM_Core_Config::singleton();
-    return in_array('CiviContribute', $config->enableComponents) &&
-    CRM_Core_Permission::check('access CiviContribute');
+    return CRM_Core_Component::isEnabled('CiviContribute') &&
+      CRM_Core_Permission::check('access CiviContribute');
   }
 
   /**
diff --git a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Membership.php b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Membership.php
index b56940cbed22225ee4dd598b956cdb52abad3820..3d142fe7e1823feb89cb9692f8ce9547893bb09e 100644
--- a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Membership.php
+++ b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Membership.php
@@ -29,9 +29,8 @@ class CRM_Contact_Form_Search_Custom_FullText_Membership extends CRM_Contact_For
    * @return bool
    */
   public function isActive() {
-    $config = CRM_Core_Config::singleton();
-    return in_array('CiviMember', $config->enableComponents) &&
-    CRM_Core_Permission::check('access CiviMember');
+    return CRM_Core_Component::isEnabled('CiviMember') &&
+      CRM_Core_Permission::check('access CiviMember');
   }
 
   /**
diff --git a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Participant.php b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Participant.php
index a24ce0d40731befa986d343675527d60e24077f7..7012b47dbf5367b1d30020c8068e82356575e714 100644
--- a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Participant.php
+++ b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Participant.php
@@ -29,9 +29,8 @@ class CRM_Contact_Form_Search_Custom_FullText_Participant extends CRM_Contact_Fo
    * @return bool
    */
   public function isActive() {
-    $config = CRM_Core_Config::singleton();
-    return in_array('CiviEvent', $config->enableComponents) &&
-    CRM_Core_Permission::check('view event participants');
+    return CRM_Core_Component::isEnabled('CiviEvent') &&
+      CRM_Core_Permission::check('view event participants');
   }
 
   /**
diff --git a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/Sample.php b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/Sample.php
index 70bc6b8f19a6c49c460e99ca9766a6bbd36bd28b..775dada57bf6b34fd9626f9b868f9ff234ec2e71 100644
--- a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/Sample.php
+++ b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/Sample.php
@@ -83,7 +83,7 @@ class CRM_Contact_Form_Search_Custom_Sample extends CRM_Contact_Form_Search_Cust
   /**
    * @param int $offset
    * @param int $rowcount
-   * @param null $sort
+   * @param string|null $sort
    * @param bool $returnSQL
    *
    * @return string
@@ -95,7 +95,7 @@ class CRM_Contact_Form_Search_Custom_Sample extends CRM_Contact_Form_Search_Cust
   /**
    * @param int $offset
    * @param int $rowcount
-   * @param null $sort
+   * @param string|null $sort
    * @param bool $includeContactIDs
    * @param bool $justIDs
    *
diff --git a/civicrm/ext/legacycustomsearches/info.xml b/civicrm/ext/legacycustomsearches/info.xml
index faad08e98ae97e0218e7d827a7458bbac226b568..22f7377fafe5d12d8cb936f2bac6a36a62754420 100644
--- a/civicrm/ext/legacycustomsearches/info.xml
+++ b/civicrm/ext/legacycustomsearches/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-07-25</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>stable</develStage>
   <tags>
     <tag>mgmt:hidden</tag>
diff --git a/civicrm/ext/legacycustomsearches/legacycustomsearches.civix.php b/civicrm/ext/legacycustomsearches/legacycustomsearches.civix.php
index 25b8eb3f5a61b5135ab46c12b9d2cf4efde30fd1..3cb227a420658792f2b8fabadb30fa7946f9eaba 100644
--- a/civicrm/ext/legacycustomsearches/legacycustomsearches.civix.php
+++ b/civicrm/ext/legacycustomsearches/legacycustomsearches.civix.php
@@ -91,9 +91,9 @@ function _legacycustomsearches_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/legacycustomsearches/templates/CRM/Contact/Form/Search/Custom/ContributionAggregate.tpl b/civicrm/ext/legacycustomsearches/templates/CRM/Contact/Form/Search/Custom/ContributionAggregate.tpl
index 68af3dd085fd04e7f57f9583a93f15a2b95bb370..781088fa9c12c047db50586523b8b4caaf9812df 100644
--- a/civicrm/ext/legacycustomsearches/templates/CRM/Contact/Form/Search/Custom/ContributionAggregate.tpl
+++ b/civicrm/ext/legacycustomsearches/templates/CRM/Contact/Form/Search/Custom/ContributionAggregate.tpl
@@ -26,7 +26,7 @@
               <td class="label" for="receive_date_relative">
                 <label>{ts}Contribution Dates{/ts}</label>
               </td>
-              {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="receive_date" colspan="2"}
+              {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="receive_date" to='' from='' colspan="2" class='' hideRelativeLabel=0}
             </tr>
             <tr class="crm-contact-custom-search-contributionDetails-form-block-financial_type">
                 <td class="label" for="financial_type_id">
diff --git a/civicrm/ext/legacycustomsearches/templates/CRM/Contact/Form/Search/Custom/FullText.tpl b/civicrm/ext/legacycustomsearches/templates/CRM/Contact/Form/Search/Custom/FullText.tpl
index d720d1843c9e89ab76a71d15477ce7d1a4e4fa80..2503715ca916673e6e20dc2eb1c79c1a47c9b38a 100644
--- a/civicrm/ext/legacycustomsearches/templates/CRM/Contact/Form/Search/Custom/FullText.tpl
+++ b/civicrm/ext/legacycustomsearches/templates/CRM/Contact/Form/Search/Custom/FullText.tpl
@@ -14,11 +14,11 @@
       <table class="form-layout-compressed">
         <tr>
           <td>
-            <label>{$form.text.label}</label>
+            {$form.text.label}
             {$form.text.html}
           </td>
           <td>
-            <label>{ts}in...{/ts}</label>
+            {$form.table.label}
             {$form.table.html}
           </td>
           <td>{$form.buttons.html} {help id="id-fullText"}</td>
diff --git a/civicrm/ext/message_admin/ang/crmMsgadm.css b/civicrm/ext/message_admin/ang/crmMsgadm.css
index db9eddc58cf3fba62c27dda81965f81a3ba15b5f..2b55bda45a5ee98064a6eca1987a3b2187674292 100644
--- a/civicrm/ext/message_admin/ang/crmMsgadm.css
+++ b/civicrm/ext/message_admin/ang/crmMsgadm.css
@@ -1,3 +1,3 @@
 .ui-dialog.crm-msgadm-dialog .ui-dialog-titlebar {
-  display:none;
+  display: none;
 }
diff --git a/civicrm/ext/message_admin/info.xml b/civicrm/ext/message_admin/info.xml
index 205ac768d2f407951ef9f1b9288007f59975ef90..062da0de187060384499dc027dfd1d39bb1692a4 100644
--- a/civicrm/ext/message_admin/info.xml
+++ b/civicrm/ext/message_admin/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-06-12</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/message_admin/message_admin.civix.php b/civicrm/ext/message_admin/message_admin.civix.php
index 3de3912c36558772205430f42214e5b313a62d87..483d0b9c07de561c071c2d2bd50d4571475d5ead 100644
--- a/civicrm/ext/message_admin/message_admin.civix.php
+++ b/civicrm/ext/message_admin/message_admin.civix.php
@@ -91,9 +91,9 @@ function _message_admin_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthClient.php b/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthClient.php
index 92d2f4378e2f542edd210995227bd88b264a5b8f..8ef1e32107b75efa33b4041a4f068270fc3d3b7c 100644
--- a/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthClient.php
+++ b/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthClient.php
@@ -6,7 +6,7 @@
  *
  * Generated from oauth-client/xml/schema/CRM/OAuth/OAuthClient.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:16542326ad093d2d6826a11f1576522e)
+ * (GenCodeChecksum:6d11e5e77e49b52267e60124c13d9fa4)
  */
 use CRM_OAuth_ExtensionUtil as E;
 
@@ -34,7 +34,9 @@ class CRM_OAuth_DAO_OAuthClient extends CRM_Core_DAO {
   /**
    * Internal Client ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -42,6 +44,8 @@ class CRM_OAuth_DAO_OAuthClient extends CRM_Core_DAO {
    * Provider
    *
    * @var string
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $provider;
 
@@ -49,41 +53,53 @@ class CRM_OAuth_DAO_OAuthClient extends CRM_Core_DAO {
    * Client ID
    *
    * @var string
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $guid;
 
   /**
    * Client Secret
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $secret;
 
   /**
    * Extra override options for the service (JSON)
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $options;
 
   /**
    * Is the client currently enabled?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * When the client was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When the client was created or modified.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
diff --git a/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthContactToken.php b/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthContactToken.php
index 691a37b578e277faa0b6e164209ffac32da6c176..65305eb68ea4e4ab4e9e209c993537f9b3ddac84 100644
--- a/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthContactToken.php
+++ b/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthContactToken.php
@@ -6,7 +6,7 @@
  *
  * Generated from oauth-client/xml/schema/CRM/OAuth/OAuthContactToken.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:48364c8d563f29a459f0c3ccbe4f1c8e)
+ * (GenCodeChecksum:1246756a94c72807dc6cb4bc2c70bb7e)
  */
 use CRM_OAuth_ExtensionUtil as E;
 
@@ -34,112 +34,144 @@ class CRM_OAuth_DAO_OAuthContactToken extends CRM_Core_DAO {
   /**
    * Token ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The tag specifies how this token will be used.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $tag;
 
   /**
    * Client ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $client_id;
 
   /**
    * Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Ex: authorization_code
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(31))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $grant_type;
 
   /**
    * List of scopes addressed by this token
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $scopes;
 
   /**
    * Ex: Bearer or MAC
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $token_type;
 
   /**
    * Token to present when accessing resources
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $access_token;
 
   /**
    * Expiration time for the access_token (seconds since epoch)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $expires;
 
   /**
    * Token to present when refreshing the access_token
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $refresh_token;
 
   /**
    * Identifier for the resource owner. Structure varies by service.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $resource_owner_name;
 
   /**
    * Cached details describing the resource owner
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $resource_owner;
 
   /**
    * ?? copied from OAuthSysToken
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $error;
 
   /**
    * The token response data, per AccessToken::jsonSerialize
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $raw;
 
   /**
    * When the token was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When the token was created or modified.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
diff --git a/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthSysToken.php b/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthSysToken.php
index 6e924542e9dd45152e43ce99ae5b74158588a290..ee08c34adaf947ed70beebecd3aaddc228a6a104 100644
--- a/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthSysToken.php
+++ b/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthSysToken.php
@@ -6,7 +6,7 @@
  *
  * Generated from oauth-client/xml/schema/CRM/OAuth/OAuthSysToken.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:75d2f40faea06bdd175a66124d1ac77d)
+ * (GenCodeChecksum:14387fad3c51ab994575b3cd759e6229)
  */
 use CRM_OAuth_ExtensionUtil as E;
 
@@ -34,105 +34,135 @@ class CRM_OAuth_DAO_OAuthSysToken extends CRM_Core_DAO {
   /**
    * Token ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The tag specifies how this token will be used.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $tag;
 
   /**
    * Client ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $client_id;
 
   /**
    * Ex: authorization_code
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(31))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $grant_type;
 
   /**
    * List of scopes addressed by this token
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $scopes;
 
   /**
    * Ex: Bearer or MAC
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $token_type;
 
   /**
    * Token to present when accessing resources
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $access_token;
 
   /**
    * Expiration time for the access_token (seconds since epoch)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $expires;
 
   /**
    * Token to present when refreshing the access_token
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $refresh_token;
 
   /**
    * Identifier for the resource owner. Structure varies by service.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $resource_owner_name;
 
   /**
    * Cached details describing the resource owner
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $resource_owner;
 
   /**
    * List of scopes addressed by this token
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $error;
 
   /**
    * The token response data, per AccessToken::jsonSerialize
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $raw;
 
   /**
    * When the token was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When the token was created or modified.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
diff --git a/civicrm/ext/oauth-client/info.xml b/civicrm/ext/oauth-client/info.xml
index 962d7d44ff3d89a2649b4cbc98c8e78419fc79cc..6708b73e60b696be66cde71ddfa215eb13ff25b2 100644
--- a/civicrm/ext/oauth-client/info.xml
+++ b/civicrm/ext/oauth-client/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-10-23</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.38</ver>
diff --git a/civicrm/ext/oauth-client/oauth_client.civix.php b/civicrm/ext/oauth-client/oauth_client.civix.php
index f4fc3b04680b0b0cae0b4711363c39d34ad20094..3d9ae5d3f523f062ef5fa5a3b608c0eca9dfb785 100644
--- a/civicrm/ext/oauth-client/oauth_client.civix.php
+++ b/civicrm/ext/oauth-client/oauth_client.civix.php
@@ -91,9 +91,9 @@ function _oauth_client_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/payflowpro/info.xml b/civicrm/ext/payflowpro/info.xml
index cda6ccc31bbb51df670440b31ae35100b855ef61..a0d5addf72599b3f01b534e10b2c0bd5d620edbb 100644
--- a/civicrm/ext/payflowpro/info.xml
+++ b/civicrm/ext/payflowpro/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-04-13</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.0</ver>
diff --git a/civicrm/ext/payflowpro/payflowpro.civix.php b/civicrm/ext/payflowpro/payflowpro.civix.php
index 981716e9d649b29cb3d41b777bd1c5be80a92756..02c9abccac903666a27290e5a44e6c249b7f62f9 100644
--- a/civicrm/ext/payflowpro/payflowpro.civix.php
+++ b/civicrm/ext/payflowpro/payflowpro.civix.php
@@ -91,9 +91,10 @@ function _payflowpro_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__
+    . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/recaptcha/info.xml b/civicrm/ext/recaptcha/info.xml
index 9a4d5e2c8df0345bbb1f7931eceb3f59ce8b0101..1c1f4bf2411b2617a2a5174f4f45cc48df32f4d5 100644
--- a/civicrm/ext/recaptcha/info.xml
+++ b/civicrm/ext/recaptcha/info.xml
@@ -13,7 +13,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-04-03</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/recaptcha/recaptcha.civix.php b/civicrm/ext/recaptcha/recaptcha.civix.php
index 3b0feb388075b8b465eead4a910e6169a222ad06..dc51b7677d30e4825d2dfc58400a451b6e486b10 100644
--- a/civicrm/ext/recaptcha/recaptcha.civix.php
+++ b/civicrm/ext/recaptcha/recaptcha.civix.php
@@ -91,9 +91,9 @@ function _recaptcha_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/search_kit/CRM/Search/DAO/SearchDisplay.php b/civicrm/ext/search_kit/CRM/Search/DAO/SearchDisplay.php
index c7dfeb7b1841287d35a2f8fe1e3e5ef1eead4089..3ecead830849f50f1960ad713156090b2bf6f65b 100644
--- a/civicrm/ext/search_kit/CRM/Search/DAO/SearchDisplay.php
+++ b/civicrm/ext/search_kit/CRM/Search/DAO/SearchDisplay.php
@@ -6,7 +6,7 @@
  *
  * Generated from org.civicrm.search_kit/xml/schema/CRM/Search/SearchDisplay.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6d44d0c212e3f352182cac098e4d44ac)
+ * (GenCodeChecksum:d67945fe44bd5c7f1822580239f044ab)
  */
 use CRM_Search_ExtensionUtil as E;
 
@@ -34,7 +34,9 @@ class CRM_Search_DAO_SearchDisplay extends CRM_Core_DAO {
   /**
    * Unique SearchDisplay ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -42,6 +44,8 @@ class CRM_Search_DAO_SearchDisplay extends CRM_Core_DAO {
    * Unique name for identifying search display
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
@@ -49,13 +53,17 @@ class CRM_Search_DAO_SearchDisplay extends CRM_Core_DAO {
    * Label for identifying search display to administrators
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * FK to saved search table.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $saved_search_id;
 
@@ -63,20 +71,26 @@ class CRM_Search_DAO_SearchDisplay extends CRM_Core_DAO {
    * Type of display
    *
    * @var string
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $type;
 
   /**
    * Configuration data for the search display
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $settings;
 
   /**
    * Skip permission checks and ACLs when running this display.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $acl_bypass;
 
@@ -213,7 +227,7 @@ class CRM_Search_DAO_SearchDisplay extends CRM_Core_DAO {
           'title' => E::ts('Search Display Settings'),
           'description' => E::ts('Configuration data for the search display'),
           'where' => 'civicrm_search_display.settings',
-          'default' => 'NULL',
+          'default' => NULL,
           'table_name' => 'civicrm_search_display',
           'entity' => 'SearchDisplay',
           'bao' => 'CRM_Search_DAO_SearchDisplay',
diff --git a/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/AbstractRunAction.php b/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/AbstractRunAction.php
index 795bb7d4922d1d31a9f9ae592a4a93369594a87e..d702f763357b860a4671cd2c65e95b1b71c094dc 100644
--- a/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/AbstractRunAction.php
+++ b/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/AbstractRunAction.php
@@ -94,19 +94,8 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
       throw new UnauthorizedException('Access denied');
     }
     $this->loadSavedSearch();
-    if (is_string($this->display)) {
-      $this->display = SearchDisplay::get(FALSE)
-        ->setSelect(['*', 'type:name'])
-        ->addWhere('name', '=', $this->display)
-        ->addWhere('saved_search_id', '=', $this->savedSearch['id'])
-        ->execute()->single();
-    }
-    elseif (is_null($this->display)) {
-      $this->display = SearchDisplay::getDefault(FALSE)
-        ->addSelect('*', 'type:name')
-        ->setSavedSearch($this->savedSearch)
-        ->execute()->first();
-    }
+    $this->loadSearchDisplay();
+
     // Displays with acl_bypass must be embedded on an afform which the user has access to
     if (
       $this->checkPermissions && !empty($this->display['acl_bypass']) &&
@@ -203,8 +192,8 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
   }
 
   /**
-   * @param $column
-   * @param $data
+   * @param array $column
+   * @param array $data
    * @return array{val: mixed, links: array, edit: array, label: string, title: string, image: array, cssClass: string}
    */
   private function formatColumn($column, $data) {
@@ -217,7 +206,7 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
           $out['val'] = $this->replaceTokens($column['empty_value'], $data, 'view');
         }
         elseif ($column['rewrite']) {
-          $out['val'] = $this->replaceTokens($column['rewrite'], $data, 'view');
+          $out['val'] = $this->rewrite($column, $data);
         }
         else {
           $out['val'] = $this->formatViewValue($column['key'], $rawValue);
@@ -275,6 +264,23 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
     return $out;
   }
 
+  /**
+   * Rewrite field value, subtituting tokens and evaluating smarty tags
+   *
+   * @param array $column
+   * @param array $data
+   * @return string
+   */
+  private function rewrite(array $column, array $data): string {
+    $output = $this->replaceTokens($column['rewrite'], $data, 'view');
+    // Cheap strpos to skip Smarty processing if not needed
+    if (strpos($output, '{') !== FALSE) {
+      $smarty = \CRM_Core_Smarty::singleton();
+      $output = $smarty->fetchWith("string:$output", []);
+    }
+    return $output;
+  }
+
   /**
    * Evaluates conditional style rules
    *
@@ -306,10 +312,8 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
    */
   protected function getCssRuleCondition($clause) {
     $fieldKey = $clause[1] ?? NULL;
-    // For fields used in group by, add aggregation and change operator from = to CONTAINS
-    // FIXME: This assumes the operator is always set to '=', which so far is all the admin UI supports.
-    // That's only a safe assumption as long as the admin UI doesn't have an operator selector.
-    // @see ang/crmSearchAdmin/displays/common/searchAdminCssRules.html
+    // For fields used in group by, add aggregation and change operator to CONTAINS
+    // NOTE: This doesn't support any other operators for aggregated fields.
     if ($fieldKey && $this->canAggregate($fieldKey)) {
       $clause[2] = 'CONTAINS';
       $fieldKey = 'GROUP_CONCAT_' . str_replace(['.', ':'], '_', $clause[1]);
@@ -373,6 +377,9 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
       $out['text'] = $this->replaceTokens($column['text'], $data, 'view');
     }
     foreach ($column['links'] as $item) {
+      if (!$this->checkLinkCondition($item, $data)) {
+        continue;
+      }
       $path = $this->replaceTokens($this->getLinkPath($item, $data), $data, 'url');
       if ($path) {
         $link = [
@@ -390,6 +397,30 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
     return $out;
   }
 
+  /**
+   * Check if a link should be shown based on its conditions.
+   *
+   * Given a link, check if it is set to be displayed conditionally.
+   * If so, evaluate the condition, else return TRUE.
+   *
+   * @param array $item
+   * @param array $data
+   * @return bool
+   */
+  private function checkLinkCondition(array $item, array $data): bool {
+    if (empty($item['condition'][0]) || empty($item['condition'][1])) {
+      return TRUE;
+    }
+    $op = $item['condition'][1];
+    if ($item['condition'][0] === 'check user permission') {
+      if (!empty($item['condition'][2]) && !\CRM_Core_Permission::check($item['condition'][2])) {
+        return $op !== '=';
+      }
+      return TRUE;
+    }
+    return ArrayQueryActionTrait::filterCompare($data, $item['condition']);
+  }
+
   /**
    * @param array $link
    * @param array $data
@@ -483,7 +514,7 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
 
   /**
    * @param $key
-   * @return array{entity: string, input_type: string, data_type: string, options: bool, serialize: bool, fk_entity: string, value_key: string, value_path: string, id_key: string, id_path: string}|null
+   * @return array{entity: string, input_type: string, data_type: string, options: bool, serialize: bool, nullable: bool, fk_entity: string, value_key: string, value_path: string, id_key: string, id_path: string}|null
    */
   private function getEditableInfo($key) {
     [$key] = explode(':', $key);
@@ -506,6 +537,7 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
         'data_type' => $field['data_type'],
         'options' => !empty($field['options']),
         'serialize' => !empty($field['serialize']),
+        'nullable' => !empty($field['nullable']),
         'fk_entity' => $field['fk_entity'],
         'value_key' => $field['name'],
         'value_path' => $key,
@@ -545,7 +577,7 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
    * @return string
    */
   private function replaceTokens($tokenExpr, $data, $format, $index = 0) {
-    if ($tokenExpr) {
+    if (strpos($tokenExpr, '[') !== FALSE) {
       foreach ($this->getTokens($tokenExpr) as $token) {
         $val = $data[$token] ?? NULL;
         if (isset($val) && $format === 'view') {
@@ -1002,4 +1034,25 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
     }
   }
 
+  /**
+   * Loads display if not already an array
+   */
+  private function loadSearchDisplay(): void {
+    // Display name given
+    if (is_string($this->display)) {
+      $this->display = SearchDisplay::get(FALSE)
+        ->setSelect(['*', 'type:name'])
+        ->addWhere('name', '=', $this->display)
+        ->addWhere('saved_search_id', '=', $this->savedSearch['id'])
+        ->execute()->single();
+    }
+    // Null given - use default display
+    elseif (is_null($this->display)) {
+      $this->display = SearchDisplay::getDefault(FALSE)
+        ->addSelect('*', 'type:name')
+        ->setSavedSearch($this->savedSearch)
+        ->execute()->first();
+    }
+  }
+
 }
diff --git a/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/GetSearchTasks.php b/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/GetSearchTasks.php
index 94c332ccb67cd99950a407971b6a39338354ced5..165441a17356d48230de31edbaae03863771acac 100644
--- a/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/GetSearchTasks.php
+++ b/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/GetSearchTasks.php
@@ -61,6 +61,17 @@ class GetSearchTasks extends \Civi\Api4\Generic\AbstractAction {
         'icon' => 'fa-save',
         'uiDialog' => ['templateUrl' => '~/crmSearchTasks/crmSearchTaskUpdate.html'],
       ];
+
+      $taggable = \CRM_Core_OptionGroup::values('tag_used_for', FALSE, FALSE, FALSE, NULL, 'name');
+      if (in_array($entity['name'], $taggable, TRUE)) {
+        $tasks[$entity['name']]['tag'] = [
+          'module' => 'crmSearchTasks',
+          'title' => E::ts('Tag - Add/Remove Tags'),
+          'icon' => 'fa-tags',
+          'uiDialog' => ['templateUrl' => '~/crmSearchTasks/crmSearchTaskTag.html'],
+        ];
+      }
+
     }
 
     if (array_key_exists('delete', $entity['actions'])) {
@@ -75,13 +86,14 @@ class GetSearchTasks extends \Civi\Api4\Generic\AbstractAction {
     if ($entity['name'] === 'Contact') {
       // Add contact tasks which support standalone mode
       $contactTasks = $this->checkPermissions ? \CRM_Contact_Task::permissionedTaskTitles(\CRM_Core_Permission::getPermission()) : NULL;
+      // These tasks are redundant with the new api-based ones in SearchKit
+      $redundant = [\CRM_Core_Task::TAG_ADD, \CRM_Core_Task::TAG_REMOVE, \CRM_Core_Task::TASK_DELETE];
       foreach (\CRM_Contact_Task::tasks() as $id => $task) {
         if (
           (!$this->checkPermissions || isset($contactTasks[$id])) &&
           // Must support standalone mode (with a 'url' property)
           !empty($task['url']) &&
-          // The delete task is redundant with the new api-based one
-          $task['url'] !== 'civicrm/task/delete-contact'
+          !in_array($id, $redundant)
         ) {
           if ($task['url'] === 'civicrm/task/pick-profile') {
             $task['title'] = E::ts('Profile Update');
diff --git a/civicrm/ext/search_kit/Civi/Search/Admin.php b/civicrm/ext/search_kit/Civi/Search/Admin.php
index f8a8ecb96d16bb94ada962b6015492f329fc24a7..21f87cfff69b89fd3440159bbb196e2a35592fb0 100644
--- a/civicrm/ext/search_kit/Civi/Search/Admin.php
+++ b/civicrm/ext/search_kit/Civi/Search/Admin.php
@@ -25,16 +25,19 @@ use CRM_Search_ExtensionUtil as E;
 class Admin {
 
   /**
+   * Returns clientside data needed for the `crmSearchAdmin` Angular module.
+   *
    * @return array
    */
   public static function getAdminSettings():array {
     $schema = self::getSchema();
     $extensions = \CRM_Extension_System::singleton()->getMapper();
-    return [
+    $data = [
       'schema' => self::addImplicitFKFields($schema),
       'joins' => self::getJoins($schema),
       'pseudoFields' => AbstractRunAction::getPseudoFields(),
       'operators' => \CRM_Utils_Array::makeNonAssociative(self::getOperators()),
+      'permissions' => [],
       'functions' => self::getSqlFunctions(),
       'displayTypes' => Display::getDisplayTypes(['id', 'name', 'label', 'description', 'icon']),
       'styles' => \CRM_Utils_Array::makeNonAssociative(self::getStyles()),
@@ -49,9 +52,26 @@ class Admin {
         ->addWhere('used_for', 'CONTAINS', 'civicrm_saved_search')
         ->execute(),
     ];
+    $perms = \Civi\Api4\Permission::get()
+      ->addWhere('group', 'IN', ['civicrm', 'cms'])
+      ->addWhere('is_active', '=', 1)
+      ->setOrderBy(['title' => 'ASC'])
+      ->execute();
+    foreach ($perms as $perm) {
+      $data['permissions'][] = [
+        'id' => $perm['name'],
+        'text' => $perm['title'],
+        'description' => $perm['description'] ?? NULL,
+      ];
+    }
+    return $data;
   }
 
   /**
+   * Returns operators supported by SearchKit with translated labels.
+   *
+   * This is a subset of APIv4 operators; some redundant ones are omitted for clarity.
+   *
    * @return string[]
    */
   public static function getOperators():array {
@@ -66,9 +86,9 @@ class Admin {
       'IN' => E::ts('Is One Of'),
       'NOT IN' => E::ts('Not One Of'),
       'LIKE' => E::ts('Is Like'),
-      'REGEXP' => E::ts('Matches Regexp'),
       'NOT LIKE' => E::ts('Not Like'),
-      'NOT REGEXP' => E::ts('Not Regexp'),
+      'REGEXP' => E::ts('Matches Pattern'),
+      'NOT REGEXP' => E::ts("Doesn't Match Pattern"),
       'BETWEEN' => E::ts('Is Between'),
       'NOT BETWEEN' => E::ts('Not Between'),
       'IS EMPTY' => E::ts('Is Empty'),
@@ -77,6 +97,8 @@ class Admin {
   }
 
   /**
+   * Returns list of css style names (based on Bootstrap3).
+   *
    * @return string[]
    */
   public static function getStyles():array {
@@ -92,10 +114,11 @@ class Admin {
   }
 
   /**
-   * Fetch all entities the current user has permission to `get`
-   * @return array
+   * Fetch all entities the current user has permission to `get`.
+   *
+   * @return array[]
    */
-  public static function getSchema() {
+  public static function getSchema(): array {
     $schema = [];
     $entities = \Civi\Api4\Entity::get()
       ->addSelect('name', 'title', 'title_plural', 'bridge_title', 'type', 'primary_key', 'description', 'label_field', 'icon', 'dao', 'bridge', 'ui_join_filters', 'searchable', 'order_by')
@@ -113,7 +136,7 @@ class Admin {
           $entity['links'] = array_values($links);
         }
         $getFields = civicrm_api4($entity['name'], 'getFields', [
-          'select' => ['name', 'title', 'label', 'description', 'type', 'options', 'input_type', 'input_attrs', 'data_type', 'serialize', 'entity', 'fk_entity', 'readonly', 'operators'],
+          'select' => ['name', 'title', 'label', 'description', 'type', 'options', 'input_type', 'input_attrs', 'data_type', 'serialize', 'entity', 'fk_entity', 'readonly', 'operators', 'nullable'],
           'where' => [['name', 'NOT IN', ['api_key', 'hash']]],
           'orderBy' => ['label'],
         ]);
@@ -140,12 +163,14 @@ class Admin {
   }
 
   /**
-   * Add in FK fields for implicit joins
-   * For example, add a `campaign_id.title` field to the Contribution entity
-   * @param $schema
+   * Add in FK fields for implicit joins.
+   *
+   * For example, add a `campaign_id.title` field to the Contribution entity.
+   *
+   * @param array $schema
    * @return array
    */
-  private static function addImplicitFKFields($schema) {
+  private static function addImplicitFKFields(array $schema):array {
     foreach ($schema as &$entity) {
       if ($entity['searchable'] !== 'bridge') {
         foreach (array_reverse($entity['fields'], TRUE) as $index => $field) {
@@ -172,10 +197,12 @@ class Admin {
   }
 
   /**
+   * Find all the ways each entity can be joined.
+   *
    * @param array $allowedEntities
    * @return array
    */
-  public static function getJoins(array $allowedEntities) {
+  public static function getJoins(array $allowedEntities):array {
     $joins = [];
     foreach ($allowedEntities as $entity) {
       // Multi-record custom field groups (to-date only the contact entity supports these)
@@ -221,7 +248,7 @@ class Admin {
               // Sanity check - keyField must exist
               !$keyField ||
               // Exclude any joins that are better represented by pseudoconstants
-              is_a($reference, 'CRM_Core_Reference_OptionValue') || !empty($keyField['options']) ||
+              is_a($reference, 'CRM_Core_Reference_OptionValue') ||
               // Sanity check - table should match
               $daoClass::getTableName() !== $reference->getReferenceTable()
             ) {
@@ -316,6 +343,8 @@ class Admin {
   }
 
   /**
+   * Find the reference for a given fieldName.
+   *
    * @param string $fieldName
    * @param \CRM_Core_Reference_Basic[] $references
    * @return \CRM_Core_Reference_Basic
@@ -329,15 +358,15 @@ class Admin {
   }
 
   /**
-   * Boilerplate join clause
+   * Fill in boilerplate join clause with supplied values.
    *
    * @param string $nearCol
    * @param string $farCol
-   * @param string $targetTable
+   * @param string|null $targetTable
    * @param string|null $dynamicCol
    * @return array[]
    */
-  private static function getJoinConditions($nearCol, $farCol, $targetTable = NULL, $dynamicCol = NULL) {
+  private static function getJoinConditions(string $nearCol, string $farCol, string $targetTable = NULL, string $dynamicCol = NULL):array {
     $conditions = [
       [
         $nearCol,
@@ -356,11 +385,13 @@ class Admin {
   }
 
   /**
-   * @param $alias
+   * Calculate default conditions for a join.
+   *
+   * @param string $alias
    * @param array ...$entities
    * @return array
    */
-  private static function getJoinDefaults($alias, ...$entities):array {
+  private static function getJoinDefaults(string $alias, ...$entities):array {
     $conditions = [];
     foreach ($entities as $entity) {
       foreach ($entity['ui_join_filters'] ?? [] as $fieldName) {
@@ -387,7 +418,14 @@ class Admin {
     return $conditions;
   }
 
-  private static function getSqlFunctions() {
+  /**
+   * Get all sql functions that can be used in SearchKit.
+   *
+   * Includes the generic "Arithmetic" pseudo-function.
+   *
+   * @return array
+   */
+  private static function getSqlFunctions():array {
     $functions = \CRM_Api4_Page_Api4Explorer::getSqlFunctions();
     // Add faux function "e" for SqlEquations
     $functions[] = [
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin.module.js b/civicrm/ext/search_kit/ang/crmSearchAdmin.module.js
index 7edab31d64fa146fb880bcb15f0346053bfd6847..dcfd9ee9b9054a2328961b2d1d5fddde5c7b641c 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin.module.js
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin.module.js
@@ -72,22 +72,6 @@
       if (!this.tab) {
         this.tab = this.tabs[0].name;
       }
-
-      this.openImportDialog = function() {
-        var options = CRM.utils.adjustDialogDefaults({
-          autoOpen: false,
-          title: ts('Import Saved Search')
-        });
-        dialogService.open('crmSearchAdminImport', '~/crmSearchAdmin/searchListing/import.html', {}, options)
-          .then(function() {
-            // Refresh the custom tab by resetting the filters
-            ctrl.tabs[0].filters = {};
-            // Timeout ensures the change gets noticed by the display's $watch
-            $timeout(function() {
-              ctrl.tabs[0].filters = {has_base: false};
-            }, 300);
-          }, _.noop);
-      };
     })
 
     // Controller for creating a new search
@@ -184,7 +168,7 @@
         }
         // Might be a pseudoField
         if (!field) {
-          field = _.cloneDeep(_.find(CRM.crmSearchAdmin.pseudoFields, {name: name}));
+          field = _.find(CRM.crmSearchAdmin.pseudoFields, {name: name});
         }
         if (field) {
           field.baseEntity = entityName;
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminImport.html b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminImport.html
index 64872d10d70c6285b611ddcb6c78f35b5d24cf87..153b5dc2cb6cfc4a6b1bd8cf47c7af3271a53f91 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminImport.html
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminImport.html
@@ -2,7 +2,7 @@
   <div class="alert alert-info">
     <p>
       <i class="crm-i fa-info-circle"></i>
-      {{:: ts('A Search configuration copied from the "Export" action can be pasted here.') }}
+      {{:: ts('Search configuration copied from the "Export" action can be pasted here.') }}
     </p>
     <p>
       {{:: ts('Note: a Saved Search with the same name must not already exist.') }}
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminLinkGroup.component.js b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminLinkGroup.component.js
index 6623f2933dcf0ebbaa009289eaccf21608496617..4956b302de4ec8ada120ecc01e83ba7911ca19b7 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminLinkGroup.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminLinkGroup.component.js
@@ -8,11 +8,19 @@
       apiParams: '<',
       links: '<'
     },
+    require: {
+      crmSearchAdmin: '^crmSearchAdmin'
+    },
     templateUrl: '~/crmSearchAdmin/crmSearchAdminLinkGroup.html',
     controller: function ($scope, $element, $timeout, searchMeta) {
       var ts = $scope.ts = CRM.ts('org.civicrm.search_kit'),
         ctrl = this,
-        linkProps = ['path', 'entity', 'action', 'join', 'target', 'icon', 'text', 'style'];
+        linkProps = ['path', 'entity', 'action', 'join', 'target', 'icon', 'text', 'style', 'condition'];
+
+      ctrl.permissionOperators = [
+        {key: '=', value: ts('Has')},
+        {key: '!=', value: ts('Lacks')}
+      ];
 
       this.styles = CRM.crmSearchAdmin.styles;
 
@@ -20,6 +28,26 @@
         return _.findWhere(this.styles, {key: item.style});
       };
 
+      this.getField = searchMeta.getField;
+
+      this.fields = function() {
+        var selectFields = ctrl.crmSearchAdmin.getSelectFields();
+        var permissionField = [{
+          text: ts('Current User Permission'),
+          id: 'check user permission',
+          description: ts('Check permission of logged-in user')
+        }];
+        return {results: permissionField.concat(selectFields)};
+      };
+
+      this.onChangeCondition = function(item) {
+        if (item.condition[0]) {
+          item.condition[1] = '=';
+        } else {
+          item.condition = [];
+        }
+      };
+
       this.sortableOptions = {
         containment: 'tbody',
         direction: 'vertical',
@@ -32,23 +60,31 @@
         }
       };
 
+      this.permissions = CRM.crmSearchAdmin.permissions;
+
       $scope.pickIcon = function(index) {
         searchMeta.pickIcon().then(function(icon) {
           ctrl.group[index].icon = icon;
         });
       };
 
+      function setDefaults(item, newValue) {
+        _.each(linkProps, function(prop) {
+          item[prop] = newValue[prop] || (prop === 'condition' ? [] : '');
+        });
+      }
+
       this.addItem = function(item) {
-        ctrl.group.push(_.pick(item, linkProps));
+        var newItem = _.pick(item, linkProps);
+        setDefaults(newItem, newItem);
+        ctrl.group.push(newItem);
       };
 
       this.onChangeLink = function(item, newValue) {
         if (newValue.path === 'civicrm/') {
           newValue = JSON.parse(this.default);
         }
-        _.each(linkProps, function(prop) {
-          item[prop] = newValue[prop] || '';
-        });
+        setDefaults(item, newValue);
       };
 
       this.serialize = JSON.stringify;
@@ -58,11 +94,15 @@
           style: 'default',
           text: ts('Link'),
           icon: 'fa-external-link',
+          condition: [],
           path: 'civicrm/'
         });
         var defaultLinks = _.filter(ctrl.links, function(link) {
           return !link.join;
         });
+        _.each(ctrl.group, function(item) {
+          setDefaults(item, item);
+        });
         if (!ctrl.group.length) {
           if (defaultLinks.length) {
             _.each(defaultLinks, ctrl.addItem);
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminLinkGroup.html b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminLinkGroup.html
index fc67712617b117b73cd60d7ced13ad77c7ce980d..51d0d2a47c7a61f14edd6f23218734a90fcc70be 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminLinkGroup.html
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminLinkGroup.html
@@ -6,6 +6,7 @@
       <th>{{:: ts('Open') }}</th>
       <th>{{:: ts('Text') }}</th>
       <th>{{:: ts('Link') }}</th>
+      <th>{{:: ts('Show if') }}</th>
       <th>{{:: ts('Style') }}</th>
       <th class="crm-search-admin-icon-col"></th>
     </tr>
@@ -34,6 +35,20 @@
       <td class="form-inline">
         <crm-search-admin-link-select api-entity="$ctrl.apiEntity" api-params="$ctrl.apiParams" link="item" links="$ctrl.links" on-change="$ctrl.onChangeLink(item, newLink)"></crm-search-admin-link-select>
       </td>
+      <td class="form-inline">
+        <input ng-model="item.condition[0]" crm-ui-select="{placeholder: item.action ? ts('Allowed') : ts('Always'), data: $ctrl.fields}" ng-change="$ctrl.onChangeCondition(item)">
+        <div class="form-group" ng-if="item.condition[0] === 'check user permission'">
+          <select class="form-control api4-operator" ng-model="item.condition[1]" ng-options="o.key as o.value for o in $ctrl.permissionOperators"></select>
+          <input class="form-control" crm-ui-select="{data: $ctrl.permissions}" ng-model="item.condition[2]">
+        </div>
+        <crm-search-condition class="form-group"
+          ng-if="item.condition[0] && item.condition[0] !== 'check user permission'"
+          clause="item.condition"
+          field="$ctrl.getField(item.condition[0])"
+          offset="1"
+          option-key="'name'">
+        </crm-search-condition>
+      </td>
       <td>
         <div class="btn-group">
           <button type="button" style="min-width: 85px" class="btn btn-{{ item.style }} dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminTokenSelect.component.js b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminTokenSelect.component.js
index 3b4642dd9b065f45f5775e4f30428c0d25ada808..b5942976fbee7a29107a70b5feba6c3ce7f6975d 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminTokenSelect.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminTokenSelect.component.js
@@ -28,14 +28,8 @@
 
       this.getTokens = function() {
         var allFields = ctrl.admin.getAllFields(ctrl.suffix || '', ['Field', 'Custom', 'Extra', 'Pseudo']);
-        _.eachRight(ctrl.admin.savedSearch.api_params.select, function(fieldName) {
-          allFields.unshift({
-            id: _.last(fieldName.split(' AS ')),
-            text: searchMeta.getDefaultLabel(fieldName)
-          });
-        });
         return {
-          results: allFields
+          results: ctrl.admin.getSelectFields().concat(allFields)
         };
       };
 
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchClause.component.js b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchClause.component.js
index 8b9762669389d6d0015e750a745eda88a379509e..cd235a73128d0853aa2e035cf29b9a559db684a0 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchClause.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchClause.component.js
@@ -15,12 +15,11 @@
       deleteGroup: '&'
     },
     templateUrl: '~/crmSearchAdmin/crmSearchClause.html',
-    controller: function ($scope, $element, $timeout, searchMeta) {
+    controller: function ($scope, $element, searchMeta) {
       var ts = $scope.ts = CRM.ts('org.civicrm.search_kit'),
         ctrl = this,
         meta = {};
       this.conjunctions = {AND: ts('And'), OR: ts('Or'), NOT: ts('Not')};
-      this.operators = {};
       this.sortOptions = {
         axis: 'y',
         connectWith: '.api4-clause-group-sortable',
@@ -32,36 +31,8 @@
 
       this.$onInit = function() {
         ctrl.hasParent = !!$element.attr('delete-group');
-        _.each(ctrl.clauses, updateOperators);
       };
 
-      // Return a list of operators allowed for the field in a given clause
-      this.getOperators = function(clause) {
-        var field = ctrl.getField(clause[0]);
-        if (!field || !field.operators) {
-          return CRM.crmSearchAdmin.operators;
-        }
-        var opKey = field.operators.join();
-        if (!ctrl.operators[opKey]) {
-          ctrl.operators[opKey] = _.filter(CRM.crmSearchAdmin.operators, function(operator) {
-            return _.includes(field.operators, operator.key);
-          });
-        }
-        return ctrl.operators[opKey];
-      };
-
-      // Ensures a clause is using an operator that is allowed for the field
-      function updateOperators(clause) {
-        // Recurse into AND/OR/NOT groups
-        if (ctrl.conjunctions[clause[0]]) {
-          _.each(clause[1], updateOperators);
-        }
-        else if (!ctrl.skip && (!clause[1] || !_.includes(_.pluck(ctrl.getOperators(clause), 'key'), clause[1]))) {
-          clause[1] = ctrl.getOperators(clause)[0].key;
-          ctrl.changeClauseOperator(clause);
-        }
-      }
-
       // Gets the first arg of type "field"
       function getFirstArgFromExpr(expr) {
         if (!(expr in meta)) {
@@ -112,7 +83,6 @@
         if (value) {
           var newIndex = ctrl.clauses.length;
           ctrl.clauses.push([value, '=', '']);
-          updateOperators(ctrl.clauses[newIndex]);
         }
       };
 
@@ -124,34 +94,6 @@
       this.changeClauseField = function(clause, index) {
         if (clause[0] === '') {
           ctrl.deleteRow(index);
-        } else {
-          updateOperators(clause);
-        }
-      };
-
-      // Returns false for 'IS NULL', 'IS EMPTY', etc. true otherwise.
-      this.operatorTakesInput = function(operator) {
-        return operator.indexOf('IS ') !== 0;
-      };
-
-      this.changeClauseOperator = function(clause) {
-        // Add/remove value depending on whether operator allows for one
-        if (!ctrl.operatorTakesInput(clause[1])) {
-          clause.length = 2;
-        } else {
-          if (clause.length === 2) {
-            clause.push('');
-          }
-          // Change multi/single value to/from an array
-          var shouldBeArray = (clause[1] === 'IN' || clause[1] === 'NOT IN' || clause[1] === 'BETWEEN' || clause[1] === 'NOT BETWEEN');
-          if (!_.isArray(clause[2]) && shouldBeArray) {
-            clause[2] = [];
-          } else if (_.isArray(clause[2]) && !shouldBeArray) {
-            clause[2] = '';
-          }
-          if (clause[1] === 'BETWEEN' || clause[1] === 'NOT BETWEEN') {
-            clause[2].length = 2;
-          }
         }
       };
 
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchClause.html b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchClause.html
index 9cc00440cf333bb593a83afd5debba64417cdf7c..b5a3ef25fb478483fbf295ee7c94f1df84bf9ef5 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchClause.html
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchClause.html
@@ -19,8 +19,7 @@
         <span ng-if="!$ctrl.hasFunction(clause[0])">
           <input class="form-control collapsible-optgroups" ng-model="clause[0]" crm-ui-select="{data: $ctrl.fields, allowClear: true, placeholder: 'Field'}" ng-change="$ctrl.changeClauseField(clause, index)" />
         </span>
-        <select class="form-control api4-operator" ng-model="clause[1]" ng-options="o.key as o.value for o in $ctrl.getOperators(clause)" ng-change="$ctrl.changeClauseOperator(clause)" ></select>
-        <crm-search-input ng-if="$ctrl.operatorTakesInput(clause[1])" ng-model="clause[2]" field="$ctrl.getFieldOrFunction(clause[0])" option-key="$ctrl.getOptionKey(clause[0])" op="clause[1]" format="$ctrl.format" class="form-group"></crm-search-input>
+        <crm-search-condition clause="clause" field="$ctrl.getFieldOrFunction(clause[0])" offset="1" option-key="$ctrl.getOptionKey(clause[0])" format="$ctrl.format" class="form-group"></crm-search-condition>
       </div>
       <fieldset class="clearfix" ng-if="$ctrl.conjunctions[clause[0]]">
         <crm-search-clause allow-functions="$ctrl.allowFunctions" clauses="clause[1]" format="{{ $ctrl.format }}" op="{{ clause[0] }}" fields="$ctrl.fields" delete-group="$ctrl.deleteRow(index)" ></crm-search-clause>
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchCondition.component.js b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchCondition.component.js
new file mode 100644
index 0000000000000000000000000000000000000000..2e112b612048d15c8dd0ba0335a72527c6dd6ace
--- /dev/null
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchCondition.component.js
@@ -0,0 +1,115 @@
+(function(angular, $, _) {
+  "use strict";
+
+  angular.module('crmSearchAdmin').component('crmSearchCondition', {
+    bindings: {
+      field: '<',
+      clause: '<',
+      format: '<',
+      optionKey: '<',
+      offset: '<'
+    },
+    templateUrl: '~/crmSearchAdmin/crmSearchCondition.html',
+    controller: function ($scope) {
+      var ts = $scope.ts = CRM.ts('org.civicrm.search_kit'),
+        ctrl = this;
+      this.operators = {};
+
+      this.$onInit = function() {
+        $scope.$watch('$ctrl.field', updateOperators);
+      };
+
+      function getOperator() {
+        return ctrl.clause[ctrl.offset];
+      }
+
+      function setOperator(op) {
+        if (op !== getOperator()) {
+          ctrl.clause[ctrl.offset] = op;
+          ctrl.changeClauseOperator();
+        }
+      }
+
+      function getValue() {
+        return ctrl.clause[1 + ctrl.offset];
+      }
+
+      function setValue(val) {
+        ctrl.clause[1 + ctrl.offset] = val;
+      }
+
+      // Getter/setter for use with ng-model
+      this.getSetOperator = function(op) {
+        if (arguments.length) {
+          setOperator(op);
+        }
+        return getOperator();
+      };
+
+      // Getter/setter for use with ng-model
+      this.getSetValue = function(val) {
+        if (arguments.length) {
+          setValue(val);
+        }
+        return getValue();
+      };
+
+      // Return a list of operators allowed for the current field
+      this.getOperators = function() {
+        var field = ctrl.field || {},
+          allowedOps = field.operators;
+        if (!allowedOps && field.data_type === 'Boolean') {
+          allowedOps = ['=', '!=', 'IS EMPTY', 'IS NOT EMPTY'];
+        }
+        if (!allowedOps && _.includes(['Boolean', 'Float', 'Date'], field.data_type)) {
+          allowedOps = ['=', '!=', '<', '>', '<=', '>=', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN', 'IS EMPTY', 'IS NOT EMPTY'];
+        }
+        if (!allowedOps) {
+          return CRM.crmSearchAdmin.operators;
+        }
+        var opKey = allowedOps.join();
+        if (!ctrl.operators[opKey]) {
+          ctrl.operators[opKey] = _.filter(CRM.crmSearchAdmin.operators, function(operator) {
+            return _.includes(allowedOps, operator.key);
+          });
+        }
+        return ctrl.operators[opKey];
+      };
+
+      // Ensures clause is using an operator that is allowed for the field
+      function updateOperators() {
+        if ((!getOperator() || !_.includes(_.pluck(ctrl.getOperators(), 'key'), getOperator()))) {
+          setOperator(ctrl.getOperators()[0].key);
+        }
+      }
+
+      // Returns false for 'IS NULL', 'IS EMPTY', etc. true otherwise.
+      this.operatorTakesInput = function() {
+        return getOperator().indexOf('IS ') !== 0;
+      };
+
+      this.changeClauseOperator = function() {
+        // Add/remove value depending on whether operator allows for one
+        if (!ctrl.operatorTakesInput()) {
+          ctrl.clause.length = ctrl.offset + 1;
+        } else {
+          if (ctrl.clause.length === ctrl.offset + 1) {
+            ctrl.clause.push('');
+          }
+          // Change multi/single value to/from an array
+          var shouldBeArray = _.includes(['IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'], getOperator());
+          if (!_.isArray(getValue()) && shouldBeArray) {
+            setValue([]);
+          } else if (_.isArray(getValue()) && !shouldBeArray) {
+            setValue('');
+          }
+          if (_.includes(['BETWEEN', 'NOT BETWEEN'], getOperator())) {
+            getValue().length = 2;
+          }
+        }
+      };
+
+    }
+  });
+
+})(angular, CRM.$, CRM._);
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchCondition.html b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchCondition.html
new file mode 100644
index 0000000000000000000000000000000000000000..f1c149de3a5e6b9b77423b04e6395afc5d52392c
--- /dev/null
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchCondition.html
@@ -0,0 +1,2 @@
+<select class="form-control api4-operator" ng-model="$ctrl.getSetOperator" ng-model-options="{getterSetter: true}" ng-options="o.key as o.value for o in $ctrl.getOperators()" ng-change="$ctrl.changeClauseOperator()" ></select>
+<crm-search-input ng-if="$ctrl.operatorTakesInput()" ng-model="$ctrl.getSetValue" ng-model-options="{getterSetter: true}" field="$ctrl.field" option-key="$ctrl.optionKey" op="$ctrl.getSetOperator()" format="$ctrl.format" class="form-group"></crm-search-input>
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/displays/common/searchAdminCssRules.component.js b/civicrm/ext/search_kit/ang/crmSearchAdmin/displays/common/searchAdminCssRules.component.js
index b19ade12fd409e3ef07e25d57e7f8301203eca7a..3111e4a8b5282fccec4f4dfdcdd3b23f90eeba57 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/displays/common/searchAdminCssRules.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/displays/common/searchAdminCssRules.component.js
@@ -28,7 +28,10 @@
       this.styles.strikethrough = ts('Strikethrough');
 
       this.fields = function() {
-        return {results: ctrl.crmSearchAdmin.getAllFields(':name', ['Field', 'Custom', 'Extra'])};
+        var allFields = ctrl.crmSearchAdmin.getAllFields(':name', ['Field', 'Custom', 'Extra', 'Pseudo']);
+        return {
+          results: ctrl.crmSearchAdmin.getSelectFields().concat(allFields)
+        };
       };
 
       this.$onInit = function() {
@@ -61,8 +64,6 @@
         return !this.item.cssRules || !this.item.cssRules.length || _.last(this.item.cssRules)[1];
       };
 
-
-
     }
   });
 
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/displays/common/searchAdminCssRules.html b/civicrm/ext/search_kit/ang/crmSearchAdmin/displays/common/searchAdminCssRules.html
index cf9e7db74559250c1d926a2896a00c564141d4dc..662ebfa16ac728556aebeb36c3f8aa8c41aec5fc 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/displays/common/searchAdminCssRules.html
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/displays/common/searchAdminCssRules.html
@@ -22,9 +22,7 @@
   </div>
   <label>{{:: ts('If') }}</label>
   <input class="form-control collapsible-optgroups" ng-model="clause[1]" crm-ui-select="::{data: $ctrl.fields, allowClear: true, placeholder: ts('Always')}" ng-change="$ctrl.onSelectField(clause)" />
-  <!-- TODO: Support operators other than '=' as clause[2] -->
-  <label ng-if="clause[1]">{{:: ts('Is') }}</label>
-  <crm-search-input ng-if="clause[1]" ng-model="clause[3]" field="$ctrl.getField(clause[1])" option-key="'name'" op="clause[1]" format="$ctrl.format" class="form-group"></crm-search-input>
+  <crm-search-condition ng-if="clause[1]" clause="clause" field="$ctrl.getField(clause[1])" offset="2" option-key="'name'" format="$ctrl.format" class="form-group"></crm-search-condition>
   <button type="button" class="btn-xs btn-danger-outline" ng-click="$ctrl.item.cssRules.splice($index);" title="{{:: ts('Remove style') }}">
     <i class="crm-i fa-ban"></i>
   </button>
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/buttons.html b/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/buttons.html
index af8fde59a196e2901f4fd6176f510c81c66c9882..f77738780ca27b0c26bf1850f4d697455d140826 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/buttons.html
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/buttons.html
@@ -20,7 +20,7 @@
       </a>
     </li>
     <li title="{{:: ts('Export this saved search to a file') }}">
-      <a href ng-click="$ctrl.export(row)">
+      <a href crm-dialog-popup="crmSearchAdminExport" popup-data="row" popup-tpl="~/crmSearchAdmin/searchListing/export.html" title="{{:: ts('Export %1', {1: row.data.label}) }}">
         <i class="crm-i fa-download"></i>
         {{:: ts('Export...') }}
       </a>
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/crmSearchAdminSearchListing.component.js b/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/crmSearchAdminSearchListing.component.js
index 519557734cfbb4eaf2c918272226f6ba7c03dfd0..80fbb1043256ad4fccc136bafd1f3802b6c9cea7 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/crmSearchAdminSearchListing.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/crmSearchAdminSearchListing.component.js
@@ -8,7 +8,7 @@
       tabCount: '='
     },
     templateUrl: '~/crmSearchDisplayTable/crmSearchDisplayTable.html',
-    controller: function($scope, $q, crmApi4, crmStatus, searchMeta, searchDisplayBaseTrait, searchDisplaySortableTrait, dialogService) {
+    controller: function($scope, $element, $q, crmApi4, crmStatus, searchMeta, searchDisplayBaseTrait, searchDisplaySortableTrait) {
       var ts = $scope.ts = CRM.ts('org.civicrm.search_kit'),
         // Mix in traits to this controller
         ctrl = angular.extend(this, searchDisplayBaseTrait, searchDisplaySortableTrait),
@@ -61,7 +61,7 @@
 
       this.$onInit = function() {
         buildDisplaySettings();
-        this.initializeDisplay($scope, $());
+        this.initializeDisplay($scope, $element);
         // Keep tab counts up-to-date - put rowCount in current tab if there are no other filters
         $scope.$watch('$ctrl.rowCount', function(val) {
           if (typeof val === 'number' && angular.equals(['has_base'], _.keys(ctrl.filters))) {
@@ -160,15 +160,6 @@
         );
       };
 
-      this.export = function(row) {
-        var options = CRM.utils.adjustDialogDefaults({
-          autoOpen: false,
-          height: 600,
-          title: ts('Export %1', {1: row.data.label})
-        });
-        dialogService.open('crmSearchAdminExport', '~/crmSearchAdmin/searchListing/export.html', row, options);
-      };
-
       function buildDisplaySettings() {
         ctrl.display = {
           type: 'table',
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/searchList.html b/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/searchList.html
index 9eaa2bfda105769c7fd4c663d58cd137b1756017..770e7b72360972796807e3af1fa89ed8006a9515 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/searchList.html
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/searchList.html
@@ -1,4 +1,4 @@
-<div id="bootstrap-theme" class="crm-search">
+<form id="bootstrap-theme" class="crm-search">
   <h1 crm-page-title>{{:: ts('Saved Searches') }}</h1>
 
   <!-- Tabs based on the has_base filter -->
@@ -28,11 +28,11 @@
       <span ng-if="$ctrl.getTags().results.length">
         <input class="form-control" ng-model="tab.filters.tags" ng-list crm-ui-select="{multiple: true, data: $ctrl.getTags, placeholder: ts('Filter by tags...')}">
       </span>
-      <a class="btn btn-secondary btn-sm pull-right" ng-if="tab.name === 'custom'" href ng-click="$ctrl.openImportDialog()">
+      <a class="btn btn-secondary btn-sm pull-right" ng-if="tab.name === 'custom'" href crm-dialog-popup="crmSearchAdminImport" popup-tpl="~/crmSearchAdmin/searchListing/import.html">
         <i class="crm-i fa-upload"></i>
         {{:: ts('Import') }}
       </a>
     </div>
     <crm-search-admin-search-listing filters="tab.filters" tab-count="tab.rowCount"></crm-search-admin-search-listing>
   </div>
-</div>
+</form>
diff --git a/civicrm/ext/search_kit/ang/crmSearchDisplay/crmSearchDisplayEditable.component.js b/civicrm/ext/search_kit/ang/crmSearchDisplay/crmSearchDisplayEditable.component.js
index 052b9dcfbc5f7bc3f618b0229ec925465758c120..f205e4a3aa050cd801f226f5c6fb47f2e3a462bc 100644
--- a/civicrm/ext/search_kit/ang/crmSearchDisplay/crmSearchDisplayEditable.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchDisplay/crmSearchDisplayEditable.component.js
@@ -29,6 +29,7 @@
           options: col.edit.options,
           fk_entity: col.edit.fk_entity,
           serialize: col.edit.serialize,
+          nullable: col.edit.nullable
         };
 
         $(document).on('keydown.crmSearchDisplayEditable', function(e) {
@@ -36,8 +37,6 @@
             $scope.$apply(function() {
               ctrl.cancel();
             });
-          } else if (e.key === 'Enter') {
-            $scope.$apply(ctrl.save);
           }
         });
 
@@ -71,7 +70,7 @@
           action: 'update',
           select: ['options'],
           loadOptions: ['id', 'name', 'label', 'description', 'color', 'icon'],
-          where: [['name', '=', ctrl.field.name]],
+          where: [['name', '=', ctrl.field.name]]
         }, 0).then(function(field) {
           ctrl.field.options = optionsCache[cacheKey] = field.options;
         });
diff --git a/civicrm/ext/search_kit/ang/crmSearchDisplay/crmSearchDisplayEditable.html b/civicrm/ext/search_kit/ang/crmSearchDisplay/crmSearchDisplayEditable.html
index d0d8eca08f3cfb3caa1dbe3ec9f9ec2802455304..767c642294701081874194ed7587ced429b9a9fc 100644
--- a/civicrm/ext/search_kit/ang/crmSearchDisplay/crmSearchDisplayEditable.html
+++ b/civicrm/ext/search_kit/ang/crmSearchDisplay/crmSearchDisplayEditable.html
@@ -1,9 +1,11 @@
-<crm-search-input class="form-inline" field="$ctrl.field" ng-model="$ctrl.value"></crm-search-input>
-<div class="form-inline crm-search-display-editable-buttons">
-  <button type="button" ng-click="$ctrl.save()" class="btn btn-xs btn-success">
-    <i class="crm-i fa-check"></i>
-  </button>
-  <button type="button" ng-click="$ctrl.cancel()" class="btn btn-xs btn-danger">
-    <i class="crm-i fa-times"></i>
-  </button>
-</div>
+<form name="crmSearchDisplayEditableForm">
+  <crm-search-input class="form-inline" field="$ctrl.field" ng-model="$ctrl.value"></crm-search-input>
+  <div class="form-inline crm-search-display-editable-buttons">
+    <button type="submit" ng-disabled="!crmSearchDisplayEditableForm.$valid" ng-click="$ctrl.save()" class="btn btn-xs btn-success">
+      <i class="crm-i fa-check"></i>
+    </button>
+    <button type="button" ng-click="$ctrl.cancel()" class="btn btn-xs btn-danger">
+      <i class="crm-i fa-times"></i>
+    </button>
+  </div>
+</form>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchBatchRunner.component.js b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchBatchRunner.component.js
index 415d44d68a306c0c98d95d2a45ba4aaa5750f1e9..6b910d825af1cf2a186fbf4289398642dc41aae3 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchBatchRunner.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchBatchRunner.component.js
@@ -6,6 +6,7 @@
       entity: '<',
       action: '@',
       ids: '<',
+      idField: '@',
       params: '<',
       success: '&',
       error: '&'
@@ -22,7 +23,7 @@
 
       // Number of records to process in each batch
       var BATCH_SIZE = 500,
-        // Extimated number of seconds each batch will take (for auto-incrementing the progress bar)
+        // Estimated number of seconds each batch will take (for auto-incrementing the progress bar)
         EST_BATCH_TIME = 5;
 
       this.$onInit = function() {
@@ -41,8 +42,19 @@
           ctrl.last = ctrl.ids.length;
         }
         var params = _.cloneDeep(ctrl.params);
-        params.where = params.where || [];
-        params.where.push(['id', 'IN', ctrl.ids.slice(ctrl.first, ctrl.last)]);
+        if (ctrl.action === 'save') {
+          // For the save action, take each record from params and copy it with each supplied id
+          params.records = _.transform(ctrl.ids.slice(ctrl.first, ctrl.last), function(records, id) {
+            _.each(_.cloneDeep(ctrl.params.records), function(record) {
+              record[ctrl.idField || 'id'] = id;
+              records.push(record);
+            });
+          });
+        } else {
+          // For other batch actions (update, delete), add supplied ids to the where clause
+          params.where = params.where || [];
+          params.where.push([ctrl.idField || 'id', 'IN', ctrl.ids.slice(ctrl.first, ctrl.last)]);
+        }
         crmApi4(ctrl.entity, ctrl.action, params).then(
           function(result) {
             stopIncrementer();
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/boolean.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/boolean.html
index 61ed9000e660e9362e99f69c1525f7a1c9368b9d..597071979e108fdea2e0cfb5f08473c2b040a0df 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/boolean.html
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/boolean.html
@@ -1,8 +1,8 @@
-<div class="form-group" ng-if="!$ctrl.multi" >
+<div class="form-group" ng-if="!$ctrl.isMulti()" >
   <label class="radio-inline"><input type="radio" ng-value="true" ng-model="$ctrl.value"> {{:: ts('Yes') }}</label>
   <label class="radio-inline"><input type="radio" ng-value="false" ng-model="$ctrl.value"> {{:: ts('No') }}</label>
 </div>
-<div class="form-group" ng-if="$ctrl.multi" >
+<div class="form-group" ng-if="$ctrl.isMulti()" >
   <label class="checkbox-inline"><input type="checkbox" checklist-value="true" checklist-model="$ctrl.value"> {{:: ts('Yes') }}</label>
   <label class="checkbox-inline"><input type="checkbox" checklist-value="false" checklist-model="$ctrl.value"> {{:: ts('No') }}</label>
 </div>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.component.js b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.component.js
index b3bce0409d19162e7e7eaebd7de798da18386b24..9267fc09ddc85ef648095f4364c6529680dc9dc8 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.component.js
@@ -14,16 +14,6 @@
       var ts = $scope.ts = CRM.ts('org.civicrm.search_kit'),
         ctrl = this;
 
-      this.isMulti = function() {
-        // If there's a search operator, return `true` if the operator takes multiple values, else `false`
-        if (ctrl.op) {
-          return ctrl.op === 'IN' || ctrl.op === 'NOT IN';
-        }
-        // If no search operator this is an input for e.g. the bulk update action
-        // Return `true` if the field is multi-valued, else `null`
-        return ctrl.field && (ctrl.field.serialize || ctrl.field.data_type === 'Array') ? true : null;
-      };
-
       this.$onInit = function() {
 
         $scope.$watch('$ctrl.value', function() {
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.html
index bf434d9cf4262a5e7755e6598f27cd6300c13528..3f3a110dfb717445dfcf009251604a9aa814ebd8 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.html
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.html
@@ -1,13 +1,13 @@
 <div ng-switch="$ctrl.op || ''" class="form-group">
 
   <div ng-switch-when="BETWEEN|NOT BETWEEN" ng-switch-when-separator="|" class="form-group">
-    <crm-search-input-val field="$ctrl.field" multi="false" option-key="$ctrl.optionKey" ng-model="$ctrl.value[0]" class="form-group"></crm-search-input-val>
+    <crm-search-input-val field="$ctrl.field" op="'&gt;'" option-key="$ctrl.optionKey" ng-model="$ctrl.value[0]" class="form-group"></crm-search-input-val>
     -
-    <crm-search-input-val field="$ctrl.field" multi="false" option-key="$ctrl.optionKey" ng-model="$ctrl.value[1]" class="form-group"></crm-search-input-val>
+    <crm-search-input-val field="$ctrl.field" op="'&lt;'" option-key="$ctrl.optionKey" ng-model="$ctrl.value[1]" class="form-group"></crm-search-input-val>
   </div>
 
   <div ng-switch-default class="form-group">
-    <crm-search-input-val field="$ctrl.field" multi="$ctrl.isMulti()" option-key="$ctrl.optionKey" ng-model="$ctrl.value" class="form-group"></crm-search-input-val>
+    <crm-search-input-val field="$ctrl.field" op="$ctrl.op" option-key="$ctrl.optionKey" ng-model="$ctrl.value" class="form-group"></crm-search-input-val>
   </div>
 
 </div>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInputVal.component.js b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInputVal.component.js
index 99205c45c8f8be1b0662669a42a48dd6e275ea00..2c9ac721c55a02ca204a0f436e90e33da3467df2 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInputVal.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInputVal.component.js
@@ -4,7 +4,7 @@
   angular.module('crmSearchTasks').component('crmSearchInputVal', {
     bindings: {
       field: '<',
-      'multi': '<',
+      'op': '<',
       'optionKey': '<'
     },
     require: {ngModel: 'ngModel'},
@@ -46,6 +46,16 @@
         }
       };
 
+      this.isMulti = function() {
+        // If there's a search operator, return `true` if the operator takes multiple values, else `false`
+        if (ctrl.op) {
+          return ctrl.op === 'IN' || ctrl.op === 'NOT IN';
+        }
+        // If no search operator this is an input for e.g. the bulk update action
+        // Return `true` if the field is multi-valued, else `null`
+        return ctrl.field && (ctrl.field.serialize || ctrl.field.data_type === 'Array') ? true : null;
+      };
+
       this.changeDateType = function() {
         switch (ctrl.dateType) {
           case 'fixed':
@@ -88,6 +98,10 @@
       this.getTemplate = function() {
         var field = ctrl.field || {};
 
+        if (_.includes(['LIKE', 'NOT LIKE', 'REGEXP', 'NOT REGEXP'], ctrl.op)) {
+          return '~/crmSearchTasks/crmSearchInput/text.html';
+        }
+
         if (field.input_type === 'Date') {
           return '~/crmSearchTasks/crmSearchInput/date.html';
         }
@@ -100,7 +114,7 @@
           return '~/crmSearchTasks/crmSearchInput/select.html';
         }
 
-        if (field.fk_entity || field.name === 'id') {
+        if ((field.fk_entity || field.name === 'id') && !_.includes(['>', '<', '>=', '<='], ctrl.op)) {
           return '~/crmSearchTasks/crmSearchInput/entityRef.html';
         }
 
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/date.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/date.html
index 78e4d03d6d667df519cc7877d52f3b9c8177fadb..f5c7508be3e60f83e8176ea8763a6dbdb6015e7f 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/date.html
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/date.html
@@ -1,5 +1,5 @@
 <div class="form-group">
-  <select class="form-control" ng-if="$ctrl.multi === false" ng-model="$ctrl.dateType" ng-change="$ctrl.changeDateType()">
+  <select class="form-control" ng-if="$ctrl.isMulti() === false" ng-model="$ctrl.dateType" ng-change="$ctrl.changeDateType()">
     <option value="fixed">{{:: ts('Pick Date') }}</option>
     <option value="range">{{:: ts('Date Range') }}</option>
     <option value="now">{{:: ts('Now') }}</option>
@@ -10,8 +10,8 @@
   <div class="form-group" ng-switch="$ctrl.dateType">
 
     <div class="form-group" ng-switch-when="fixed">
-      <input class="form-control" crm-ui-datepicker="{time: $ctrl.field.data_type === 'Timestamp'}" ng-model="$ctrl.value" ng-if="!$ctrl.multi">
-      <input class="form-control" crm-multi-select-date ng-model="$ctrl.value" ng-if="$ctrl.multi">
+      <input class="form-control" crm-ui-datepicker="{time: $ctrl.field.data_type === 'Timestamp'}" ng-model="$ctrl.value" ng-required="!$ctrl.field.nullable" ng-if="!$ctrl.isMulti()">
+      <input class="form-control" crm-multi-select-date ng-model="$ctrl.value" ng-required="!$ctrl.field.nullable" ng-if="$ctrl.isMulti()">
     </div>
 
     <div class="form-group" ng-switch-when="range">
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/entityRef.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/entityRef.html
index 731e8df9ad1f3e21749481c7356f126508910d1e..eabd9d72b972039b7647c5b6893f691acee02c9e 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/entityRef.html
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/entityRef.html
@@ -1,6 +1,6 @@
-<div class="form-group" ng-if="!$ctrl.multi">
+<div class="form-group" ng-if="!$ctrl.isMulti()">
   <input class="form-control" ng-model="$ctrl.value" crm-entityref="{entity: $ctrl.entity, select:{allowClear: true, placeholder: ts('Select')}, static: $ctrl.entity === 'Contact' ? ['user_contact_id'] : []}">
 </div>
-<div class="form-group" ng-if="$ctrl.multi">
+<div class="form-group" ng-if="$ctrl.isMulti()">
   <input class="form-control" ng-model="$ctrl.value" crm-entityref="{entity: $ctrl.entity, select: {multiple: true}, static: $ctrl.entity === 'Contact' ? ['user_contact_id'] : []}" ng-list >
 </div>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/float.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/float.html
index 89b0079a789ea966a64877accde62b07ab7491f8..e6da4f7c9f32f86e5688155cda367f24e37f16f5 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/float.html
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/float.html
@@ -1,6 +1,6 @@
-<div class="form-group" ng-if="!$ctrl.multi" >
-  <input type="number" step="any" class="form-control" ng-model="$ctrl.value">
+<div class="form-group" ng-if="!$ctrl.isMulti()" >
+  <input type="number" step="any" class="form-control" ng-model="$ctrl.value" ng-required="!$ctrl.field.nullable">
 </div>
-<div class="form-group" ng-if="$ctrl.multi" >
-  <input class="form-control" ng-model="$ctrl.value" crm-ui-select="{multiple: true, tags: [], tokenSeparators: [','], formatNoMatches: ''}" ng-list>
+<div class="form-group" ng-if="$ctrl.isMulti()" >
+  <input class="form-control" ng-model="$ctrl.value" ng-required="!$ctrl.field.nullable" crm-ui-select="{multiple: true, tags: [], tokenSeparators: [','], formatNoMatches: ''}" ng-list>
 </div>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/integer.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/integer.html
index 0c5e75c49abf80126c8430f87909fc5e3538d173..d578956db527ac93a407ac91005f4d20abc9abaa 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/integer.html
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/integer.html
@@ -1,6 +1,6 @@
-<div class="form-group" ng-if="!$ctrl.multi" >
-  <input type="number" step="1" class="form-control" ng-model="$ctrl.value">
+<div class="form-group" ng-if="!$ctrl.isMulti()" >
+  <input type="number" step="1" class="form-control" ng-model="$ctrl.value" ng-required="!$ctrl.field.nullable">
 </div>
-<div class="form-group" ng-if="$ctrl.multi" >
-  <input class="form-control" ng-model="$ctrl.value" crm-ui-select="{multiple: true, tags: [], tokenSeparators: [','], formatNoMatches: ''}" ng-list>
+<div class="form-group" ng-if="$ctrl.isMulti()" >
+  <input class="form-control" ng-model="$ctrl.value" ng-required="!$ctrl.field.nullable" crm-ui-select="{multiple: true, tags: [], tokenSeparators: [','], formatNoMatches: ''}" ng-list>
 </div>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/select.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/select.html
index 464c92e43171c32a437044fac70a14fbc6712b64..c98500db37981e389c459fceffcf0a1a5367d8c8 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/select.html
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/select.html
@@ -1,9 +1,9 @@
 <div class="form-group" ng-if="$ctrl.field.options === true">
   <input disabled class="form-control loading" crm-ui-select="{data: []}">
 </div>
-<div class="form-group" ng-if="!$ctrl.multi && $ctrl.field.options !== true">
-  <input class="form-control" ng-model="$ctrl.value" crm-ui-select="{data: $ctrl.getFieldOptions}">
+<div class="form-group" ng-if="!$ctrl.isMulti() && $ctrl.field.options !== true">
+  <input class="form-control" ng-model="$ctrl.value" crm-ui-select="{data: $ctrl.getFieldOptions, allowClear: $ctrl.field.nullable, placeholder: $ctrl.field.nullable ? ts('None') : ts('Select')}">
 </div>
-<div class="form-group" ng-if="$ctrl.multi && $ctrl.field.options !== true">
+<div class="form-group" ng-if="$ctrl.isMulti() && $ctrl.field.options !== true">
   <input class="form-control" ng-model="$ctrl.value" crm-ui-select="{data: $ctrl.getFieldOptions, multiple: true}" ng-list >
 </div>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/text.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/text.html
index 61a4391c48d534810e53c72d1260f5743cfae9bc..71a043d276078475b4bb7b28758b73e018eb2cfd 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/text.html
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/text.html
@@ -1,6 +1,6 @@
-<div class="form-group" ng-if="!$ctrl.multi" >
-  <input type="text" class="form-control" ng-model="$ctrl.value">
+<div class="form-group" ng-if="!$ctrl.isMulti()" >
+  <input type="text" class="form-control" ng-model="$ctrl.value" ng-required="!$ctrl.field.nullable">
 </div>
-<div class="form-group" ng-if="$ctrl.multi" >
-  <input class="form-control" ng-model="$ctrl.value" crm-ui-select="{multiple: true, tags: [], tokenSeparators: [','], formatNoMatches: ''}" ng-list>
+<div class="form-group" ng-if="$ctrl.isMulti()" >
+  <input class="form-control" ng-model="$ctrl.value" ng-required="!$ctrl.field.nullable" crm-ui-select="{multiple: true, tags: [], tokenSeparators: [','], formatNoMatches: ''}" ng-list>
 </div>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskTag.ctrl.js b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskTag.ctrl.js
new file mode 100644
index 0000000000000000000000000000000000000000..bace4279079c1173f41048c81475d43bd52c46d5
--- /dev/null
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskTag.ctrl.js
@@ -0,0 +1,99 @@
+(function(angular, $, _) {
+  "use strict";
+
+  angular.module('crmSearchTasks').controller('crmSearchTaskTag', function($scope, crmApi4, searchTaskBaseTrait) {
+    var ts = $scope.ts = CRM.ts('org.civicrm.search_kit'),
+      // Combine this controller with model properties (ids, entity, entityInfo) and searchTaskBaseTrait
+      ctrl = angular.extend(this, $scope.model, searchTaskBaseTrait);
+
+    this.entityTitle = this.getEntityTitle();
+    this.action = 'save';
+    this.selection = [];
+    this.selectedTags = [];
+    this.selectedTagsetTags = {};
+
+    crmApi4({
+      tags: ['Tag', 'get', {
+        select: ['id', 'name', 'color', 'description', 'is_selectable', 'parent_id'],
+        where: [
+          ['is_tagset', '=', false],
+          ['used_for:name', 'CONTAINS', this.entity],
+          ['OR', [['parent_id', 'IS NULL'], ['parent_id.is_tagset', '=', false]]]
+        ],
+        orderBy: {name: 'ASC'}
+      }],
+      tagsets: ['Tag', 'get', {
+        select: ['id', 'name'],
+        where: [['is_tagset', '=', true], ['used_for:name', 'CONTAINS', this.entity]]
+      }],
+    }).then(function(result) {
+      ctrl.tagsets = result.tagsets;
+      ctrl.tags = sortTagsForSelect2(result.tags);
+    });
+
+    // Sort non-tagset tags into a nested hierarchy
+    function sortTagsForSelect2(rawTags) {
+      var sorted = _.transform(rawTags, function(sorted, tag) {
+        sorted[tag.id] = {
+          id: tag.id,
+          text: tag.name,
+          description: tag.description,
+          color: tag.color,
+          disabled: !tag.is_selectable,
+          parent_id: tag.parent_id
+        };
+      }, {});
+      // Capitalizing on the fact that javascript objects always copy-by-reference,
+      // this creates a multi-level hierarchy in a single pass by placing child tags under their parents
+      // while keeping a reference to children at the top level (which allows them to receive children of their own).
+      _.each(sorted, function(tag) {
+        if (tag.parent_id && sorted[tag.parent_id]) {
+          sorted[tag.parent_id].children = sorted[tag.parent_id].children || [];
+          sorted[tag.parent_id].children.push(tag);
+        }
+      });
+      // Remove the child tags from the top level, and what remains is a nested hierarchy
+      return _.filter(sorted, {parent_id: null});
+    }
+
+    this.saveTags = function() {
+      var params = {};
+      if (ctrl.action === 'save') {
+        params.defaults = {
+          'entity_table:name': ctrl.entity
+        };
+        params.records = _.transform(ctrl.selection, function(records, tagId) {
+          records.push({tag_id: tagId});
+        });
+      } else {
+        params.where = [
+          ['entity_table:name', '=', ctrl.entity],
+          ['tag_id', 'IN', ctrl.selection]
+        ];
+      }
+      ctrl.start(params);
+    };
+
+    this.onSelectTags = function() {
+      ctrl.selection = _.cloneDeep(ctrl.selectedTags);
+      _.each(ctrl.selectedTagsetTags, function(set) {
+        ctrl.selection = ctrl.selection.concat(set);
+      });
+    };
+
+    this.onSuccess = function() {
+      if (ctrl.action === 'delete') {
+        CRM.alert(ts('Removed tags from %1 %2.', {1: ctrl.ids.length, 2: ctrl.entityTitle}), ts('Saved'), 'success');
+      } else {
+        CRM.alert(ts('Added tags to %1 %2.', {1: ctrl.ids.length, 2: ctrl.entityTitle}), ts('Saved'), 'success');
+      }
+      this.close();
+    };
+
+    this.onError = function() {
+      CRM.alert(ts('An error occurred while updating tags.'), ts('Error'), 'error');
+      this.cancel();
+    };
+
+  });
+})(angular, CRM.$, CRM._);
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskTag.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskTag.html
new file mode 100644
index 0000000000000000000000000000000000000000..39cefc2967a070d3f1cfc8ecc21874494b6e023c
--- /dev/null
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskTag.html
@@ -0,0 +1,57 @@
+<div id="bootstrap-theme">
+  <form ng-controller="crmSearchTaskTag as $ctrl">
+    <div class="form-radios">
+      <label ng-class="{disabled: !!$ctrl.run}">
+        <input type="radio" name="action" ng-model="$ctrl.action" value="save" ng-disabled="$ctrl.run">
+        {{:: ts('Add Tags') }}
+      </label>
+      <label ng-class="{disabled: !!$ctrl.run}">
+        <input type="radio" name="action" ng-model="$ctrl.action" value="delete" ng-disabled="$ctrl.run">
+        {{:: ts('Remove Tags') }}
+      </label>
+    </div>
+    <div ng-if="!$ctrl.tags">
+      <i class="crm-i fa-spinner fa-spin"></i>
+    </div>
+    <hr />
+    <fieldset ng-if="$ctrl.tags">
+      <div class="form-inline">
+        <label for="crm-search-task-tag-tag">{{:: ts('Tags') }}</label>
+        <input
+          id="crm-search-task-tag-tag"
+          ng-model="$ctrl.selectedTags"
+          class="huge"
+          ng-list
+          ng-change="$ctrl.onSelectTags()"
+          ng-disabled="$ctrl.run"
+          crm-ui-select="{multiple: true, placeholder: ts('Select tags'), data: $ctrl.tags}"
+        >
+      </div>
+      <div ng-repeat="tagset in $ctrl.tagsets" class="form-inline">
+        <label>{{:: tagset.name }}</label>
+        <input
+          ng-model="$ctrl.selectedTagsetTags[tagset.name]"
+          ng-list
+          ng-change="$ctrl.onSelectTags()"
+          ng-disabled="$ctrl.run"
+          crm-entityref="{entity: 'Tag', api: {params: {parent_id: tagset.id, is_selectable: 1}}, select: {minimumInputLength: 0, multiple: true, placeholder: ts('Select tags')}}"
+        >
+      </div>
+    </fieldset>
+    <div ng-if="$ctrl.run" class="crm-search-task-progress">
+      <h5>{{:: $ctrl.action === 'save' ? ts('Adding tags...') : ts('Removing tags...') }}</h5>
+      <crm-search-batch-runner entity="'EntityTag'" action="{{ $ctrl.action }}" id-field="entity_id" params="$ctrl.run" ids="model.ids" success="$ctrl.onSuccess()" error="$ctrl.onError()" ></crm-search-batch-runner>
+    </div>
+    <hr />
+    <div class="buttons text-right">
+      <button type="button" ng-click="$ctrl.cancel()" class="btn btn-danger" ng-hide="$ctrl.run">
+        <i class="crm-i fa-times"></i>
+        {{:: ts('Cancel') }}
+      </button>
+      <button ng-click="$ctrl.saveTags()" class="btn btn-primary" ng-disabled="$ctrl.run || !$ctrl.selection.length">
+        <i class="crm-i fa-{{ $ctrl.run ? 'spin fa-spinner' : 'check' }}"></i>
+        {{ $ctrl.action === 'save' ? ts('Add tags') : ts('Remove tags') }}
+      </button>
+    </div>
+  </form>
+</div>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskUpdate.ctrl.js b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskUpdate.ctrl.js
index 5fd14a504c39384ce9ddb04c25830d8b764f07a0..01f41d16fd38fb606fd3c127dd931c89e757de6f 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskUpdate.ctrl.js
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskUpdate.ctrl.js
@@ -13,7 +13,7 @@
 
     crmApi4(this.entity, 'getFields', {
       action: 'update',
-      select: ['name', 'label', 'description', 'input_type', 'data_type', 'serialize', 'options', 'fk_entity'],
+      select: ['name', 'label', 'description', 'input_type', 'data_type', 'serialize', 'options', 'fk_entity', 'nullable'],
       loadOptions: ['id', 'name', 'label', 'description', 'color', 'icon'],
       where: [["readonly", "=", false]],
     }).then(function(fields) {
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskUpdate.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskUpdate.html
index 9ae38110792efadda5f46d09c9a99311fff23cf4..42a9fcc2ee76ee5286b45b606e7c1f6a165e9bd2 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskUpdate.html
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskUpdate.html
@@ -1,5 +1,5 @@
 <div id="bootstrap-theme">
-  <form ng-controller="crmSearchTaskUpdate as $ctrl">
+  <form name="crmSearchTaskUpdateForm" ng-controller="crmSearchTaskUpdate as $ctrl">
     <p><strong>{{:: ts('Update the %1 selected %2 with the following values:', {1: model.ids.length, 2: $ctrl.entityTitle}) }}</strong></p>
     <div class="form-inline" ng-repeat="clause in $ctrl.values" >
       <input class="form-control" ng-change="$ctrl.updateField($index)" ng-disabled="$ctrl.run" ng-model="clause[0]" crm-ui-select="{data: $ctrl.availableFields, allowClear: true, placeholder: 'Field'}" />
@@ -18,7 +18,7 @@
         <i class="crm-i fa-times"></i>
         {{:: ts('Cancel') }}
       </button>
-      <button ng-click="$ctrl.save()" class="btn btn-primary" ng-disabled="!$ctrl.values.length || $ctrl.run">
+      <button ng-click="$ctrl.save()" class="btn btn-primary" ng-disabled="!$ctrl.values.length || $ctrl.run || !crmSearchTaskUpdateForm.$valid">
         <i class="crm-i fa-{{ $ctrl.run ? 'spin fa-spinner' : 'check' }}"></i>
         {{:: ts('Update %1', {1: $ctrl.entityTitle}) }}
       </button>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTasks.component.js b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTasks.component.js
index 04dd42a82044a99104120b36bad72a2ba3ee316e..d9953b202d3cd0ebd4f802f1eba24389bf6149c5 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTasks.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTasks.component.js
@@ -65,6 +65,7 @@
         else if (action.uiDialog) {
           var options = CRM.utils.adjustDialogDefaults({
             autoOpen: false,
+            dialogClass: 'crm-search-task-dialog',
             title: action.title
           });
           dialogService.open('crmSearchTask', action.uiDialog.templateUrl, data, options)
diff --git a/civicrm/ext/search_kit/css/crmSearchAdmin.css b/civicrm/ext/search_kit/css/crmSearchAdmin.css
index ad2f76f1591eea1f4582505230057ee7c4fc6ff3..f69558afdc1701bd074a5054656878935faaba41 100644
--- a/civicrm/ext/search_kit/css/crmSearchAdmin.css
+++ b/civicrm/ext/search_kit/css/crmSearchAdmin.css
@@ -1,4 +1,3 @@
-
 #bootstrap-theme .crm-search-criteria-column {
   min-width: 500px;
 }
@@ -34,11 +33,8 @@
   cursor: not-allowed;
 }
 
-#bootstrap-theme.crm-search input.ng-invalid {
-  border-color: #8A1F11;
-}
 #bootstrap-theme.crm-search input.ng-invalid::placeholder {
-  color: #8A1F11;
+  color: #8a1f11;
 }
 
 #bootstrap-theme.crm-search ul.nav-stacked li {
diff --git a/civicrm/ext/search_kit/css/crmSearchDisplay.css b/civicrm/ext/search_kit/css/crmSearchDisplay.css
index a2c84a7a4597b9e1f5a652175f10a4fad865b0de..a3a736e74f97befcf37787ea437500aab27d588a 100644
--- a/civicrm/ext/search_kit/css/crmSearchDisplay.css
+++ b/civicrm/ext/search_kit/css/crmSearchDisplay.css
@@ -10,6 +10,12 @@
   opacity: .5;
 }
 
+#bootstrap-theme.crm-search input.ng-invalid,
+#bootstrap-theme.crm-search-display input.ng-invalid,
+.crm-search-task-dialog #bootstrap-theme input.ng-invalid {
+  border-color: #8a1f11;
+}
+
 /* Loading placeholders */
 #bootstrap-theme .crm-search-loading-placeholder {
   height: 2em;
@@ -34,7 +40,7 @@
   from {
     left: -150px;
   }
-  to   {
+  to {
     left: 100%;
   }
 }
diff --git a/civicrm/ext/search_kit/info.xml b/civicrm/ext/search_kit/info.xml
index 2b2a4784c6cb41c2f6d74f8392203e5786111263..cc87ad07a869fb825776d7cf53d4c344f37d6246 100644
--- a/civicrm/ext/search_kit/info.xml
+++ b/civicrm/ext/search_kit/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-01-06</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>beta</develStage>
   <compatibility>
     <ver>5.38</ver>
diff --git a/civicrm/ext/search_kit/search_kit.civix.php b/civicrm/ext/search_kit/search_kit.civix.php
index dde94ac93763bc231a11aac7d87ee1abff5e07a3..6cac24cef1d1b9f3a60d3e24e6ce06b960a1869c 100644
--- a/civicrm/ext/search_kit/search_kit.civix.php
+++ b/civicrm/ext/search_kit/search_kit.civix.php
@@ -91,9 +91,9 @@ function _search_kit_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/search_kit/search_kit.php b/civicrm/ext/search_kit/search_kit.php
index 24a0e76058af4593fda561d6b738a9b39ddce263..b3163c327adae39e1922c958e98f299f7c8ecd94 100644
--- a/civicrm/ext/search_kit/search_kit.php
+++ b/civicrm/ext/search_kit/search_kit.php
@@ -83,15 +83,6 @@ function search_kit_civicrm_entityTypes(&$entityTypes) {
  * Implements hook_civicrm_pre().
  */
 function search_kit_civicrm_pre($op, $entity, $id, &$params) {
-  // Supply default name/label when creating new SearchDisplay
-  if ($entity === 'SearchDisplay' && $op === 'create') {
-    if (empty($params['label'])) {
-      $params['label'] = $params['name'];
-    }
-    elseif (empty($params['name'])) {
-      $params['name'] = \CRM_Utils_String::munge($params['label']);
-    }
-  }
   // When deleting a saved search, also delete the displays
   // This would happen anyway in sql because of the ON DELETE CASCADE foreign key,
   // But this ensures that pre and post hooks are called
diff --git a/civicrm/ext/search_kit/tests/phpunit/Civi/Search/AdminTest.php b/civicrm/ext/search_kit/tests/phpunit/Civi/Search/AdminTest.php
index 9aeb06424c45d235f53cdf0a75aeec48a82d67ec..814136ecc1069ad0b2bf2228b39b2217d995740e 100644
--- a/civicrm/ext/search_kit/tests/phpunit/Civi/Search/AdminTest.php
+++ b/civicrm/ext/search_kit/tests/phpunit/Civi/Search/AdminTest.php
@@ -96,6 +96,30 @@ class AdminTest extends \PHPUnit\Framework\TestCase implements HeadlessInterface
       ['EntityTag', ['id', '=', 'Activity_EntityTag_Tag.entity_id'], ['Activity_EntityTag_Tag.entity_table', '=', "'civicrm_activity'"]],
       $activityTagJoins[0]['conditions']
     );
+
+    // Ensure joins exist btw custom group & custom fields
+    $customGroupToField = \CRM_Utils_Array::findAll($joins['CustomGroup'], [
+      'entity' => 'CustomField',
+      'multi' => TRUE,
+    ]);
+    $this->assertCount(1, $customGroupToField);
+    $customFieldToGroup = \CRM_Utils_Array::findAll($joins['CustomField'], [
+      'entity' => 'CustomGroup',
+      'multi' => FALSE,
+    ]);
+    $this->assertCount(1, $customFieldToGroup);
+
+    // Ensure joins btw option group and option value
+    $optionGroupToValue = \CRM_Utils_Array::findAll($joins['OptionGroup'], [
+      'entity' => 'OptionValue',
+      'multi' => TRUE,
+    ]);
+    $this->assertCount(1, $optionGroupToValue);
+    $optionValueToGroup = \CRM_Utils_Array::findAll($joins['OptionValue'], [
+      'entity' => 'OptionGroup',
+      'multi' => FALSE,
+    ]);
+    $this->assertCount(1, $optionValueToGroup);
   }
 
 }
diff --git a/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchDisplayTest.php b/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchDisplayTest.php
index eebceeaee1591c6cdbbc10f531305a9ce6c38b49..d56366c6ade9865d269a65fe46b81cf4d81779e6 100644
--- a/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchDisplayTest.php
+++ b/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchDisplayTest.php
@@ -1,6 +1,7 @@
 <?php
 namespace api\v4\SearchDisplay;
 
+use Civi\Api4\SavedSearch;
 use Civi\Api4\SearchDisplay;
 use Civi\Test\HeadlessInterface;
 use Civi\Test\TransactionalInterface;
@@ -50,4 +51,44 @@ class SearchDisplayTest extends \PHPUnit\Framework\TestCase implements HeadlessI
     $this->assertNull($display['saved_search_id']);
   }
 
+  public function testAutoFormatName() {
+    // Create 3 saved searches; they should all get unique names
+    $savedSearch0 = SavedSearch::create(FALSE)
+      ->addValue('label', 'My test search')
+      ->execute()->first();
+    $savedSearch1 = SavedSearch::create(FALSE)
+      ->addValue('label', 'My test search')
+      ->execute()->first();
+    $savedSearch2 = SavedSearch::create(FALSE)
+      ->addValue('label', 'My test search')
+      ->execute()->first();
+    // Name will be created from munged label
+    $this->assertEquals('My_test_search', $savedSearch0['name']);
+    // Name will have _1, _2, etc. appended to ensure it's unique
+    $this->assertEquals('My_test_search_1', $savedSearch1['name']);
+    $this->assertEquals('My_test_search_2', $savedSearch2['name']);
+
+    $display0 = SearchDisplay::create()
+      ->addValue('saved_search_id', $savedSearch0['id'])
+      ->addValue('label', 'My test display')
+      ->addValue('type', 'table')
+      ->execute()->first();
+    $display1 = SearchDisplay::create()
+      ->addValue('saved_search_id', $savedSearch0['id'])
+      ->addValue('label', 'My test display')
+      ->addValue('type', 'table')
+      ->execute()->first();
+    $display2 = SearchDisplay::create()
+      ->addValue('saved_search_id', $savedSearch1['id'])
+      ->addValue('label', 'My test display')
+      ->addValue('type', 'table')
+      ->execute()->first();
+    // Name will be created from munged label
+    $this->assertEquals('My_test_display', $display0['name']);
+    // Name will have _1 appended to ensure it's unique to savedSearch0
+    $this->assertEquals('My_test_display_1', $display1['name']);
+    // This is for a different saved search so doesn't need a number appended
+    $this->assertEquals('My_test_display', $display2['name']);
+  }
+
 }
diff --git a/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchRunTest.php b/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchRunTest.php
index ee09339fc1a2d607e178ed23167f136ed7f78761..2712da75be9f3c12e42026b21b8891b41bf35537 100644
--- a/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchRunTest.php
+++ b/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchRunTest.php
@@ -208,9 +208,9 @@ class SearchRunTest extends \PHPUnit\Framework\TestCase implements HeadlessInter
     $this->assertNotEmpty($result->first()['data']['sort_name']);
 
     // These items are not part of the search, but will be added via links
-    $this->assertArrayNotHasKey('contact_type', $result->first());
-    $this->assertArrayNotHasKey('source', $result->first());
-    $this->assertArrayNotHasKey('last_name', $result->first());
+    $this->assertArrayNotHasKey('contact_type', $result->first()['data']);
+    $this->assertArrayNotHasKey('source', $result->first()['data']);
+    $this->assertArrayNotHasKey('last_name', $result->first()['data']);
 
     // Add links
     $params['display']['settings']['columns'][] = [
@@ -227,6 +227,87 @@ class SearchRunTest extends \PHPUnit\Framework\TestCase implements HeadlessInter
     $this->assertEquals($lastName, $result->first()['data']['last_name']);
   }
 
+  /**
+   * Test smarty rewrite syntax.
+   */
+  public function testRunWithSmartyRewrite() {
+    $lastName = uniqid(__FUNCTION__);
+    $sampleData = [
+      ['first_name' => 'One', 'last_name' => $lastName, 'nick_name' => 'Uno'],
+      ['first_name' => 'Two', 'last_name' => $lastName],
+    ];
+    $contacts = Contact::save(FALSE)->setRecords($sampleData)->execute();
+    Email::create(FALSE)
+      ->addValue('contact_id', $contacts[0]['id'])
+      ->addValue('email', 'testmail@unit.test')
+      ->execute();
+
+    $params = [
+      'checkPermissions' => FALSE,
+      'return' => 'page:1',
+      'savedSearch' => [
+        'api_entity' => 'Contact',
+        'api_params' => [
+          'version' => 4,
+          'select' => ['id', 'first_name', 'last_name', 'nick_name', 'Contact_Email_contact_id_01.email', 'Contact_Email_contact_id_01.location_type_id:label'],
+          'where' => [['last_name', '=', $lastName]],
+          'join' => [
+            [
+              "Email AS Contact_Email_contact_id_01",
+              "LEFT",
+              ["id", "=", "Contact_Email_contact_id_01.contact_id"],
+              ["Contact_Email_contact_id_01.is_primary", "=", TRUE],
+            ],
+          ],
+        ],
+      ],
+      'display' => [
+        'type' => 'table',
+        'label' => '',
+        'settings' => [
+          'limit' => 20,
+          'pager' => TRUE,
+          'columns' => [
+            [
+              'key' => 'id',
+              'label' => 'Contact ID',
+              'type' => 'field',
+            ],
+            [
+              'key' => 'first_name',
+              'label' => 'Name',
+              'type' => 'field',
+              'rewrite' => '{if "[nick_name]"}[nick_name]{else}[first_name]{/if} [last_name]',
+            ],
+            [
+              'key' => 'Contact_Email_contact_id_01.email',
+              'label' => 'Email',
+              'type' => 'field',
+              'rewrite' => '{if "[Contact_Email_contact_id_01.email]"}[Contact_Email_contact_id_01.email] ([Contact_Email_contact_id_01.location_type_id:label]){/if}',
+            ],
+          ],
+          'sort' => [
+            ['id', 'ASC'],
+          ],
+        ],
+      ],
+    ];
+    $result = civicrm_api4('SearchDisplay', 'run', $params);
+    $this->assertEquals("Uno $lastName", $result[0]['columns'][1]['val']);
+    $this->assertEquals("Two $lastName", $result[1]['columns'][1]['val']);
+    $this->assertEquals("testmail@unit.test (Home)", $result[0]['columns'][2]['val']);
+    $this->assertEquals("", $result[1]['columns'][2]['val']);
+
+    // Try running it with illegal tags like {crmApi}
+    $params['display']['columns'][1]['rewrite'] = '{crmApi entity="Email" action="get" va="notAllowed"}';
+    try {
+      civicrm_api4('SearchDisplay', 'run', $params);
+      $this->fail();
+    }
+    catch (\Exception $e) {
+    }
+  }
+
   /**
    * Test running a searchDisplay as a restricted user.
    */
diff --git a/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchRunWithCustomFieldTest.php b/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchRunWithCustomFieldTest.php
index b62494aa35706249570141dde248261803dfee04..9900a679268c0d22f3f53ce2682f22d448ee6d37 100644
--- a/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchRunWithCustomFieldTest.php
+++ b/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchRunWithCustomFieldTest.php
@@ -33,7 +33,7 @@ class SearchRunWithCustomFieldTest extends \PHPUnit\Framework\TestCase implement
    */
   public function testRunWithImageField() {
     CustomGroup::create(FALSE)
-      ->addValue('name', 'TestSearchFields')
+      ->addValue('title', 'TestSearchFields')
       ->addValue('extends', 'Individual')
       ->execute()
       ->first();
diff --git a/civicrm/ext/sequentialcreditnotes/info.xml b/civicrm/ext/sequentialcreditnotes/info.xml
index d744c55b35249be9c95893bf65613ac89beafe87..30fa5a9f7874b044f3577021a51f8d3428840eb8 100644
--- a/civicrm/ext/sequentialcreditnotes/info.xml
+++ b/civicrm/ext/sequentialcreditnotes/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-01-28</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/sequentialcreditnotes/sequentialcreditnotes.civix.php b/civicrm/ext/sequentialcreditnotes/sequentialcreditnotes.civix.php
index 260b7128fcafd6343a6099272ec6d3b0a823a885..098dde7d07c739068f8d7674994a53d132da7e4a 100644
--- a/civicrm/ext/sequentialcreditnotes/sequentialcreditnotes.civix.php
+++ b/civicrm/ext/sequentialcreditnotes/sequentialcreditnotes.civix.php
@@ -91,9 +91,9 @@ function _sequentialcreditnotes_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/install/index.php b/civicrm/install/index.php
index a56b5289c6a50997df8bf14a4ebfa485da1b313e..0c6b62c2c92dfa679ce3f6af39a9c7bbc2d281b7 100644
--- a/civicrm/install/index.php
+++ b/civicrm/install/index.php
@@ -839,7 +839,7 @@ class InstallRequirements {
   }
 
   /**
-   * @param null $section
+   * @param string|null $section
    */
   public function showTable($section = NULL) {
     if ($section) {
diff --git a/civicrm/install/template.css b/civicrm/install/template.css
index 7c96816e54a72f86dbc65a20edf9a614f080be6a..5f685fe04e2f21fce88cc9870d0e739d75dd0f24 100644
--- a/civicrm/install/template.css
+++ b/civicrm/install/template.css
@@ -73,7 +73,7 @@ p.good {
 }
 
 p.error a {
-  color: #FFF;
+  color: #fff;
   font-weight: bold;
 }
 
diff --git a/civicrm/js/Common.js b/civicrm/js/Common.js
index e24b9dadf79d6239b4a4e5f497b4ce842cf6c761..fb9d0c3d8af55d7cfb770590f55daa21d661bcfd 100644
--- a/civicrm/js/Common.js
+++ b/civicrm/js/Common.js
@@ -483,8 +483,8 @@ if (!CRM.vars) CRM.vars = {};
           $('.crm-select2-row-description', '#select2-drop').each(function() {
             $(this).closest('.select2-result-label').attr('title', $(this).text());
           });
-          // Collapsible optgroups should be expanded when searching
-          if ($('#select2-drop.collapsible-optgroups-enabled .select2-search input.select2-input').val()) {
+          // Collapsible optgroups should be expanded when searching (searching happens within select2-drop for single selects, but within the element for multiselects; this handles both)
+          if ($('#select2-drop.collapsible-optgroups-enabled .select2-search input.select2-input, .select2-dropdown-open.collapsible-optgroups .select2-search-field input.select2-input').val()) {
             $('#select2-drop.collapsible-optgroups-enabled li.select2-result-with-children')
               .addClass('optgroup-expanded');
           }
diff --git a/civicrm/release-notes.md b/civicrm/release-notes.md
index 399de5e15f192214a0b82b41971b4aa72dd20750..a82396bc995029a4562b33d55b4cc3b65a186137 100644
--- a/civicrm/release-notes.md
+++ b/civicrm/release-notes.md
@@ -15,23 +15,16 @@ Other resources for identifying changes are:
     * https://github.com/civicrm/civicrm-joomla
     * https://github.com/civicrm/civicrm-wordpress
 
-## CiviCRM 5.46.2
+## CiviCRM 5.47.0
 
-Released February 10, 2022
+Released March 4, 2022
 
-- **[Synopsis](release-notes/5.46.2.md#synopsis)**
-- **[Bugs resolved](release-notes/5.46.2.md#bugs)**
-- **[Credits](release-notes/5.46.2.md#credits)**
-- **[Feedback](release-notes/5.46.2.md#feedback)**
-
-## CiviCRM 5.46.1
-
-Released February 9, 2022
-
-- **[Synopsis](release-notes/5.46.1.md#synopsis)**
-- **[Bugs resolved](release-notes/5.46.1.md#bugs)**
-- **[Credits](release-notes/5.46.1.md#credits)**
-- **[Feedback](release-notes/5.46.1.md#feedback)**
+- **[Synopsis](release-notes/5.47.0.md#synopsis)**
+- **[Features](release-notes/5.47.0.md#features)**
+- **[Bugs resolved](release-notes/5.47.0.md#bugs)**
+- **[Miscellany](release-notes/5.47.0.md#misc)**
+- **[Credits](release-notes/5.47.0.md#credits)**
+- **[Feedback](release-notes/5.47.0.md#feedback)**
 
 ## CiviCRM 5.46.0
 
@@ -44,15 +37,6 @@ Released February 3, 2022
 - **[Credits](release-notes/5.46.0.md#credits)**
 - **[Feedback](release-notes/5.46.0.md#feedback)**
 
-## CiviCRM 5.45.3
-
-Released February 3, 2022
-
-- **[Synopsis](release-notes/5.45.3.md#synopsis)**
-- **[Bugs resolved](release-notes/5.45.3.md#bugs)**
-- **[Credits](release-notes/5.45.3.md#credits)**
-- **[Feedback](release-notes/5.45.3.md#feedback)**
-
 ## CiviCRM 5.45.2
 
 Released January 28, 2022
diff --git a/civicrm/release-notes/5.17.1.md b/civicrm/release-notes/5.17.1.md
index a5711c9cb0fdeb5fc20d2e6b5a000fd997fdc781..078ff22a0fb48ff10228ccde998a3b92ed2406e6 100644
--- a/civicrm/release-notes/5.17.1.md
+++ b/civicrm/release-notes/5.17.1.md
@@ -36,4 +36,3 @@ CiviCRM - Tim Otten; Australian Greens - Seamus Lee
 These release notes are edited by Tim Otten and Andie 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/release-notes/5.17.2.md b/civicrm/release-notes/5.17.2.md
index 880cdce60e23ebfcb2e2280b06684eac49b761e9..ae3fbcfbcf277dbc88834bade6ce7be69e6e85d5 100644
--- a/civicrm/release-notes/5.17.2.md
+++ b/civicrm/release-notes/5.17.2.md
@@ -34,4 +34,3 @@ Wikimedia Foundation - Eileen McNaughton; Australian Greens - Seamus Lee
 These release notes are edited by Tim Otten and Andie 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/release-notes/5.18.4.md b/civicrm/release-notes/5.18.4.md
index 8bbeec72338d8387a73c95992a59c9b43d855e65..0dfc2d38ebde6aed7fd55b4ec9e46bb4fa4cc34c 100644
--- a/civicrm/release-notes/5.18.4.md
+++ b/civicrm/release-notes/5.18.4.md
@@ -42,6 +42,3 @@ Jaap Jansma; Australian Greens - Seamus Lee
 These release notes are edited by Tim Otten and Andie 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/release-notes/5.19.2.md b/civicrm/release-notes/5.19.2.md
index 24e9f4de926e2a1f9b89f6b85d79c2ba0af0b182..4c9e256bfab8ea0a76f87531a5e4a6447099aff7 100644
--- a/civicrm/release-notes/5.19.2.md
+++ b/civicrm/release-notes/5.19.2.md
@@ -44,4 +44,4 @@ of Armadillo Sec Ltd; Dave D; Eileen McNaughton of Wikimedia Foundation;
 Karin Gerritsen of Semper IT; Kevin Cristiano of Tadpole Collective; Mark
 Burdett of Electronic Frontier Foundation; Morgan Robinson of Palante
 Technology Cooperative; Patrick Figel of Greenpeace CEE; Seamus Lee of
-Australian Greens; Tim Otten of CiviCRM
\ No newline at end of file
+Australian Greens; Tim Otten of CiviCRM
diff --git a/civicrm/release-notes/5.3.1.md b/civicrm/release-notes/5.3.1.md
index 02a224bb0b29fc71d0bb90c4644ed718e5a60c19..5fb86b2312f9619220e8a3abb9c00db283ac5011 100644
--- a/civicrm/release-notes/5.3.1.md
+++ b/civicrm/release-notes/5.3.1.md
@@ -17,4 +17,3 @@ Released July 18, 2018
 - **[CIVI-SA-2018-05](https://civicrm.org/advisory/civi-sa-2018-05-reflected-xss-in-contact-merge-screen)** Reflected XSS in Contact Merge Screen
 - **[CIVI-SA-2018-06](https://civicrm.org/advisory/civi-sa-2018-06-reflected-xss-in-context-parameter)** Reflected XSS in "New Membership" Form
 - **[CIVI-SA-2018-07](https://civicrm.org/advisory/civi-sa-2018-07-remote-code-execution-in-quickform)** Remote Code Execution in QuickForm
-
diff --git a/civicrm/release-notes/5.45.3.md b/civicrm/release-notes/5.45.3.md
deleted file mode 100644
index ec85bdf80607eb4fabbb17b19b3abb65fa615c0e..0000000000000000000000000000000000000000
--- a/civicrm/release-notes/5.45.3.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# CiviCRM 5.45.3
-
-Released February 3, 2022
-
-- **[Synopsis](#synopsis)**
-- **[Bugs resolved](#bugs)**
-- **[Credits](#credits)**
-- **[Feedback](#feedback)**
-
-## <a name=synopsis></a>Synopsis
-
-| *Does this version...?*                                         |          |
-| --------------------------------------------------------------- | -------- |
-| Change the database schema?                                     | no       |
-| Alter the API?                                                  | no       |
-| Require attention to configuration options?                     | no       |
-| **Fix problems installing or upgrading to a previous version?** | **yes**  |
-| Introduce features?                                             | no       |
-| Fix bugs?                                                       | no       |
-
-## <a name=bugs></a>Bugs resolved
-
-* **_Managed Entities_: Fix crash during upgrade ([dev/core#3045](https://lab.civicrm.org/dev/core/-/issues/3045): [#22642](https://github.com/civicrm/civicrm-core/pull/22642))**
-
-    The configurations affected by this issue could not be positively identified. However, affected users reported that the patch fixed the issue.
-
-## <a name=credits></a>Credits
-
-This release was developed by the following authors and reviewers:
-
-CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; JMA Consulting - Seamus Lee;
-Third Sector Design - William Mortada, Kurund Jalmi; Wikimedia Foundation - Eileen
-McNaughton
-
-## <a name=feedback></a>Feedback
-
-These release notes are edited by Tim Otten and Andie 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/release-notes/5.46.0.md b/civicrm/release-notes/5.46.0.md
index 8ee08bf1a4c3c545fef2e8ad127a4729ef7fee38..1830506bc8b923004c4e374ca8c60c3a67dee3dc 100644
--- a/civicrm/release-notes/5.46.0.md
+++ b/civicrm/release-notes/5.46.0.md
@@ -13,163 +13,274 @@ Released February 3, 2022
 
 | *Does this version...?*                                         |         |
 |:--------------------------------------------------------------- |:-------:|
-| Fix security vulnerabilities?                                   | no      |
-| Change the database schema?                                     | no      |
-| Alter the API?                                                  | yes     |
-| Require attention to configuration options?                     |         |
-| Fix problems installing or upgrading to a previous version?     | no      |
-| Introduce features?                                             | yes     |
-| Fix bugs?                                                       | yes     |
+| Fix security vulnerabilities?                                   |   no    |
+| **Change the database schema?**                                 | **yes** |
+| **Alter the API?**                                              | **yes** |
+| **Require attention to configuration options?**                 | **yes** |
+| **Fix problems installing or upgrading to a previous version?** | **yes** |
+| **Introduce features?**                                         | **yes** |
+| **Fix bugs?**                                                   | **yes** |
 
 ## <a name="features"></a>Features
 
 ### Core CiviCRM
 
-- **"Open in new tab" on .crm-summary-link icons should open contact page ([22303](https://github.com/civicrm/civicrm-core/pull/22303))**
+- **re-jig demo roles to add restricted user
+  ([dev/core#2773](https://lab.civicrm.org/dev/core/-/issues/2773):
+  [22377](https://github.com/civicrm/civicrm-core/pull/22377))**
 
-## <a name="bugs"></a>Bugs resolved
+  Adds an ACL to demo data.
 
-- **(dev/financial#57) Hide recur trxn_id if it matches recur processor_id ([21916](https://github.com/civicrm/civicrm-core/pull/21916))**
+- **When adding custom data set change default selected option
+  ([dev/core#2977](https://lab.civicrm.org/dev/core/-/issues/2977):
+  [22244](https://github.com/civicrm/civicrm-core/pull/22244))**
 
-- **(dev/report#90) Don't crash SearchKit on upgrade from 5.35 ([22375](https://github.com/civicrm/civicrm-core/pull/22375))**
+  Changes the defaults when adding custom data sets to make them more user
+  friendly.
 
-- **(dev/report#93) SearchKit shows broken external URLs ([22437](https://github.com/civicrm/civicrm-core/pull/22437))**
+- **Expose email on hold as filter for reports
+  ([dev/core#3012](https://lab.civicrm.org/dev/core/-/issues/3012):
+  [22357](https://github.com/civicrm/civicrm-core/pull/22357))**
 
-- **(dev/drupal#169) Fix namespacing in KCFinder ([338](https://github.com/civicrm/civicrm-packages/pull/338))**
+  Adds a email on hold filter to reports.
 
-- **(dev/drupal#172) Module status used incorrectly in Drupal 8 to determine which modules to care about for managed entities ([22350](https://github.com/civicrm/civicrm-core/pull/22350))**
+- **Increment recommended PHP version
+  ([dev/core#2996](https://lab.civicrm.org/dev/core/-/issues/2996):
+  [22265](https://github.com/civicrm/civicrm-core/pull/22265))**
 
-- **(dev/drupal#172) Deprecated function call in Drupal 9.3 ([22337](https://github.com/civicrm/civicrm-core/pull/22337))**
+  Changes the minimum PHP version to 7.3 and the recommended PHP version to 7.4.
 
-### Core CiviCRM
+- **APIv4 Explorer - Make selected language and format bookmarkable
+  ([22233](https://github.com/civicrm/civicrm-core/pull/22233))**
+
+  The APIv4 explorer already places params in the URL for easy bookmarking.
+  This extends it to work for the selected language tab and the selected output
+  format.
+
+- **SearchKit - Contextual "View" button
+  ([dev/core#3016](https://lab.civicrm.org/dev/core/-/issues/3016):
+  [22367](https://github.com/civicrm/civicrm-core/pull/22367))**
+
+  Improves the SearchKit user interface
 
-- **(dev/core#567) Add test shell ([22275](https://github.com/civicrm/civicrm-core/pull/22275))**
+- **SearchKit - Add links for CustomField and CustomGroup entities
+  ([22302](https://github.com/civicrm/civicrm-core/pull/22302))**
 
-- **(dev/core#1615) WP-CLI - Perform CLI installations using Civi\Setup ([264](https://github.com/civicrm/civicrm-wordpress/pull/264))**
+  Improves SearchKit user interface by adding links to custom field and custom
+  group entities.
 
-- **(dev/core#2752) Allow financial_trxns to be viewed ([21178](https://github.com/civicrm/civicrm-core/pull/21178))**
+- **SearchKit - Allow functions in the WHERE clause
+  ([22241](https://github.com/civicrm/civicrm-core/pull/22241))**
 
-- **(dev/core#2752)  Use ACL, not blanket permissions on FinancialAccount, FinancialType, EntityFinancialAccount ([21181](https://github.com/civicrm/civicrm-core/pull/21181))**
+  Adds an advanced feature for SearchKit which allows SQL functions in the
+  WHERE clause.
 
-- **(dev/core#2773) Add an ACL to demo data ([22377](https://github.com/civicrm/civicrm-core/pull/22377))**
+- **SearchKit - Import/Export saved search configuration
+  ([22229](https://github.com/civicrm/civicrm-core/pull/22229))**
 
-- **(dev/core#2825) Make source contact required for activities on the form ([22243](https://github.com/civicrm/civicrm-core/pull/22243))**
+  Provides a UI for importing and exporting SavedSearches in JSON format. This
+  allows power-users to copy and paste their Searches between sites. For
+  extension developers, includes a direct link to generate a .mgd.php file from
+  the API Explorer.
 
-- **(dev/core#2927) Avoid warnings for is_dir() when open_basedir is in effect ([22107](https://github.com/civicrm/civicrm-core/pull/22107))**
+- **SearchKit - Facilitate popup forms
+  ([22490](https://github.com/civicrm/civicrm-core/pull/22490))**
 
-- **(dev/core#2962) Get contact ID for the mailing along with display nam… ([22096](https://github.com/civicrm/civicrm-core/pull/22096))**
+  This adds two bits of utility code to facilitate adding a popup form to an
+  Afform containing a Search Display.
 
-- **(dev/core#2977) For custom group creation, flip the default display settings ([22244](https://github.com/civicrm/civicrm-core/pull/22244))**
+- **SearchKit - Allow aggregate columns to be links
+  ([22356](https://github.com/civicrm/civicrm-core/pull/22356))**
 
-- **(dev/core#2979) Remove the limit of 15 max values for multiple values… ([22214](https://github.com/civicrm/civicrm-core/pull/22214))**
+  Allows aggregate columns to be rendered as a link in SearchKit Displays
 
-- **(dev/core#2982) Deprecated warnings for money formatting in Repeat Contributions CiviReport ([22217](https://github.com/civicrm/civicrm-core/pull/22217))**
+- **CustomGroup - Add pseudoconstant for extends column
+  ([22282](https://github.com/civicrm/civicrm-core/pull/22282))**
 
-- **(dev/core#2984) Clarify API error when component is disabled ([22231](https://github.com/civicrm/civicrm-core/pull/22231))**
+  Adds missing pseudoconstant to schema, which will allow a SearchKit-based
+  display of custom groups.
 
-- **(dev/core#2996) Increment PHP recommndations ([22265](https://github.com/civicrm/civicrm-core/pull/22265))**
+- **Afform - UI and contextual titles for search displays
+  ([22319](https://github.com/civicrm/civicrm-core/pull/22319))**
 
-- **(dev/core#3001) Escape single quotes when rendering tokens in html format ([22387](https://github.com/civicrm/civicrm-core/pull/22387))**
+  Makes it easy to create drilldown search displays, passing in a URL arg to
+  specify a category/container. E.g. "Custom fields in group X", "Option values
+  for Individual Prefix", "Email addresses for Bob Smith".
 
-- **(dev/core#3001) Escape single quotes when rendering tokens in html format ([22285](https://github.com/civicrm/civicrm-core/pull/22285))**
+- **Add system status warning to display scheduled job failures
+  ([21762](https://github.com/civicrm/civicrm-core/pull/21762))**
 
-- **(dev/core#3012) Expose email on hold as filter for report ([22357](https://github.com/civicrm/civicrm-core/pull/22357))**
+  Adds a system status message to display scheduled job errors.
 
-- **(dev/core#3026) 5.46 version of 22478 ([22479](https://github.com/civicrm/civicrm-core/pull/22479))**
+- **Add system status check for missing dedupe rules
+  ([22369](https://github.com/civicrm/civicrm-core/pull/22369))**
 
-- **(dev/core#3028) For invalid greetings, return '' instead of failing ([22650](https://github.com/civicrm/civicrm-core/pull/22650))**
+  Adds a system status check to alert system administrators when an unsupervised
+  and/or supervised dedupe rule is missing.
 
-- **(dev/core#3029) Avoid risking a TypeError when evaluating tokens for non-existent custom fields ([22537](https://github.com/civicrm/civicrm-core/pull/22537))**
+- **Extensions - Add dependency status check
+  ([22640](https://github.com/civicrm/civicrm-core/pull/22640))**
 
-- **Extensions - Add dependency status check ([22640](https://github.com/civicrm/civicrm-core/pull/22640))**
+  Adds a extensions dependency status check.
 
-- **ExtensionUpgrades - Skip trying to upgrade missing dependencies ([22623](https://github.com/civicrm/civicrm-core/pull/22623))**
+- **Improve accessibility - associate label and fields
+  ([22361](https://github.com/civicrm/civicrm-core/pull/22361))**
 
-- **APIv4 Explorer - Format array params using add methods instead of set ([22382](https://github.com/civicrm/civicrm-core/pull/22382))**
+  Associates the labels on the event location form with the relevant inputs to
+  improve accessibility for screen reader users.
 
-- **APIv4 - Rename 'ReadOnly' trait to 'ReadOnlyEntity' to avoid PHP error ([22626](https://github.com/civicrm/civicrm-core/pull/22626))**
+- **Add state name to export fields
+  ([22318](https://github.com/civicrm/civicrm-core/pull/22318))**
 
-- **APIv4 Explorer - Make selected language and format bookmarkable ([22233](https://github.com/civicrm/civicrm-core/pull/22233))**
+  Adds the ability to export the state name when exporting contacts.
 
-- **APIv4 - Fix saving NULL as custom field value ([22328](https://github.com/civicrm/civicrm-core/pull/22328))**
+- **Add authx_login() API for backend script authentication (alt)
+  ([22292](https://github.com/civicrm/civicrm-core/pull/22292))**
 
-- **APIv4 - Set default status when creating GroupContact record ([22322](https://github.com/civicrm/civicrm-core/pull/22322))**
+  Adds a function to login as a user. It is cross-platform; accepts contact ID,
+  user ID, or username; and it updates relevant services (eg Civi session;
+  Drupal $user; MySQL @civicrm_user_id).
 
-- **APIv4 - Make Groups a managed entity, fix 'null' bugs in BAO_Group ([22228](https://github.com/civicrm/civicrm-core/pull/22228))**
+### CiviContribute
 
-- **APIv4 - Set 'activity_type_id' to required ([22359](https://github.com/civicrm/civicrm-core/pull/22359))**
+- **Payments - Where do we store IDs from payment processor? (Work Towards
+  [dev/financial#57](https://lab.civicrm.org/dev/financial/-/issues/57):
+  [21916](https://github.com/civicrm/civicrm-core/pull/21916))**
 
-- **Use api for entityRole - addresses save issue on the form ([22589](https://github.com/civicrm/civicrm-core/pull/22589))**
+  Hides the recur trxn_id if it matches the processor_id.
 
-- **SearchKit - Fix editable dates on standalone form ([22366](https://github.com/civicrm/civicrm-core/pull/22366))**
+- **Financial entity permissions (Work Towards
+  [dev/core#2752](https://lab.civicrm.org/dev/core/-/issues/2752):
+  [21178](https://github.com/civicrm/civicrm-core/pull/21178) and
+  [21181](https://github.com/civicrm/civicrm-core/pull/21181))**
 
-- **SearchKit - Tweak export explorer link icon + format ([22300](https://github.com/civicrm/civicrm-core/pull/22300))**
+  Allows financial_trxns to be viewed and use ACL, not blanket permissions on
+  FinancialAccount, FinancialType, EntityFinancialAccount.
 
-- **SearchKit - Add links for CustomField and CustomGroup entities ([22302](https://github.com/civicrm/civicrm-core/pull/22302))**
+- **Demo sample data - Add in some mixed currency contributions
+  ([22307](https://github.com/civicrm/civicrm-core/pull/22307))**
 
-- **SearchKit - Contextual "View" button ([22367](https://github.com/civicrm/civicrm-core/pull/22367))**
+  Improves contribution sample data by adding some mixed currency contributions.
 
-- **SearchKit - Fix running searches for anonymous users ([22597](https://github.com/civicrm/civicrm-core/pull/22597))**
+- **Add recurring conributions to sample data
+  ([22296](https://github.com/civicrm/civicrm-core/pull/22296))**
 
-- **SearchKit - Fix token selector to use expression alias ([22539](https://github.com/civicrm/civicrm-core/pull/22539))**
+  Improves contributions sample data by adding recurring contributions.
+
+## <a name="bugs"></a>Bugs resolved
+
+### Core CiviCRM
 
-- **SearchKit - Fix UI for configuring display pager limit ([22321](https://github.com/civicrm/civicrm-core/pull/22321))**
+- **"Open in new tab" on .crm-summary-link icons should open contact
+  page, not summary content.
+  ([dev/core#2926](https://lab.civicrm.org/dev/core/-/issues/2926):
+  [22303](https://github.com/civicrm/civicrm-core/pull/22303))**
 
-- **SearchKit - Allow functions in the WHERE clause ([22241](https://github.com/civicrm/civicrm-core/pull/22241))**
+- **Separate membership payment on contribution form with auto renewal not get
+  processed (Work Towards
+  [dev/core#567](https://lab.civicrm.org/dev/core/-/issues/567):
+  [22275](https://github.com/civicrm/civicrm-core/pull/22275))**
 
-- **SearchKit - Import/Export saved search configuration ([22229](https://github.com/civicrm/civicrm-core/pull/22229))**
+  Adds a test shell to ensure membership payments with auto renewal get
+  processed.
 
-- **SearchKit - Facilitate popup forms ([22490](https://github.com/civicrm/civicrm-core/pull/22490))**
+- **Avoid warnings for is_dir() when open_basedir is in effect
+  ([dev/core#2927](https://lab.civicrm.org/dev/core/-/issues/2927):
+  [22107](https://github.com/civicrm/civicrm-core/pull/22107))**
 
-- **SearchKit - Fix column headers for custom fields in default display ([22331](https://github.com/civicrm/civicrm-core/pull/22331))**
+- **Removes the limit of 15 max values for multiple values can also
+  be retrieved from URL in reports
+  ([dev/core#2979](https://lab.civicrm.org/dev/core/-/issues/2979):
+  [22214](https://github.com/civicrm/civicrm-core/pull/22214))**
 
-- **SearchKit - Allow aggregate columns to be links ([22356](https://github.com/civicrm/civicrm-core/pull/22356))**
+- **Fatal error when merging Housholds (getTemplateForGreeting)
+  ([dev/core#3028](https://lab.civicrm.org/dev/core/-/issues/3028):
+  [22650](https://github.com/civicrm/civicrm-core/pull/22650))**
 
-- **Afform - UI and contextual titles for search displays ([22319](https://github.com/civicrm/civicrm-core/pull/22319))**
+- **TypeError when trying to replace tokens for custom fields that don't exist
+  ([dev/core#3029](https://lab.civicrm.org/dev/core/-/issues/3029):
+  [22537](https://github.com/civicrm/civicrm-core/pull/22537))**
 
-- **Afform - Set date-range defaults ([22234](https://github.com/civicrm/civicrm-core/pull/22234))**
+- **Escape single quotes in token html output
+  ([dev/core#3001](https://lab.civicrm.org/dev/core/-/issues/3001):
+  [22387](https://github.com/civicrm/civicrm-core/pull/22387) and
+  [22285](https://github.com/civicrm/civicrm-core/pull/22285))**
 
-- **Use field value function to get html signature ([22445](https://github.com/civicrm/civicrm-core/pull/22445))**
+- **APIv4 - Rename 'ReadOnly' trait to 'ReadOnlyEntity' to avoid PHP error
+  ([22626](https://github.com/civicrm/civicrm-core/pull/22626))**
 
-- **DedupeRules - Translate contact type labels, respect enabled contact types ([22383](https://github.com/civicrm/civicrm-core/pull/22383))**
+- **APIv4 - Fix saving NULL as custom field value
+  ([22328](https://github.com/civicrm/civicrm-core/pull/22328))**
 
-- **Add system status check for missing dedupe rules ([22369](https://github.com/civicrm/civicrm-core/pull/22369))**
+- **APIv4 GroupContact create indicates user is added but are not
+  ([dev/core#2924](https://lab.civicrm.org/dev/core/-/issues/2924):
+  [22322](https://github.com/civicrm/civicrm-core/pull/22322))**
 
-- **Use new money formatting util for Smarty formatting ([22309](https://github.com/civicrm/civicrm-core/pull/22309))**
+- **APIv4 - Make Groups a managed entity, fix 'null' bugs in BAO_Group
+  ([22228](https://github.com/civicrm/civicrm-core/pull/22228))**
 
-- **Improve accessibility - associate label and fields ([22361](https://github.com/civicrm/civicrm-core/pull/22361))**
+- **APIv4 - Set 'activity_type_id' to required
+  ([22359](https://github.com/civicrm/civicrm-core/pull/22359))**
 
-- **Allow chart dropdown labels to be translatable. ([22349](https://github.com/civicrm/civicrm-core/pull/22349))**
+- **Use api for entityRole - addresses save issue on the form
+  ([22589](https://github.com/civicrm/civicrm-core/pull/22589))**
 
-- **Add state name to export fields ([22318](https://github.com/civicrm/civicrm-core/pull/22318))**
+- **SearchKit - Fix editable dates on standalone form
+  ([22366](https://github.com/civicrm/civicrm-core/pull/22366))**
 
-- **SqlParallel - Enable more tests. Fix compatiblity with `release_time` ([22326](https://github.com/civicrm/civicrm-core/pull/22326))**
+- **SearchKit - Fix running searches for anonymous users
+  ([22597](https://github.com/civicrm/civicrm-core/pull/22597))**
 
-- **Use JS escaping for {ts} calls in a JS context ([22348](https://github.com/civicrm/civicrm-core/pull/22348))**
+- **SearchKit - Fix token selector to use expression alias
+  ([22539](https://github.com/civicrm/civicrm-core/pull/22539))**
 
-- **Add workflow template classes for contributions ([22340](https://github.com/civicrm/civicrm-core/pull/22340))**
+- **SearchKit - Fix UI for configuring display pager limit
+  ([22321](https://github.com/civicrm/civicrm-core/pull/22321))**
 
-- **Find Activities Search, default search option for Activity Status will exclude Activities by default which do not have a status of Scheduled or Completed. Confuses and frustrates End Users. ([21596](https://github.com/civicrm/civicrm-core/pull/21596))**
+- **SearchKit - Fix column headers for custom fields in default display
+  ([22331](https://github.com/civicrm/civicrm-core/pull/22331))**
 
-- **Wrap another set of hardcoded strings in {ts} ([22315](https://github.com/civicrm/civicrm-core/pull/22315))**
+- **SearchKit/Form: exposing a Date custom field has invalid year range
+  ([dev/report#84](https://lab.civicrm.org/dev/report/-/issues/84):
+  [22234](https://github.com/civicrm/civicrm-core/pull/22234))**
 
-- **Add authx_login() API for backend script authentication (alt) ([22292](https://github.com/civicrm/civicrm-core/pull/22292))**
+- **SearchKit: URLs to external sites no longer render
+  ([dev/report#93](https://lab.civicrm.org/dev/report/-/issues/93):
+  [22437](https://github.com/civicrm/civicrm-core/pull/22437))**
 
-- **Event Registration: initialize array ([22312](https://github.com/civicrm/civicrm-core/pull/22312))**
+- **SearchKit: Chicken-and-egg problem upgrading from 5.35.2 to 5.44.0
+  ([dev/report#90](https://lab.civicrm.org/dev/report/-/issues/90):
+  [22375](https://github.com/civicrm/civicrm-core/pull/22375))**
 
-- **Display label before input elements on SMTP settings page ([22304](https://github.com/civicrm/civicrm-core/pull/22304))**
+  Don't crash SearchKit on upgrade from 5.35.
 
-- **Follow up fix on recur data ([22301](https://github.com/civicrm/civicrm-core/pull/22301))**
+- **DedupeRules - Translate contact type labels, respect enabled contact types
+  ([22383](https://github.com/civicrm/civicrm-core/pull/22383))**
 
-- **Demo sample data - Add in some mixed currency contributions ([22307](https://github.com/civicrm/civicrm-core/pull/22307))**
+  Fixes up the Dedupe Rules page to properly handle contact types.
 
-- **Add recurring conributions to sample data ([22296](https://github.com/civicrm/civicrm-core/pull/22296))**
+- **Allow chart dropdown labels to be translatable.
+  ([22349](https://github.com/civicrm/civicrm-core/pull/22349))**
 
-- **Add workflow template for recurring cancelled ([21611](https://github.com/civicrm/civicrm-core/pull/21611))**
+- **SqlParallel - Enable more tests. Fix compatiblity with `release_time`
+  ([22326](https://github.com/civicrm/civicrm-core/pull/22326))**
 
-- **CustomGroup - Add pseudoconstant for extends column ([22282](https://github.com/civicrm/civicrm-core/pull/22282))**
+- **Use JS escaping for {ts} calls in a JS context
+  ([22348](https://github.com/civicrm/civicrm-core/pull/22348))**
 
-- **Add system status warning to display scheduled job failures ([21762](https://github.com/civicrm/civicrm-core/pull/21762))**
+- **Find Activities Search, default search option for Activity Status will
+  exclude Activities by default which do not have a status of Scheduled or
+  Completed. Confuses and frustrates End Users.
+  ([21596](https://github.com/civicrm/civicrm-core/pull/21596))**
+
+- **Wrap another set of hardcoded strings in {ts}
+  ([22315](https://github.com/civicrm/civicrm-core/pull/22315))**
+
+- **Display label before input elements on SMTP settings page
+  ([22304](https://github.com/civicrm/civicrm-core/pull/22304))**
+
+- **ExtensionUpgrades - Skip trying to upgrade missing dependencies
+  ([22623](https://github.com/civicrm/civicrm-core/pull/22623))**
 
 - **Fix input type for Smarty number formatting (more forgiving)
   ([22429](https://github.com/civicrm/civicrm-core/pull/22429))**
@@ -240,6 +351,9 @@ Released February 3, 2022
 - **Contact/BAO/Query.php: fix searching for whitespace
   ([22240](https://github.com/civicrm/civicrm-core/pull/22240))**
 
+- **Use new money formatting util for Smarty formatting
+  ([22309](https://github.com/civicrm/civicrm-core/pull/22309))**
+
 - **Smarty variables]  Remove another isset - deferredFinancialType
   ([22183](https://github.com/civicrm/civicrm-core/pull/22183))**
 
@@ -275,8 +389,23 @@ Released February 3, 2022
 - **Fix campaign dashboard to work with default escaping
   ([22364](https://github.com/civicrm/civicrm-core/pull/22364))**
 
+## CiviCase
+
+- **Case activity won't open without a source
+  ([dev/core#2825](https://lab.civicrm.org/dev/core/-/issues/2825):
+  [22243](https://github.com/civicrm/civicrm-core/pull/22243))**
+
+- **APIv4: Confusing error when calling CaseType API
+  ([dev/core#2984](https://lab.civicrm.org/dev/core/-/issues/2984):
+  [22231](https://github.com/civicrm/civicrm-core/pull/22231))**
+
 ## CiviContribution
 
+- **Repeat Contributions CiviReport warnings: Formatting non-numeric values is
+  no longer supported
+  ([dev/core#2982](https://lab.civicrm.org/dev/core/-/issues/2982):
+  [22217](https://github.com/civicrm/civicrm-core/pull/22217))**
+
 - **Do not apply default escaping to multiselects on currency form
  ([22294](https://github.com/civicrm/civicrm-core/pull/22294))**
 
@@ -292,18 +421,71 @@ Released February 3, 2022
 - **Ensure we don't get previously set honoree values in receipts
   ([21483](https://github.com/civicrm/civicrm-core/pull/21483))**
 
+- **Follow up fix on recur data
+  ([22301](https://github.com/civicrm/civicrm-core/pull/22301))**
+
 ## CiviEvent
 
+- **Event Registration: initialize array
+  ([22312](https://github.com/civicrm/civicrm-core/pull/22312))**
+
+  Minor code nitpick to avoid a PHP fatal on PHP 8.0 in certain unusual
+  circumstances.
+
 - **Fix JS Error for Free event with multiple participant on registration
   ([22310](https://github.com/civicrm/civicrm-core/pull/22310))**
 
 ## Drupal Integration
 
+- **Deprecated function drupal_get_installed_schema_version() in 9.3, but with a
+  twist ([dev/drupal#172](https://lab.civicrm.org/dev/drupal/-/issues/172):
+  [22337](https://github.com/civicrm/civicrm-core/pull/22337) and
+  [22350](https://github.com/civicrm/civicrm-core/pull/22350))**
+
+- **"Your browser session has expired and we are unable to complete your form
+  submission" on all D9.2 anonymous sessions
+  ([dev/drupal#169](https://lab.civicrm.org/dev/drupal/-/issues/169):
+  [338](https://github.com/civicrm/civicrm-packages/pull/338))**
+
+  Fixes an error when uploading images to CKEditor via KCFinder.
+
 - **Fix unreplaced template vars in civicrm.settings.php when using drush
   installer ([67](https://github.com/civicrm/civicrm-drupal-8/pull/67))**
 
+- **Drupal Full-Text Search block session time out error
+  ([dev/core#3026](https://lab.civicrm.org/dev/core/-/issues/3026):
+  [22479](https://github.com/civicrm/civicrm-core/pull/22479))**
+
+## WordPress Integration
+
+- **Migrate installers to "setup" API
+  (Work Towards [dev/core#1615](https://lab.civicrm.org/dev/core/-/issues/1615):
+  [264](https://github.com/civicrm/civicrm-wordpress/pull/264))**
+
+  Perform CLI installations using Civi\Setup.
+
 ## <a name="misc"></a>Miscellany
 
+- **Add workflow template for recurring cancelled
+  ([21611](https://github.com/civicrm/civicrm-core/pull/21611))**
+
+- **Add workflow template classes for contributions
+  ([22340](https://github.com/civicrm/civicrm-core/pull/22340))**
+
+- **Use field value function to get html signature
+  ([22445](https://github.com/civicrm/civicrm-core/pull/22445))**
+
+- **SearchKit - Tweak export explorer link icon + format
+  ([22300](https://github.com/civicrm/civicrm-core/pull/22300))**
+
+- **Expose contact ID in getContactInfo method in
+  CRM/Mailing/Event/BAO/Queue.php
+  ([dev/core#2962](https://lab.civicrm.org/dev/core/-/issues/2962):
+  [22096](https://github.com/civicrm/civicrm-core/pull/22096))**
+
+- **APIv4 Explorer - Format array params using add methods instead of set
+  ([22382](https://github.com/civicrm/civicrm-core/pull/22382))**
+
 - **Update Brick/Money to 0.5.3
   ([22246](https://github.com/civicrm/civicrm-core/pull/22246))**
 
@@ -347,7 +529,7 @@ Released February 3, 2022
   ([69](https://github.com/civicrm/civicrm-drupal-8/pull/69))**
 
 - **Update jquery.tokeninput.js to 1.6.1
-  ß([336](https://github.com/civicrm/civicrm-packages/pull/336))**
+  ([336](https://github.com/civicrm/civicrm-packages/pull/336))**
 
 - **Privatise function
   ([22392](https://github.com/civicrm/civicrm-core/pull/22392))**
@@ -356,7 +538,7 @@ Released February 3, 2022
   ([22393](https://github.com/civicrm/civicrm-core/pull/22393))**
 
 - **Remove unused function CRM/Utils/Mail/EmailProcessor::cleanupDir
-  ß([22278](https://github.com/civicrm/civicrm-core/pull/22278))**
+  ([22278](https://github.com/civicrm/civicrm-core/pull/22278))**
 
 - **Remove unused method getGrantStatusOptGroup
   ([22332](https://github.com/civicrm/civicrm-core/pull/22332))**
diff --git a/civicrm/release-notes/5.46.1.md b/civicrm/release-notes/5.46.1.md
deleted file mode 100644
index 4d07c8d6665b1f63d7bc36e316a633be1c00c13f..0000000000000000000000000000000000000000
--- a/civicrm/release-notes/5.46.1.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# CiviCRM 5.46.1
-
-Released February 9, 2022
-
-- **[Synopsis](#synopsis)**
-- **[Bugs resolved](#bugs)**
-- **[Credits](#credits)**
-- **[Feedback](#feedback)**
-
-## <a name="synopsis"></a>Synopsis
-
-| *Does this version...?*                                         |          |
-| --------------------------------------------------------------- | -------- |
-| 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
-
-* **_Custom Data_: Error when displaying monetary certain values ([dev/core#3059](https://lab.civicrm.org/dev/core/-/issues/3059): [#22727](https://github.com/civicrm/civicrm-core/pull/22727))**
-* **_Status Check_: API-based staus-check fails due to incorrect permissioning ([dev/core#3055](https://lab.civicrm.org/dev/core/-/issues/3055): [#22733](https://github.com/civicrm/civicrm-core/pull/22733))**
-
-## <a name="credits"></a>Credits
-
-This release was developed by the following authors and reviewers:
-
-Wikimedia Foundation - Eileen McNaughton; Megaphone Technology Consulting - Jon Goldberg;
-Dave D; CiviCRM - Tim Otten, Coleman Watts; BrightMinded Ltd - Bradley Taylor
-
-## <a name="feedback"></a>Feedback
-
-These release notes are edited by Tim Otten and Andie 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/release-notes/5.46.2.md b/civicrm/release-notes/5.46.2.md
deleted file mode 100644
index f9cf1ac4d6463b06bc79f8a30b7bd7165f138470..0000000000000000000000000000000000000000
--- a/civicrm/release-notes/5.46.2.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# CiviCRM 5.46.2
-
-Released February 10, 2022
-
-- **[Synopsis](#synopsis)**
-- **[Bugs resolved](#bugs)**
-- **[Credits](#credits)**
-- **[Feedback](#feedback)**
-
-## <a name="synopsis"></a>Synopsis
-
-| *Does this version...?*                                         |          |
-| --------------------------------------------------------------- | -------- |
-| Change the database schema?                                     | no       |
-| **Alter the API?**                                              | **yes**  |
-| 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
-
-* **_APIv3_: `Duplicatecheck` has hard failure when `rule_type` is omitted ([dev/core#3065](https://lab.civicrm.org/dev/core/-/issues/3065): [#22741](https://github.com/civicrm/civicrm-core/pull/22741))**
-
-  This change restores compatibility with certain webform_civicrm configurations.
-
-* **_APIv3_: Relations with numerical names no longer resolved ([dev/core#3063](https://lab.civicrm.org/dev/core/-/issues/3063): [#22751](https://github.com/civicrm/civicrm-core/pull/22751))**
-
-  This change restores compatibility with certain REST API consumers.
-
-## <a name="credits"></a>Credits
-
-This release was developed by the following authors and reviewers:
-
-Wikimedia Foundation - Eileen McNaughton; Semper IT - Karin Gerritsen; Mikey O'Toole;
-Megaphone Technology Consulting - Jon Goldberg; JMA Consulting - Seamus Lee; CiviCRM -
-Coleman Watts, Tim Otten
-
-## <a name="feedback"></a>Feedback
-
-These release notes are edited by Tim Otten and Andie 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/release-notes/5.47.0.md b/civicrm/release-notes/5.47.0.md
new file mode 100644
index 0000000000000000000000000000000000000000..0b8a55f5821cb8068f5e67e535ba065fc6c403b4
--- /dev/null
+++ b/civicrm/release-notes/5.47.0.md
@@ -0,0 +1,949 @@
+# CiviCRM 5.47.0
+
+Released March 4, 2022
+
+- **[Synopsis](#synopsis)**
+- **[Features](#features)**
+- **[Bugs resolved](#bugs)**
+- **[Miscellany](#misc)**
+- **[Credits](#credits)**
+- **[Feedback](#feedback)**
+
+## <a name="synopsis"></a>Synopsis
+
+| *Does this version...?*                                         |         |
+|:--------------------------------------------------------------- |:-------:|
+| Fix security vulnerabilities?                                   |   no    |
+| **Change the database schema?**                                 | **yes** |
+| **Alter the API?**                                              | **yes** |
+| Require attention to configuration options?                     |   no    |
+| Fix problems installing or upgrading to a previous version?     |   no    |
+| **Introduce features?**                                         | **yes** |
+| **Fix bugs?**                                                   | **yes** |
+
+## <a name="features"></a>Features
+
+### Core CiviCRM
+
+- **Add created_date & modified_date to civicrm_relationship
+  ([22480](https://github.com/civicrm/civicrm-core/pull/22480))**
+
+  Adds created_date & modified_date to the civicrm_relationship table.
+
+- **Add option to display money tokens without formatting
+  ([22548](https://github.com/civicrm/civicrm-core/pull/22548))**
+
+  Adds an option to display money tokens without formatting.
+
+- **SearchKit - Improve field/operator/value selection UI
+  ([22604](https://github.com/civicrm/civicrm-core/pull/22604))**
+
+  Improves the SearchKit UI for selecting field/operator/value conditions.
+  Affects various parts of the UI, like css conditions, link conditions,
+  where/on/having clauses, etc.
+
+- **SearchKit - Support operators in conditional css rules
+  ([22552](https://github.com/civicrm/civicrm-core/pull/22552))**
+
+  Allows operators other than = in SearchKit conditional style rules.
+
+- **SearchKit - Allow Smarty in field rewrite
+  ([22592](https://github.com/civicrm/civicrm-core/pull/22592))**
+
+  Gives the ability to use Smarty syntax in the "rewrite" of SearchKit displays.
+
+- **SearchKit: Relationship Description unavailable
+  ([dev/core#3019](https://lab.civicrm.org/dev/core/-/issues/3019):
+  [22606](https://github.com/civicrm/civicrm-core/pull/22606))**
+
+  Exposes relationship description, created/modified_date & permissions fields
+  in SearchKit.
+
+- **SearchKit - add/remove tags action for all taggable entities
+  ([21865](https://github.com/civicrm/civicrm-core/pull/21865))**
+
+  Adds a new angular-based action to SearchKit for bulk adding/removing tags
+  from contacts, cases, activities, etc.
+
+- **SearchKit - Support conditional links
+  ([22557](https://github.com/civicrm/civicrm-core/pull/22557))**
+
+  Adds an advanced feature to conditionally show/hide links in a
+  links/buttons/menu column, based on user permissions or row values.
+
+- **SearchKit - Update operator labels
+  ([22554](https://github.com/civicrm/civicrm-core/pull/22554))**
+
+  Updates SearchKit labels to hopefully better describe ReGex.
+
+- **SearchKit - Enable joins for custom fields and option groups
+  ([22355](https://github.com/civicrm/civicrm-core/pull/22355))**
+
+  Enables SearchKit to join custom groups to custom fields, and option groups to
+  option values.
+
+- **APIv4 - Add SubscriptionHistory entity
+  ([22435](https://github.com/civicrm/civicrm-core/pull/22435))**
+
+  Adds a SubscriptionHistory entity to APIv4.
+
+- **APIv4 - Make Permission 'group' discoverable in API Explorer
+  ([22559](https://github.com/civicrm/civicrm-core/pull/22559))**
+
+  Makes `group` options for the `Permission` API discoverable.
+
+- **Improve field accessibility in legacycustomsearches
+  ([22710](https://github.com/civicrm/civicrm-core/pull/22710))**
+
+  Improves accessibility of legacy custom searches.
+
+- **Expose a REST end-point through standard routing (Work Towards
+  [dev/core#2077](https://lab.civicrm.org/dev/core/-/issues/2077):
+  [19727](https://github.com/civicrm/civicrm-core/pull/19727) and
+  [22058](https://github.com/civicrm/civicrm-core/pull/22058))**
+
+  Makes 'civicrm/ajax/rest' interoperable with 'extern/rest.php' parameters and
+  adds an AuthX configuration screen.
+
+- **Define more usable queue DX for multithreaded background work (Work Towards
+  [dev/core#1304](https://lab.civicrm.org/dev/core/-/issues/1304):
+  [22324](https://github.com/civicrm/civicrm-core/pull/22324) and
+  [22657](https://github.com/civicrm/civicrm-core/pull/22657))**
+
+  Adds a high-level queue tracking table and updates the programmatic APIs to
+  make it easier to work with persistent queues.
+
+- **Civi::pipe - Add support for background worker-processes with JSON pipes
+  ([22262](https://github.com/civicrm/civicrm-core/pull/22262))**
+
+  Add an entry-point for external scripts to send multiple API calls to a
+  CiviCRM worker-process - while only bootstrapping one time.
+
+- **Expose email on hold as filter for reports (Work towards
+  [dev/core#3012](https://lab.civicrm.org/dev/core/-/issues/3012):
+  [22368](https://github.com/civicrm/civicrm-core/pull/22368) and
+  [22572](https://github.com/civicrm/civicrm-core/pull/22572))**
+
+  Exposes email on hold as filter on contribution reports.
+
+- **Extensions - Add dependency status check
+  ([22464](https://github.com/civicrm/civicrm-core/pull/22464))**
+
+  Adds a system status check to ensure extension dependencies are met, and warn
+  the admin of missing dependencies.
+
+- **Add metadata so Activity Created Date is available in Form Builder
+  ([22320](https://github.com/civicrm/civicrm-core/pull/22320))**
+
+  Makes the Activity Created date available in Form Builder.
+
+- **Move permission access handling for
+  civicrm/admin/financial/financialType?reset=1 to extension
+  ([22685](https://github.com/civicrm/civicrm-core/pull/22685) and
+  [22499](https://github.com/civicrm/civicrm-core/pull/22499))**
+
+  Moves permission access handling for
+  civicrm/admin/financial/financialType?reset=1 to extension.
+
+- **Add setting "format_locale"
+  ([dev/core#3095](https://lab.civicrm.org/dev/core/-/issues/3095):
+  [22885](https://github.com/civicrm/civicrm-core/pull/22885))**
+
+  Adds a new setting, "Formatting Locale", which specifies that dates and
+  numbers should formatted according to designated localization rules.
+  This setting may be useful for a locale (eg `en_NZ`) whose language closely
+  resembles another (eg `en_US`) but which has a different currency.
+
+### CiviContribute
+
+- **Why are unique labels for price fields required?
+  ([dev/event#66](https://lab.civicrm.org/dev/event/-/issues/66):
+  [22508](https://github.com/civicrm/civicrm-core/pull/22508))**
+
+  Makes it so duplicate price field labels are allowed.
+
+- **Use tokens in offline contribution receipt (new installs)
+  ([22560](https://github.com/civicrm/civicrm-core/pull/22560))**
+
+  Use tokens instead of Smarty Variables in the offline contribution receipt
+  template for new installs.
+
+### CiviEvent
+
+- **Event Registration: allow default Price Set values from the URL
+  ([22313](https://github.com/civicrm/civicrm-core/pull/22313))**
+
+  Makes it so one can set the default price field on event registration forms
+  using URL parameters.
+
+- **Account for time zone on event registration pages
+  ([dev/core#2122](https://lab.civicrm.org/dev/core/-/issues/2122):
+  [22620](https://github.com/civicrm/civicrm-core/pull/22620),
+  [22622](https://github.com/civicrm/civicrm-core/pull/22622),
+  [20476](https://github.com/civicrm/civicrm-core/pull/20476),
+  [22619](https://github.com/civicrm/civicrm-core/pull/22619),
+  [22645](https://github.com/civicrm/civicrm-core/pull/22645) and
+  [22644](https://github.com/civicrm/civicrm-core/pull/22644))**
+
+  Adds timezone support for events.
+
+- **updating misleading labels on buttons to confirmation pages
+  ([dev/core#1613](dev/core#1613):
+  [20251](https://github.com/civicrm/civicrm-core/pull/20251))**
+
+  Changes the event registration button text based on if there are additional
+  participants.
+
+### CiviGrant
+
+- **CiviGrant - Use SearchKit for contact summary tab
+  ([22467](https://github.com/civicrm/civicrm-core/pull/22467))**
+
+  switches the Grants tab on the contact summary page to use a SearchKit Display.
+  It looks nearly identical before and after, but is now easily customizable via
+  the SearchKit & Form-Builder GUI.
+
+- **Migrate CiviGrant component to an extension
+  ([22064](https://github.com/civicrm/civicrm-core/pull/22064))**
+
+  Moves the CiviGrant component to an extension.
+
+### CiviMail
+
+- **Start phasing out 'preferred_mail_format' (Work towards
+  [dev/core#2866](https://lab.civicrm.org/dev/core/-/issues/2866):
+  [22634](https://github.com/civicrm/civicrm-core/pull/22634) and
+  [22632](https://github.com/civicrm/civicrm-core/pull/22632))**
+
+  Generates text version of message at send time if one is not present.
+
+### WordPress Integration
+
+- **wp-cli/civicrm.php - Add 'civicrm pipe' subcommand
+  ([270](https://github.com/civicrm/civicrm-wordpress/pull/270))**
+
+  Adds support for subcommand `wp civicrm pipe`.
+
+## <a name="bugs"></a>Bugs resolved
+
+### Core CiviCRM
+
+- **Only format Smarty aliases as money if specified
+  ([22547](https://github.com/civicrm/civicrm-core/pull/22547))**
+
+- **Avoid PHP notices on activity form
+  ([22666](https://github.com/civicrm/civicrm-core/pull/22666))**
+
+- **Fix typo preventing uninstalling ckeditor4
+  ([22691](https://github.com/civicrm/civicrm-core/pull/22691))**
+
+- **Fix return values for APIv3 Job.delete
+  ([22561](https://github.com/civicrm/civicrm-core/pull/22561))**
+
+- **enforce required fields on Contact.duplicatecheck
+  ([22741](https://github.com/civicrm/civicrm-core/pull/22741))**
+
+- **APIv4 SortableEntity - Fix sorting custom fields with option groups
+  ([22716](https://github.com/civicrm/civicrm-core/pull/22716))**
+
+- **APIv4 - Correctly return date-only custom field values without the time
+  ([22649](https://github.com/civicrm/civicrm-core/pull/22649))**
+
+- **APIv4 - Use empty string instead of 'null' to pass null values to the db
+  ([22587](https://github.com/civicrm/civicrm-core/pull/22587))**
+
+- **APIv4 - Fix incorrect placement of decodeRows in loop
+  ([22413](https://github.com/civicrm/civicrm-core/pull/22413))**
+
+- **SearchKit: In-place edit for custom dropdown field - can't blank it out
+  ([dev/report#92](https://lab.civicrm.org/dev/report/-/issues/92):
+  [22358](https://github.com/civicrm/civicrm-core/pull/22358))**
+
+- **Minor SearchKit UI filtering annoyance
+  ([dev/core#3032](https://lab.civicrm.org/dev/core/-/issues/3032):
+  [22505](https://github.com/civicrm/civicrm-core/pull/22505))**
+
+- **SearchKit - Fix selecting operators and values in clauses
+  ([22653](https://github.com/civicrm/civicrm-core/pull/22653))**
+
+- **SearchKit - Refresh contents after saving a popup when in a block/tab
+  ([22809](https://github.com/civicrm/civicrm-core/pull/22809))**
+
+- **Don't throw PHP notice when rendering dedupefind template.
+  ([22709](https://github.com/civicrm/civicrm-core/pull/22709))**
+
+- **Enotice fixes with datepicker
+  ([22705](https://github.com/civicrm/civicrm-core/pull/22705))**
+
+- **Enotice fix with priceset template
+  ([22708](https://github.com/civicrm/civicrm-core/pull/22708))**
+
+- **Enotice fixes
+  ([22697](https://github.com/civicrm/civicrm-core/pull/22697))**
+
+- **Enotice fix
+  ([22436](https://github.com/civicrm/civicrm-core/pull/22436))**
+
+- **Enotice fixes
+  ([22471](https://github.com/civicrm/civicrm-core/pull/22471))**
+
+- **CustomGroup - Ensure 'name' is always unique
+  ([22675](https://github.com/civicrm/civicrm-core/pull/22675))**
+
+- **Another set of PHPdoc corrections
+  ([22658](https://github.com/civicrm/civicrm-core/pull/22658))**
+
+- **Fix batch summary to use the api
+  ([22618](https://github.com/civicrm/civicrm-core/pull/22618))**
+
+- **Fix Smarty notices in footer files
+  ([22613](https://github.com/civicrm/civicrm-core/pull/22613))**
+
+- **Remove use of .font-size11pt and .font-size12pt
+  ([22314](https://github.com/civicrm/civicrm-core/pull/22314))**
+
+- **Don't pass redundent empty strings when instantiating
+  CRM_Core_ShowHideBlocks
+  ([22605](https://github.com/civicrm/civicrm-core/pull/22605))**
+
+- **Fix call to log method warn (should be warning)
+  ([22602](https://github.com/civicrm/civicrm-core/pull/22602))**
+
+- **tpl notices and docblocks
+  ([22449](https://github.com/civicrm/civicrm-core/pull/22449))**
+
+- **Ensure assigned Smarty array has empty keys (not no keys)
+  ([22379](https://github.com/civicrm/civicrm-core/pull/22379))**
+
+- **Stop calling hook twice
+  ([22404](https://github.com/civicrm/civicrm-core/pull/22404))**
+
+- **Activity Details field on batch update via profile has wrong fieldname
+  ([22568](https://github.com/civicrm/civicrm-core/pull/22568))**
+
+- **Re-fix enotice on searchType to work with default modifiers
+  ([22466](https://github.com/civicrm/civicrm-core/pull/22466))**
+
+- **Unable to add new custom field set or new fields (to existing field set)
+  after enabling multilingual setting.
+  ([dev/translation#38](https://lab.civicrm.org/dev/translation/-/issues/38):
+  [22647](https://github.com/civicrm/civicrm-core/pull/22647))**
+
+- **System.check permissions changed in Civi 5.46
+  ([dev/core#3055](https://lab.civicrm.org/dev/core/-/issues/3055):
+  [22733](https://github.com/civicrm/civicrm-core/pull/22733))**
+
+  Fixes the dedupe check to not require elevated permissions.
+
+- **Search Builder crashes if you have admin access and CiviGrant is not enabled
+  ([dev/core#3056](https://lab.civicrm.org/dev/core/-/issues/3056):
+  [22714](https://github.com/civicrm/civicrm-core/pull/22714))**
+
+- **CiviGrant info.xml update missing from 5.47 and
+  CRM_Utils_VersioncheckTest::testGetSiteStats should have been failing for a
+  while ([dev/core#3057](https://lab.civicrm.org/dev/core/-/issues/3057):
+  [22717](https://github.com/civicrm/civicrm-core/pull/22717))**
+
+- **Regression - fatal error when viewing custom fields with money > 1000
+  ([dev/core#3059](https://lab.civicrm.org/dev/core/-/issues/3059):
+  [22727](https://github.com/civicrm/civicrm-core/pull/22727))**
+
+- **Fix broken function reference
+  ([22474](https://github.com/civicrm/civicrm-core/pull/22474))**
+
+- **Use rolling window for translating 2-digit years into 4-digit years
+  ([22581](https://github.com/civicrm/civicrm-core/pull/22581))**
+
+  Fixes outdated hard-coded import logic: translates 2-digit years to 4 using
+  rolling -95yr to +5yr window
+
+- **Rationalise relationship validation
+  ([22491](https://github.com/civicrm/civicrm-core/pull/22491))**
+
+- **Stop calling confusing function that doesn't do much .....
+  ([22468](https://github.com/civicrm/civicrm-core/pull/22468))**
+
+- **Navigation - Make required fields NOT NULL
+  ([22430](https://github.com/civicrm/civicrm-core/pull/22430))**
+
+- **Fight back against copy & paste gone wild
+  ([22417](https://github.com/civicrm/civicrm-core/pull/22417))**
+
+### CiviCampaign
+
+- **'CiviCampaign: access CiviCampaign' permission missing
+  ([dev/core#983](https://lab.civicrm.org/dev/core/-/issues/983):
+  [22459](https://github.com/civicrm/civicrm-core/pull/22459))**
+
+### CiviCase
+
+- **CiviCase - Denote `created_date` as readonly
+  ([22608](https://github.com/civicrm/civicrm-core/pull/22608))**
+
+- **Remove category from case activity template
+  ([22530](https://github.com/civicrm/civicrm-core/pull/22530))**
+
+  Remove category from case activity template to fix e-notices.
+
+### CiviContribute
+
+- **Fix ContributionRecur.payment_processor_id pseudoconstant
+  ([22750](https://github.com/civicrm/civicrm-core/pull/22750))**
+
+- **Manage Contribution page, the link to "Online Contribution (Test-drive)" is
+  an admin-only URL to register in the backend, should be a frontend URL
+  ([22672](https://github.com/civicrm/civicrm-core/pull/22672))**
+
+- **Avoid PHP notice on 'Manage Contribution Pages' screen
+  ([22661](https://github.com/civicrm/civicrm-core/pull/22661))**
+
+- **PCP is still active after contribution page is disabled.
+  ([dev/core#899](https://lab.civicrm.org/dev/core/-/issues/899):
+  [20845](https://github.com/civicrm/civicrm-core/pull/20845))**
+
+- **don't allow multiple currencies in a batch
+  ([20884](https://github.com/civicrm/civicrm-core/pull/20884))**
+
+- **Foreign constraint violation on APIv3 contribution create if
+  financial_type_id is numeric
+  ([dev/core#3063](https://lab.civicrm.org/dev/core/-/issues/3063):
+  [22740](https://github.com/civicrm/civicrm-core/pull/22740))**
+
+- **Error cancelling a contribution if CiviPledge is disabled
+  ([dev/core#3066](https://lab.civicrm.org/dev/core/-/issues/3066):
+  [22779](https://github.com/civicrm/civicrm-core/pull/22779))**
+
+- **Import of contribution fails when invalid campaign ID is provided
+  ([dev/core#2989](https://lab.civicrm.org/dev/core/-/issues/2989):
+  [22235](https://github.com/civicrm/civicrm-core/pull/22235))**
+
+- **Simplify getting contact_id from recurring contribution when generating
+  subscription URLs
+  ([22448](https://github.com/civicrm/civicrm-core/pull/22448))**
+
+- **Fix Fatal Error on contribution tab and user dashboard when recurring
+  payment generated using extension get disabled
+  ([22264](https://github.com/civicrm/civicrm-core/pull/22264))**
+
+### CiviEvent
+
+- **CiviCRM Event, the link to "On-line Registration (Test Drive)" is an
+  admin-only URL to register in the backend, should be a frontend URL
+  ([22669](https://github.com/civicrm/civicrm-core/pull/22669))**
+
+- **Set default values to avoid notices when rendering (event templates screen)
+  ([22663](https://github.com/civicrm/civicrm-core/pull/22663))**
+
+### CiviGrant
+
+- **Fix Grant::retrieve to meet full phpcs standard
+  ([22558](https://github.com/civicrm/civicrm-core/pull/22558))**
+
+- **CiviGrant - Fix installation of dependencies during upgrade
+  ([22881](https://github.com/civicrm/civicrm-core/pull/22881))**
+
+- **CiviGrant - Menu appears twice
+  ([dev/core#3087](https://lab.civicrm.org/dev/core/-/issues/3087):
+  [22855](https://github.com/civicrm/civicrm-core/pull/22855))**
+
+- **CiviGrant - Don't return grant fields as contact fields
+  ([dev/core#3069](https://lab.civicrm.org/dev/core/-/issues/3069):
+  [22851](https://github.com/civicrm/civicrm-core/pull/22851))**
+
+- **CiviGrant - Declare API permissions
+  ([22791](https://github.com/civicrm/civicrm-core/pull/22791))**
+
+### CiviMail
+
+- **Editing a mailing triggers two autosaves instead of one
+  ([dev/core#2587](https://lab.civicrm.org/dev/core/-/issues/2587):
+  [20561](https://github.com/civicrm/civicrm-core/pull/20561))**
+
+- **MailingEventQueue - Use consistent CamelCaseName. Prevent conflicts.
+  ([22343](https://github.com/civicrm/civicrm-core/pull/22343))**
+
+- **add `contact_id` to email params in `emailLetter` function
+  ([22538](https://github.com/civicrm/civicrm-core/pull/22538))**
+
+- **Fix syntax error in CRM_Mailing_Event_BAO_Reply
+  ([22453](https://github.com/civicrm/civicrm-core/pull/22453))**
+
+- **Smarty notice fix on Email help
+  ([22470](https://github.com/civicrm/civicrm-core/pull/22470))**
+
+- **CiviMail - Fix undeclared Javascript variables ([22879](https://github.com/civicrm/civicrm-core/pull/22879))**
+
+### CiviMember
+
+- **Fix spelling mistake in function name, addMembershipToRealtedContacts should
+  be addMembershipToRelatedContacts
+  ([22673](https://github.com/civicrm/civicrm-core/pull/22673))**
+
+- **Fix Smarty notices in membership dashboard
+  ([22660](https://github.com/civicrm/civicrm-core/pull/22660))**
+
+- **Don't default membership type create to inactive
+  ([22498](https://github.com/civicrm/civicrm-core/pull/22498))**
+
+### WordPress Integration
+
+- **404 Error when I use the APIv4 with WordPress Multisite -> because no "do
+  not delete" post was generated for the subsite
+  ([dev/wordpress#59](https://lab.civicrm.org/dev/wordpress/-/issues/59):
+  [271](https://github.com/civicrm/civicrm-wordpress/pull/271))**
+
+## <a name="misc"></a>Miscellany
+
+- **Move permission checks from Query & BAO to financialacl extension
+  ([22495](https://github.com/civicrm/civicrm-core/pull/22495))**
+
+- **Add billingStateProvince and standardized property names
+  ([21583](https://github.com/civicrm/civicrm-core/pull/21583))**
+
+- **Extensions - Revise prose for status check
+  ([22638](https://github.com/civicrm/civicrm-core/pull/22638))**
+
+- **Add type to phpdoc comment for report statistic function
+  ([22514](https://github.com/civicrm/civicrm-core/pull/22514))**
+
+- **Update phpdoc references to $self to include type
+  ([22513](https://github.com/civicrm/civicrm-core/pull/22513))**
+
+- **Improve method phpdoc for CRM_Utils_System
+  ([22492](https://github.com/civicrm/civicrm-core/pull/22492))**
+
+- **Run 'full Drupal strictness' standard over api/v3/examples
+  ([22528](https://github.com/civicrm/civicrm-core/pull/22528))**
+
+- **Run stricter phpcs on Civi dir
+  ([22527](https://github.com/civicrm/civicrm-core/pull/22527))**
+
+- **Fixes to spaces from phpcs
+  ([22535](https://github.com/civicrm/civicrm-core/pull/22535))**
+
+- **Various phpdoc fixes
+  ([22509](https://github.com/civicrm/civicrm-core/pull/22509))**
+
+- **Clarify contents of ids for further fixes
+  ([22402](https://github.com/civicrm/civicrm-core/pull/22402))**
+
+- **Replace all isset checks on line.tax_rate
+  ([22421](https://github.com/civicrm/civicrm-core/pull/22421))**
+
+- **Move function to the class that 'owns' it
+  ([22472](https://github.com/civicrm/civicrm-core/pull/22472))**
+
+- **PHPCS standards on css....
+  ([22529](https://github.com/civicrm/civicrm-core/pull/22529))**
+
+- **More comments & style fixes
+  ([22533](https://github.com/civicrm/civicrm-core/pull/22533))**
+
+- **Re-run regen
+  ([22536](https://github.com/civicrm/civicrm-core/pull/22536))**
+
+- **Add consistency between checkTemplateFileExists functions,
+  ([22586](https://github.com/civicrm/civicrm-core/pull/22586))**
+
+- **Increase GroupContact:create deprecation
+  ([22416](https://github.com/civicrm/civicrm-core/pull/22416))**
+
+- **APIv4 - Docblock updates, mark BAO::create functions deprecated
+  ([22415](https://github.com/civicrm/civicrm-core/pull/22415))**
+
+- **DAO - Centralize logic to derive unique name from label
+  ([22570](https://github.com/civicrm/civicrm-core/pull/22570))**
+
+- **Pass remove-by-reference
+  ([22593](https://github.com/civicrm/civicrm-core/pull/22593))**
+
+- **Mark function as private
+  ([22457](https://github.com/civicrm/civicrm-core/pull/22457))**
+
+- **Stop returning unused parameters
+  ([22410](https://github.com/civicrm/civicrm-core/pull/22410))**
+
+- **Duplicate function from deprecated utils onto calling classes & remove
+  ([22481](https://github.com/civicrm/civicrm-core/pull/22481))**
+
+- **Fix phpdoc types for $_query in CRM_Core_Selector_Base subclasses
+  ([22424](https://github.com/civicrm/civicrm-core/pull/22424))**
+
+- **Correctly document types for class consts
+  ([22659](https://github.com/civicrm/civicrm-core/pull/22659))**
+
+- **Make phpType definitions in generated DAO objects more accurate.
+  ([22607](https://github.com/civicrm/civicrm-core/pull/22607))**
+
+- **Ensure all APIv3 functions have documented types
+  ([22674](https://github.com/civicrm/civicrm-core/pull/22674))**
+
+- **CRM_Core_Component (et al) - Deprecate unused functions
+  ([22566](https://github.com/civicrm/civicrm-core/pull/22566))**
+
+- **Move deprecated function back to the only class that calls it
+  ([22517](https://github.com/civicrm/civicrm-core/pull/22517))**
+
+- **Fix PHP comments
+  ([22526](https://github.com/civicrm/civicrm-core/pull/22526))**
+
+- **A whole bunch of phpdoc fixes
+  ([22454](https://github.com/civicrm/civicrm-core/pull/22454))**
+
+- **Another set of PHPDoc fixes
+  ([22522](https://github.com/civicrm/civicrm-core/pull/22522))**
+
+- **Fix more phpdoc comments in member links functions
+  ([22521](https://github.com/civicrm/civicrm-core/pull/22521))**
+
+- **Fix PHP comments
+  ([22515](https://github.com/civicrm/civicrm-core/pull/22515))**
+
+- **Merge function back into parent function
+  ([22516](https://github.com/civicrm/civicrm-core/pull/22516))**
+
+- **Simplify variables pass in & out of function
+  ([22439](https://github.com/civicrm/civicrm-core/pull/22439))**
+
+- **Clean up input and outputs
+  ([22440](https://github.com/civicrm/civicrm-core/pull/22440))**
+
+- **Tidy CRM_Report_Page_Options code
+  ([22432](https://github.com/civicrm/civicrm-core/pull/22432))**
+
+- **Refactor buildPremiumPreviewBlock function to make intended usage clearer
+  ([22541](https://github.com/civicrm/civicrm-core/pull/22541))**
+
+- **Fix class references in phpdoc comments
+  ([22434](https://github.com/civicrm/civicrm-core/pull/22434))**
+
+- **Contact BAO - Deprecate unused function
+  ([22610](https://github.com/civicrm/civicrm-core/pull/22610))**
+
+- **report cleanup - no functional change
+  ([22611](https://github.com/civicrm/civicrm-core/pull/22611))**
+
+- **Split View Relationship tpl ito own file
+  ([22617](https://github.com/civicrm/civicrm-core/pull/22617))**
+
+- **Fix inaccuracy in docblock for method calculateBaseScheduleDate
+  ([22631](https://github.com/civicrm/civicrm-core/pull/22631))**
+
+- **Resolve inaccuracies in CRM_Core_BAO_File::attachmentInfo docblock
+  ([22629](https://github.com/civicrm/civicrm-core/pull/22629))**
+
+- **Tidy up functions related to printing.
+  ([22601](https://github.com/civicrm/civicrm-core/pull/22601))**
+
+- **Do not pass in tablename
+  ([22625](https://github.com/civicrm/civicrm-core/pull/22625))**
+
+- **More phpcbs code cleanups
+  ([22551](https://github.com/civicrm/civicrm-core/pull/22551))**
+
+- **Resolve docblock inaccuracy in CRM_Contribute_Form_Task_TaskTrait
+  ([22646](https://github.com/civicrm/civicrm-core/pull/22646))**
+
+- **Contributor key: Add Ian Wilson
+  ([22781](https://github.com/civicrm/civicrm-core/pull/22781))**
+
+- **Bump follow-redirects from 1.11.0 to 1.14.7
+  ([22696](https://github.com/civicrm/civicrm-core/pull/22696))**
+
+- **Bump engine.io from 4.1.1 to 4.1.2
+  ([22695](https://github.com/civicrm/civicrm-core/pull/22695))**
+
+- **Bump ansi-regex from 5.0.0 to 5.0.1
+  ([22693](https://github.com/civicrm/civicrm-core/pull/22693))**
+
+- **Bump log4js from 6.3.0 to 6.4.1
+  ([22694](https://github.com/civicrm/civicrm-core/pull/22694))**
+
+- **Update composer.json for composer 2.2 allow-plugins
+  ([22692](https://github.com/civicrm/civicrm-core/pull/22692))**
+
+- **Follow up fn removal
+  ([22556](https://github.com/civicrm/civicrm-core/pull/22556))**
+
+- **Fully remove contactAB function
+  ([22485](https://github.com/civicrm/civicrm-core/pull/22485))**
+
+- **Remove support for deprecated key
+  ([22443](https://github.com/civicrm/civicrm-core/pull/22443))**
+
+- **Remove duplicate file
+  ([22569](https://github.com/civicrm/civicrm-core/pull/22569))**
+
+- **Remove obsolete scripts
+  ([22549](https://github.com/civicrm/civicrm-core/pull/22549))**
+
+- **Remove method getWordReplacement.
+  ([22577](https://github.com/civicrm/civicrm-core/pull/22577))**
+
+- **Remove unused variable
+  ([22545](https://github.com/civicrm/civicrm-core/pull/22545))**
+
+- **Remove some old scripts
+  ([22534](https://github.com/civicrm/civicrm-core/pull/22534))**
+
+- **Remove handling for impossible array
+  ([22494](https://github.com/civicrm/civicrm-core/pull/22494))**
+
+- **Remove obsolete postIPN script
+  ([22550](https://github.com/civicrm/civicrm-core/pull/22550))**
+
+- **Remove / deprecate case param handling
+  ([22420](https://github.com/civicrm/civicrm-core/pull/22420))**
+
+- **Remove useless function
+  ([22585](https://github.com/civicrm/civicrm-core/pull/22585))**
+
+- **Remove param default
+  ([22590](https://github.com/civicrm/civicrm-core/pull/22590))**
+
+- **Remove htmlFile validation rule, as it can't possibly work.
+  ([22425](https://github.com/civicrm/civicrm-core/pull/22425))**
+
+- **Remove broken script
+  ([22473](https://github.com/civicrm/civicrm-core/pull/22473))**
+
+- **Remove unreachable else
+  ([22406](https://github.com/civicrm/civicrm-core/pull/22406))**
+
+- **Remove & deprecate silly function
+  ([22456](https://github.com/civicrm/civicrm-core/pull/22456))**
+
+- **Remove always-true-if
+  ([22486](https://github.com/civicrm/civicrm-core/pull/22486))**
+
+- **Remove seemingly unreachable help text
+  ([22469](https://github.com/civicrm/civicrm-core/pull/22469))**
+
+- **Remove unused variable
+  ([22462](https://github.com/civicrm/civicrm-core/pull/22462))**
+
+- **Remove IF that only loops through one value
+  ([22455](https://github.com/civicrm/civicrm-core/pull/22455))**
+
+- **Remove if & foreach that no longer do anything
+  ([22447](https://github.com/civicrm/civicrm-core/pull/22447))**
+
+- **Remove call to PHP 4 function
+  ([22446](https://github.com/civicrm/civicrm-core/pull/22446))**
+
+- **Remove empty check
+  ([22444](https://github.com/civicrm/civicrm-core/pull/22444))**
+
+- **Remove unreachable, nonsensical code
+  ([22518](https://github.com/civicrm/civicrm-core/pull/22518))**
+
+- **Remove deprecated code
+  ([22411](https://github.com/civicrm/civicrm-core/pull/22411))**
+
+- **Remove check for contact_check as it is always an array here
+  ([22407](https://github.com/civicrm/civicrm-core/pull/22407))**
+
+- **Remove unreachable code
+  ([22594](https://github.com/civicrm/civicrm-core/pull/22594))**
+
+- **Remove unnecessary pass-by-ref
+  ([22397](https://github.com/civicrm/civicrm-core/pull/22397))**
+
+- **Remove always-true IF
+  ([22399](https://github.com/civicrm/civicrm-core/pull/22399))**
+
+- **Remove deprecated language construct
+  ([22627](https://github.com/civicrm/civicrm-core/pull/22627))**
+
+- **Remove isset from online contribution receipt
+  ([22615](https://github.com/civicrm/civicrm-core/pull/22615))**
+
+- **Remove unused invalidProfiles variable, and simplify template.
+  ([22704](https://github.com/civicrm/civicrm-core/pull/22704))**
+
+- **(REF) Switch to using new `CRM_Core_Component::isEnabled()`
+  ([22687](https://github.com/civicrm/civicrm-core/pull/22687))**
+
+- **(REF) Remove unused variable
+  ([22398](https://github.com/civicrm/civicrm-core/pull/22398))**
+
+- **(REF) Tidy up group.tpl
+  ([22668](https://github.com/civicrm/civicrm-core/pull/22668))**
+
+- **(REF) Switch OptionGroup BAO to use new centralized logic to make name from
+  title ([22654](https://github.com/civicrm/civicrm-core/pull/22654))**
+
+- **(REF) Rename variable to be meaningful
+  ([22431](https://github.com/civicrm/civicrm-core/pull/22431))**
+
+- **(REF) Improve APIv4 save functions
+  ([22403](https://github.com/civicrm/civicrm-core/pull/22403))**
+
+- **(REF) CRM_Core_Resources - Limit visibility of `getEntityRefMetadata`
+  ([22511](https://github.com/civicrm/civicrm-core/pull/22511))**
+
+- **(REF) ContactUtils - Rename local variables
+  ([22510](https://github.com/civicrm/civicrm-core/pull/22510))**
+
+- **(REF) CoreResources - Simplify disabled component check
+  ([22506](https://github.com/civicrm/civicrm-core/pull/22506))**
+
+- **(REF) Remove constructors that do nothing
+  ([22544](https://github.com/civicrm/civicrm-core/pull/22544))**
+
+- **(REF) Extract function `CRM_Core_Component::isEnabled()`
+  ([22567](https://github.com/civicrm/civicrm-core/pull/22567))**
+
+- **(REF) SearchKit docblock cleanup
+  ([22603](https://github.com/civicrm/civicrm-core/pull/22603))**
+
+- **(REF) SearchKit - Function extraction
+  ([22598](https://github.com/civicrm/civicrm-core/pull/22598))**
+
+- **(REF) SearchKit - Simplify import/export popup code
+  ([22507](https://github.com/civicrm/civicrm-core/pull/22507))**
+
+- **(REF) Upgrade jQuery UI to 1.13.0
+  ([22576](https://github.com/civicrm/civicrm-core/pull/22576))**
+
+- **(REF) Components - Use extracted function
+  ([22573](https://github.com/civicrm/civicrm-core/pull/22573))**
+
+- **(REF) SavedSearch - Deprecate/remove redundant/unused functions
+  ([22542](https://github.com/civicrm/civicrm-core/pull/22542))**
+
+- **(REF) Use CRM_Contact_BAO_ContactType::basicTypes()
+  ([22520](https://github.com/civicrm/civicrm-core/pull/22520))**
+
+- **(REF) Remove unused _colours property
+  ([22525](https://github.com/civicrm/civicrm-core/pull/22525))**
+
+- **(REF) Tidy up formatting in gotv.tpl, remove extra </div>
+  ([22433](https://github.com/civicrm/civicrm-core/pull/22433))**
+
+- **(REF) Stop returning unused variables
+  ([22401](https://github.com/civicrm/civicrm-core/pull/22401))**
+
+- **(REF) Centralize BAO handling of custom data
+  ([22426](https://github.com/civicrm/civicrm-core/pull/22426))**
+
+- **(REF) Remove handling for no organization being passed
+  ([22395](https://github.com/civicrm/civicrm-core/pull/22395))**
+
+- **(REF) APIv4 - Rename trait 'SoftDelete' to 'SoftDeleteEntity'
+  ([22662](https://github.com/civicrm/civicrm-core/pull/22662))**
+
+- **(REF) Cleanup Contact BAO variables
+  ([22609](https://github.com/civicrm/civicrm-core/pull/22609))**
+
+- **(REF) Queues - Expand docblocks. Extract SQL trait.
+  ([22681](https://github.com/civicrm/civicrm-core/pull/22681))**
+
+- **(REF) APIv4 - Deprecate and stop using PreSaveSubscriber
+  ([22648](https://github.com/civicrm/civicrm-core/pull/22648))**
+
+- **(REF) CustomField Admin - Decouple page code from form code
+  ([22519](https://github.com/civicrm/civicrm-core/pull/22519))**
+
+- **(NFC) Fix typo in docblock
+  ([22409](https://github.com/civicrm/civicrm-core/pull/22409))**
+
+- **(NFC) Tidy up phpdoc in CRM_Utils_QueryFormatter
+  ([22423](https://github.com/civicrm/civicrm-core/pull/22423))**
+
+- **(NFC) Update test example template and regenerate examples
+  ([22531](https://github.com/civicrm/civicrm-core/pull/22531))**
+
+- **(NFC) Correct type hints for bad null default values
+  ([22600](https://github.com/civicrm/civicrm-core/pull/22600))**
+
+- **(NFC) Minor phpdoc fixes to
+  CRM_Mailing_Event_BAO_Unsubscribe::send_unsub_response
+  ([22574](https://github.com/civicrm/civicrm-core/pull/22574))**
+
+- **(NFC) CiviReport, etal - More phpdoc fixes
+  ([22565](https://github.com/civicrm/civicrm-core/pull/22565))**
+
+- **(NFC) Minor amends to getGroupByFromSelectColumns
+  ([22575](https://github.com/civicrm/civicrm-core/pull/22575))**
+
+- **(NFC) Correctly document CRM_Utils_Hook::pre to allow null ID
+  ([22562](https://github.com/civicrm/civicrm-core/pull/22562))**
+
+- **(NFC) Update PHPDoc for alterDeferredRevenueItems
+  ([22563](https://github.com/civicrm/civicrm-core/pull/22563))**
+
+- **(NFC) Comment fixes Stricter phpcs
+  ([22555](https://github.com/civicrm/civicrm-core/pull/22555))**
+
+- **(NFC) Remaining css phpcs fixes
+  ([22553](https://github.com/civicrm/civicrm-core/pull/22553))**
+
+- **(NFC) Fixes to the type definitions for contactType methods
+  ([22524](https://github.com/civicrm/civicrm-core/pull/22524))**
+
+- **(NFC) Civi::pipe - Swap various quotes
+  ([22503](https://github.com/civicrm/civicrm-core/pull/22503))**
+
+- **NFC: Clean up description for alterDisplayName hook
+  ([22501](https://github.com/civicrm/civicrm-core/pull/22501))**
+
+- **(NFC) Membership Tests - Update assertions to match behavior circa leap-day
+  ([22871](https://github.com/civicrm/civicrm-core/pull/22871))**
+
+- **(NFC) Update Contribution Recur DAO following regen
+  ([22858](https://github.com/civicrm/civicrm-core/pull/22858))**
+
+- **(NFC) RestTest - Skip testNotCMSUser_q when it's not supported
+  ([22817](https://github.com/civicrm/civicrm-core/pull/22817))**
+
+- **APIv4 - Fix test
+  ([22414](https://github.com/civicrm/civicrm-core/pull/22414))**
+
+- **Test cleanup - remove direct calls to BAO_Membership::add
+  ([22497](https://github.com/civicrm/civicrm-core/pull/22497))**
+
+- **Unit tests for 22429 and apply same treatment to other money format
+  functions ([22442](https://github.com/civicrm/civicrm-core/pull/22442))**
+
+- **Simplify APIv4 conformance test
+  ([22579](https://github.com/civicrm/civicrm-core/pull/22579))**
+
+- **Add unit test on updateGreeting & remove deprecated fn call
+  ([22482](https://github.com/civicrm/civicrm-core/pull/22482))**
+
+- **[test] - Add test coverage for adjusting custom group weights
+  ([22512](https://github.com/civicrm/civicrm-core/pull/22512))**
+
+- **Fix testMultipleMembershipsContribution to use order api
+  ([22274](https://github.com/civicrm/civicrm-core/pull/22274))**
+
+- **Port test form earlier PR
+  ([22502](https://github.com/civicrm/civicrm-core/pull/22502))**
+
+- **Test for APIv4 contact delete bug
+  ([dev/core#2757](https://lab.civicrm.org/dev/core/-/issues/2757):
+  [22458](https://github.com/civicrm/civicrm-core/pull/22458))**
+
+## <a name="credits"></a>Credits
+
+This release was developed by the following code authors:
+
+AGH Strategies - Andie Hunt; Agileware - Francis Whittle, Justin Freeman;
+BrightMinded Ltd - Bradley Taylor; Christian Wach; CiviCoop - Klaas Eikelboom;
+CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC -
+Mathieu Lutfy; Dave D; Freeform Solutions - Herb van den Dool; Jens Schuppe; JMA
+Consulting - Seamus Lee; Joinery - Allen Shaw; Lemniscus - Noah Miller;
+Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire;
+PERORA SRL - Samuele Masetto; Registered Nurses' Association of Ontario - Ian
+Wilson; Romain Thouvenin; Skvare - Sunil Pawar; Third Sector Design - Kurund
+Jalmi; Wikimedia Foundation - Eileen McNaughton
+
+Most authors also reviewed code for this release; in addition, the following
+reviewers contributed their comments:
+
+Andy Burns; Artful Robot - Rich Lott; Betty Dolfing; Blackfly Solutions - Alan
+Dixon; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma; Coop
+SymbioTIC - Shane Bill; Fuzion - Luke Stewart; in2part; JMA Consulting - Joe
+Murray, Monish Deb; Korlon - Stuart Gaston; Mikey O'Toole; Peter Boling; Tadpole
+Collective - Kevin Cristiano; Wildsight - Lars Sanders-Green
diff --git a/civicrm/settings/Localization.setting.php b/civicrm/settings/Localization.setting.php
index ec1be4f3bbfca877a7965c7094b1307b3a16cce8..6a55c01d981d5cd79b84065c4ee346f7fc6f2dd7 100644
--- a/civicrm/settings/Localization.setting.php
+++ b/civicrm/settings/Localization.setting.php
@@ -409,6 +409,27 @@ return [
       'callback' => 'CRM_Core_I18n::languages',
     ],
   ],
+  'format_locale' => [
+    'group_name' => 'Localization Preferences',
+    'group' => 'localization',
+    'name' => 'format_locale',
+    'type' => 'String',
+    'quick_form_type' => 'Select',
+    'html_type' => 'Select',
+    'html_attributes' => [
+      'class' => 'crm-select2',
+    ],
+    'default' => NULL,
+    'add' => '5.47',
+    'title' => ts('Formatting locale'),
+    'is_domain' => 1,
+    'is_contact' => 0,
+    'help_text' => NULL,
+    'pseudoconstant' => [
+      'callback' => 'CRM_Core_I18n::getFormatLocales',
+    ],
+    'description' => ts('Locale to use when formatting money (and in future dates). This replaces thousandsSeparator & decimalSeparator & moneyFormat settings.'),
+  ],
   'uiLanguages' => [
     'group_name' => 'Localization Preferences',
     'group' => 'localization',
diff --git a/civicrm/setup/res/template.css b/civicrm/setup/res/template.css
index a06f97a2b8441da00e16b87bbee719076768517c..5f3321d392faafed5b941bdf9edd1b21927d36a9 100644
--- a/civicrm/setup/res/template.css
+++ b/civicrm/setup/res/template.css
@@ -2,13 +2,13 @@ body {
   background: #eee;
 }
 /* Header */
-.civicrm-setup-header{
+.civicrm-setup-header {
   height: 300px;
   width: 100%;
   display: block;
 }
 
-.civicrm-setup-header .title{
+.civicrm-setup-header .title {
   width: 25%;
   position: absolute;
   overflow: hidden;
@@ -19,7 +19,7 @@ body {
   display: inline-flex;
 }
 
-.civicrm-setup-header h1{
+.civicrm-setup-header h1 {
   line-height: 35px;
   color: #ddd;
   position: relative;
@@ -28,19 +28,24 @@ body {
   -webkit-animation-delay: 0.5s;
   animation: slide 1s forwards;
   animation-delay: 0.5s;
-
 }
 
-@-webkit-keyframes slide{
-    100% { left: 0; color:#555;}
+@-webkit-keyframes slide {
+  100% {
+    left: 0;
+    color: #555;
+}
 }
 
-@keyframes slide{
-    100% { left: 0; color: #555;}
+@keyframes slide {
+  100% {
+    left: 0;
+    color: #555;
+}
 }
 
 
-.civicrm-setup-header hr{
+.civicrm-setup-header hr {
   border-bottom: 2px solid #fff;
   border-top: 2px solid #ddd;
 }
@@ -53,7 +58,7 @@ body {
   margin-right: 10%;
 }
 
-.civicrm-setup-body .civicrm-logo img{
+.civicrm-setup-body .civicrm-logo img {
   width: 100%;
 }
 
@@ -114,7 +119,7 @@ body {
 }
 
 .civicrm-setup-body p.error a {
-  color: #FFF;
+  color: #fff;
   font-weight: bold;
 }
 
@@ -146,16 +151,23 @@ body {
   border: 1px #ccc solid;
 }
 
-.civicrm-setup-body .reqSeverity-info { color: green; }
-.civicrm-setup-body .reqSeverity-warning { color: #a70; }
-.civicrm-setup-body .reqSeverity-error { color: #c00; }
+.civicrm-setup-body .reqSeverity-info {
+  color: green;
+}
+.civicrm-setup-body .reqSeverity-warning {
+  color: #a70;
+}
+.civicrm-setup-body .reqSeverity-error {
+  color: #c00;
+}
 
 .civicrm-setup-body .settingsTable {
   border-collapse: collapse;
   margin: 2em
 }
 
-.civicrm-setup-body th, .civicrm-setup-body td {
+.civicrm-setup-body th,
+.civicrm-setup-body td {
   text-align: left;
   padding: 0.25em;
   vertical-align: top;
@@ -172,12 +184,25 @@ body {
   background: #eee;
   text-align: center;
 }
-.civicrm-setup-body .comp-box:hover { background: #ddd; cursor: hand; }
-.civicrm-setup-body .comp-box > span {  width: 100%;  }
-.civicrm-setup-body .comp-label {  font-size: 1.5em; }
-.civicrm-setup-body .comp-desc { font-style: italic; }
-.civicrm-setup-body .comp-cb:checked + label { background: #dfd; }
-.civicrm-setup-body .comp-cb:checked + label:hover { background: #cec; }
+.civicrm-setup-body .comp-box:hover {
+  background: #ddd;
+  cursor: hand;
+}
+.civicrm-setup-body .comp-box > span {
+  width: 100%;
+}
+.civicrm-setup-body .comp-label {
+  font-size: 1.5em;
+}
+.civicrm-setup-body .comp-desc {
+  font-style: italic;
+}
+.civicrm-setup-body .comp-cb:checked + label {
+  background: #dfd;
+}
+.civicrm-setup-body .comp-cb:checked + label:hover {
+  background: #cec;
+}
 
 .civicrm-setup-body .optin-box {
   height: 3.5em;
@@ -189,12 +214,25 @@ body {
   background: #eee;
   text-align: center;
 }
-.civicrm-setup-body .optin-box:hover { background: #ddd; cursor: hand; }
-.civicrm-setup-body .optin-box > span {  width: 100%; }
-.civicrm-setup-body .optin-label {  font-size: 1.5em; }
-.civicrm-setup-body .optin-desc { font-style: italic; }
-.civicrm-setup-body .optin-cb:checked + label { background: #dfd; }
-.civicrm-setup-body .optin-cb:checked + label:hover { background: #cec; }
+.civicrm-setup-body .optin-box:hover {
+  background: #ddd;
+  cursor: hand;
+}
+.civicrm-setup-body .optin-box > span {
+  width: 100%;
+}
+.civicrm-setup-body .optin-label {
+  font-size: 1.5em;
+}
+.civicrm-setup-body .optin-desc {
+  font-style: italic;
+}
+.civicrm-setup-body .optin-cb:checked + label {
+  background: #dfd;
+}
+.civicrm-setup-body .optin-cb:checked + label:hover {
+  background: #cec;
+}
 
 .civicrm-setup-body .sr-only {
   position: absolute;
@@ -207,10 +245,18 @@ body {
   border: 0;
 }
 
-.civicrm-setup-body.has-errors .if-no-errors {display: none;}
-.civicrm-setup-body.has-warnings .if-no-warnings {display: none;}
-.civicrm-setup-body.has-problems .if-no-problems {display: none;}
-.civicrm-setup-body.has-no-problems .if-problems {display: none;}
+.civicrm-setup-body.has-errors .if-no-errors {
+  display: none;
+}
+.civicrm-setup-body.has-warnings .if-no-warnings {
+  display: none;
+}
+.civicrm-setup-body.has-problems .if-no-problems {
+  display: none;
+}
+.civicrm-setup-body.has-no-problems .if-problems {
+  display: none;
+}
 
 .civicrm-setup-body .action-box {
   width: 100%;
@@ -218,41 +264,43 @@ body {
   margin: 2em 0.5em;
 }
 .civicrm-setup-body button[type=submit] {
-  padding:15px 25px;
-  background:#82C459;
+  padding: 15px 25px;
+  background: #82c459;
   color: white;
-  border:0 none;
-  cursor:pointer;
+  border: 0 none;
+  cursor: pointer;
   -webkit-border-radius: 5px;
   border-radius: 5px;
   font-size: 20px;
 }
 .civicrm-setup-body button[type=submit]:hover {
-  background: #60A237;
+  background: #60a237;
 }
 .civicrm-setup-body button[type=submit]:disabled {
   background: #888;
   cursor: not-allowed;
 }
 
-.civicrm-setup-body .settingsTable input[type=text] { width: 80%; }
+.civicrm-setup-body .settingsTable input[type=text] {
+  width: 80%;
+}
 
 
 
-@media only screen and (max-width: 801px){
-  .civicrm-setup-body .comp-box{
+@media only screen and (max-width: 801px) {
+  .civicrm-setup-body .comp-box {
     width: 45%;
   }
 }
 
-@media only screen and (max-width: 635px){
-  .civicrm-setup-header .title{
+@media only screen and (max-width: 635px) {
+  .civicrm-setup-header .title {
     width: 45%;
     margin-left: 5%;
     margin-top: 30px;
   }
 
-  .civicrm-setup-body .settingsTable{
+  .civicrm-setup-body .settingsTable {
     display: block;
     overflow-x: auto;
     white-space: nowrap;
@@ -262,8 +310,8 @@ body {
 
 }
 
-@media only screen and (max-width: 503px){
-  .civicrm-setup-body .comp-box{
+@media only screen and (max-width: 503px) {
+  .civicrm-setup-body .comp-box {
     width: 95%;
   }
 }
diff --git a/civicrm/sql/civicrm.mysql b/civicrm/sql/civicrm.mysql
index c7e15172e801846bb36f57d8b55a33b996f07f6f..914b789c1bf9fc3bab1f71b4c4598f37969647e3 100644
--- a/civicrm/sql/civicrm.mysql
+++ b/civicrm/sql/civicrm.mysql
@@ -121,9 +121,9 @@ DROP TABLE IF EXISTS `civicrm_cache`;
 DROP TABLE IF EXISTS `civicrm_cxn`;
 DROP TABLE IF EXISTS `civicrm_pcp`;
 DROP TABLE IF EXISTS `civicrm_queue_item`;
+DROP TABLE IF EXISTS `civicrm_queue`;
 DROP TABLE IF EXISTS `civicrm_pledge_block`;
 DROP TABLE IF EXISTS `civicrm_tell_friend`;
-DROP TABLE IF EXISTS `civicrm_grant`;
 DROP TABLE IF EXISTS `civicrm_case_type`;
 DROP TABLE IF EXISTS `civicrm_dedupe_exception`;
 DROP TABLE IF EXISTS `civicrm_dedupe_rule`;
@@ -1216,37 +1216,6 @@ CREATE TABLE `civicrm_case_type` (
 )
 ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
 
--- /*******************************************************
--- *
--- * civicrm_grant
--- *
--- * This table stores information about grants given to a contact.
--- *
--- *******************************************************/
-CREATE TABLE `civicrm_grant` (
-  `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT 'Unique Grant id',
-  `contact_id` int unsigned NOT NULL COMMENT 'Contact ID of contact record given grant belongs to.',
-  `application_received_date` date COMMENT 'Date on which grant application was received by donor.',
-  `decision_date` date COMMENT 'Date on which grant decision was made.',
-  `money_transfer_date` date COMMENT 'Date on which grant money transfer was made.',
-  `grant_due_date` date COMMENT 'Date on which grant report is due.',
-  `grant_report_received` tinyint COMMENT 'Yes/No field stating whether grant report was received by donor.',
-  `grant_type_id` int unsigned NOT NULL COMMENT 'Type of grant. Implicit FK to civicrm_option_value in grant_type option_group.',
-  `amount_total` decimal(20,2) NOT NULL COMMENT 'Requested grant amount, in default currency.',
-  `amount_requested` decimal(20,2) COMMENT 'Requested grant amount, in original currency (optional).',
-  `amount_granted` decimal(20,2) COMMENT 'Granted amount, in default currency.',
-  `currency` varchar(3) NOT NULL COMMENT '3 character string, value from config setting or input via user.',
-  `rationale` text COMMENT 'Grant rationale.',
-  `status_id` int unsigned NOT NULL COMMENT 'ID of Grant status.',
-  `financial_type_id` int unsigned DEFAULT NULL COMMENT 'FK to Financial Type.',
-  PRIMARY KEY (`id`),
-  INDEX `index_grant_type_id`(grant_type_id),
-  INDEX `index_status_id`(status_id),
-  CONSTRAINT FK_civicrm_grant_contact_id FOREIGN KEY (`contact_id`) REFERENCES `civicrm_contact`(`id`) ON DELETE CASCADE,
-  CONSTRAINT FK_civicrm_grant_financial_type_id FOREIGN KEY (`financial_type_id`) REFERENCES `civicrm_financial_type`(`id`) ON DELETE SET NULL
-)
-ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
-
 -- /*******************************************************
 -- *
 -- * civicrm_tell_friend
@@ -1289,6 +1258,23 @@ CREATE TABLE `civicrm_pledge_block` (
 )
 ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
 
+-- /*******************************************************
+-- *
+-- * civicrm_queue
+-- *
+-- * Stores a list of persistent queues
+-- *
+-- *******************************************************/
+CREATE TABLE `civicrm_queue` (
+  `id` int unsigned NOT NULL AUTO_INCREMENT,
+  `name` varchar(64) NOT NULL COMMENT 'Name of the queue',
+  `type` varchar(64) NOT NULL COMMENT 'Type of the queue',
+  `is_autorun` tinyint COMMENT 'Should the standard background attempt to autorun tasks in this queue?',
+  PRIMARY KEY (`id`),
+  UNIQUE INDEX `UI_name`(name)
+)
+ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
 -- /*******************************************************
 -- *
 -- * civicrm_queue_item
@@ -1435,7 +1421,7 @@ CREATE TABLE `civicrm_custom_group` (
   `icon` varchar(255) DEFAULT NULL COMMENT 'crm-i icon class',
   PRIMARY KEY (`id`),
   UNIQUE INDEX `UI_title_extends`(title, extends),
-  UNIQUE INDEX `UI_name_extends`(name, extends),
+  UNIQUE INDEX `UI_name`(name),
   CONSTRAINT FK_civicrm_custom_group_created_id FOREIGN KEY (`created_id`) REFERENCES `civicrm_contact`(`id`) ON DELETE SET NULL
 )
 ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
@@ -1760,9 +1746,9 @@ CREATE TABLE `civicrm_navigation` (
   `permission` varchar(255) COMMENT 'Permission(s) needed to access menu item',
   `permission_operator` varchar(3) COMMENT 'Operator to use if item has more than one permission',
   `parent_id` int unsigned COMMENT 'Parent navigation item, used for grouping',
-  `is_active` tinyint COMMENT 'Is this navigation item active?',
+  `is_active` tinyint NOT NULL DEFAULT 1 COMMENT 'Is this navigation item active?',
   `has_separator` tinyint DEFAULT 0 COMMENT 'Place a separator either before or after this menu item.',
-  `weight` int COMMENT 'Ordering of the navigation items in various blocks.',
+  `weight` int NOT NULL DEFAULT 0 COMMENT 'Ordering of the navigation items in various blocks.',
   PRIMARY KEY (`id`),
   CONSTRAINT FK_civicrm_navigation_domain_id FOREIGN KEY (`domain_id`) REFERENCES `civicrm_domain`(`id`),
   CONSTRAINT FK_civicrm_navigation_parent_id FOREIGN KEY (`parent_id`) REFERENCES `civicrm_navigation`(`id`) ON DELETE CASCADE
@@ -2994,6 +2980,8 @@ CREATE TABLE `civicrm_relationship` (
   `is_permission_a_b` int unsigned NOT NULL DEFAULT 0 COMMENT 'Permission that Contact A has to view/update Contact B',
   `is_permission_b_a` int unsigned NOT NULL DEFAULT 0 COMMENT 'Permission that Contact B has to view/update Contact A',
   `case_id` int unsigned DEFAULT NULL COMMENT 'FK to civicrm_case',
+  `created_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Relationship created date.',
+  `modified_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Relationship last modified.',
   PRIMARY KEY (`id`),
   CONSTRAINT FK_civicrm_relationship_contact_id_a FOREIGN KEY (`contact_id_a`) REFERENCES `civicrm_contact`(`id`) ON DELETE CASCADE,
   CONSTRAINT FK_civicrm_relationship_contact_id_b FOREIGN KEY (`contact_id_b`) REFERENCES `civicrm_contact`(`id`) ON DELETE CASCADE,
@@ -3920,12 +3908,12 @@ CREATE TABLE `civicrm_event` (
   `event_type_id` int unsigned DEFAULT 0 COMMENT 'Event Type ID.Implicit FK to civicrm_option_value where option_group = event_type.',
   `participant_listing_id` int unsigned DEFAULT NULL COMMENT 'Should we expose the participant list? Implicit FK to civicrm_option_value where option_group = participant_listing.',
   `is_public` tinyint DEFAULT 1 COMMENT 'Public events will be included in the iCal feeds. Access to private event information may be limited using ACLs.',
-  `start_date` datetime COMMENT 'Date and time that event starts.',
-  `end_date` datetime COMMENT 'Date and time that event ends. May be NULL if no defined end date/time',
+  `start_date` timestamp NULL DEFAULT NULL COMMENT 'Date and time that event starts.',
+  `end_date` timestamp NULL DEFAULT NULL COMMENT 'Date and time that event ends. May be NULL if no defined end date/time',
   `is_online_registration` tinyint DEFAULT 0 COMMENT 'If true, include registration link on Event Info page.',
   `registration_link_text` varchar(255) COMMENT 'Text for link to Event Registration form which is displayed on Event Information screen when is_online_registration is true.',
-  `registration_start_date` datetime COMMENT 'Date and time that online registration starts.',
-  `registration_end_date` datetime COMMENT 'Date and time that online registration ends.',
+  `registration_start_date` timestamp NULL DEFAULT NULL COMMENT 'Date and time that online registration starts.',
+  `registration_end_date` timestamp NULL DEFAULT NULL COMMENT 'Date and time that online registration ends.',
   `max_participants` int unsigned DEFAULT NULL COMMENT 'Maximum number of registered participants to allow. After max is reached, a custom Event Full message is displayed. If NULL, allow unlimited number of participants.',
   `event_full_text` text COMMENT 'Message to display on Event Information page and INSTEAD OF Event Registration form if maximum participants are signed up. Can include email address/info about getting on a waiting list, etc. Text and html allowed.',
   `is_monetary` tinyint DEFAULT 0 COMMENT 'If true, one or more fee amounts must be set and a Payment Processor must be configured for Online Event Registration.',
@@ -3982,6 +3970,7 @@ CREATE TABLE `civicrm_event` (
   `slot_label_id` int unsigned DEFAULT NULL COMMENT 'Subevent slot label. Implicit FK to civicrm_option_value where option_group = conference_slot.',
   `dedupe_rule_group_id` int unsigned DEFAULT NULL COMMENT 'Rule to use when matching registrations for this event',
   `is_billing_required` tinyint DEFAULT 0 COMMENT 'if true than billing block is required this event',
+  `event_tz` text DEFAULT NULL COMMENT 'Event\'s native time zone',
   PRIMARY KEY (`id`),
   INDEX `index_event_type_id`(event_type_id),
   INDEX `index_participant_listing_id`(participant_listing_id),
diff --git a/civicrm/sql/civicrm_data.mysql b/civicrm/sql/civicrm_data.mysql
index e237396975cfc099c922887f261eb856f68d7871..8a666554322f4df9b530dd4db70b92d421de17f5 100644
--- a/civicrm/sql/civicrm_data.mysql
+++ b/civicrm/sql/civicrm_data.mysql
@@ -4653,6 +4653,11 @@ INSERT INTO civicrm_component (name, namespace) VALUES ('CiviCase'      , 'CRM_C
 INSERT INTO civicrm_component (name, namespace) VALUES ('CiviReport'    , 'CRM_Report' );
 INSERT INTO civicrm_component (name, namespace) VALUES ('CiviCampaign'  , 'CRM_Campaign' );
 
+-- CiviGrant has migrated to an extension, but instead of removing the above insert,
+-- go ahead and insert it, then delete. This is because too much legacy code has hard-coded
+-- references to component ID, so it's better to keep the auto-increment values stable.
+DELETE FROM civicrm_component WHERE name = 'CiviGrant';
+
 -- Create organization contact
 INSERT INTO civicrm_contact( `contact_type`, `sort_name`, `display_name`, `legal_name`, `organization_name`)
 VALUES ('Organization', @defaultOrganization, @defaultOrganization, @defaultOrganization, @defaultOrganization);
@@ -4754,8 +4759,6 @@ VALUES
    ('user_dashboard_options'        , 'User Dashboard Options'             , NULL, 1, 1, 1),
    ('address_options'               , 'Addressing Options'                 , NULL, 1, 1, 0),
    ('group_type'                    , 'Group Type'                         , NULL, 1, 1, 0),
-   ('grant_status'                  , 'Grant status'                       , NULL, 1, 1, 0),
-   ('grant_type'                    , 'Grant Type'                         , NULL, 1, 1, 0),
    ('custom_search'                 , 'Custom Search'                      , NULL, 1, 1, 0),
    ('activity_status'               , 'Activity Status'                    , 'Integer', 1, 1, 0),
    ('case_type'                     , 'Case Type'                          , NULL, 1, 1, 0),
@@ -4840,8 +4843,6 @@ SELECT @option_group_id_asOpt          := max(id) from civicrm_option_group wher
 SELECT @option_group_id_udOpt          := max(id) from civicrm_option_group where name = 'user_dashboard_options';
 SELECT @option_group_id_adOpt          := max(id) from civicrm_option_group where name = 'address_options';
 SELECT @option_group_id_gType          := max(id) from civicrm_option_group where name = 'group_type';
-SELECT @option_group_id_grantSt        := max(id) from civicrm_option_group where name = 'grant_status';
-SELECT @option_group_id_grantTyp       := max(id) from civicrm_option_group where name = 'grant_type';
 SELECT @option_group_id_csearch        := max(id) from civicrm_option_group where name = 'custom_search';
 SELECT @option_group_id_acs            := max(id) from civicrm_option_group where name = 'activity_status';
 SELECT @option_group_id_ct             := max(id) from civicrm_option_group where name = 'case_type';
@@ -4908,7 +4909,6 @@ SELECT @eventCompId      := max(id) FROM civicrm_component where name = 'CiviEve
 SELECT @memberCompId     := max(id) FROM civicrm_component where name = 'CiviMember';
 SELECT @pledgeCompId     := max(id) FROM civicrm_component where name = 'CiviPledge';
 SELECT @caseCompId       := max(id) FROM civicrm_component where name = 'CiviCase';
-SELECT @grantCompId      := max(id) FROM civicrm_component where name = 'CiviGrant';
 SELECT @campaignCompId   := max(id) FROM civicrm_component where name = 'CiviCampaign';
 SELECT @mailCompId       := max(id) FROM civicrm_component where name = 'CiviMail';
 
@@ -5086,7 +5086,6 @@ VALUES
   (@option_group_id_cvOpt, 'Memberships'  ,   8, 'CiviMember', NULL, 0, NULL,  8,  NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_cvOpt, 'Events'       ,   9, 'CiviEvent', NULL, 0, NULL,  9,  NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_cvOpt, 'Cases'        ,  10, 'CiviCase', NULL, 0, NULL,  10, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_cvOpt, 'Grants'       ,  11, 'CiviGrant', NULL, 0, NULL,  11, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_cvOpt, 'Pledges'      ,  13, 'CiviPledge', NULL, 0, NULL,  13, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_cvOpt, 'Mailings'     ,  14, 'CiviMail', NULL, 0, NULL,  14, NULL, 0, 0, 1, NULL, NULL, NULL),
 
@@ -5123,7 +5122,6 @@ VALUES
   (@option_group_id_asOpt, 'Memberships'             ,   8, 'CiviMember', NULL, 0, NULL,  9, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, 'Events'                  ,   9, 'CiviEvent', NULL, 0, NULL, 10, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, 'Cases'                   ,  10, 'CiviCase', NULL, 0, NULL, 11, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_asOpt, 'Grants'                                        ,  12, 'CiviGrant', NULL, 0, NULL, 14, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, 'Demographics'            ,  13, 'demographics', NULL, 0, NULL, 15, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, 'Pledges'                 ,  15, 'CiviPledge', NULL, 0, NULL, 17, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, 'Contact Type'            ,  16, 'contactType', NULL, 0, NULL, 18, NULL, 0, 0, 1, NULL, NULL, NULL),
@@ -5175,14 +5173,6 @@ VALUES
   (@option_group_id_gType, 'Access Control', 1, 'Access Control', NULL, 0, NULL, 1, NULL, 0, 1, 1, NULL, NULL, NULL),
   (@option_group_id_gType, 'Mailing List',   2, 'Mailing List',   NULL, 0, NULL, 2, NULL, 0, 1, 1, NULL, NULL, NULL),
 
-  (@option_group_id_grantSt, 'Submitted', 1, 'Submitted',  NULL, 0, 1,    1, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, 'Eligible', 2, 'Eligible',  NULL, 0, NULL, 2, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, 'Ineligible', 3, 'Ineligible', NULL, 0, NULL, 3, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, 'Paid', 4, 'Paid', NULL, 0, NULL, 4, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, 'Awaiting Information', 5, 'Awaiting Information', NULL, 0, NULL, 5, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, 'Withdrawn', 6, 'Withdrawn', NULL, 0, NULL, 6, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, 'Approved for Payment',  7, 'Approved for Payment', NULL, 0, NULL, 7, NULL, 0, 0, 1, NULL, NULL, NULL),
-
   (@option_group_id_csearch , 'CRM_Contact_Form_Search_Custom_Sample'               , 1, 'CRM_Contact_Form_Search_Custom_Sample'      , NULL, 0, NULL, 1, 'Household Name and State', 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_csearch , 'CRM_Contact_Form_Search_Custom_ContributionAggregate', 2, 'CRM_Contact_Form_Search_Custom_ContributionAggregate', NULL, 0, NULL, 2, 'Contribution Aggregate', 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_csearch , 'CRM_Contact_Form_Search_Custom_Group'                , 4, 'CRM_Contact_Form_Search_Custom_Group'       , NULL, 0, NULL, 4, 'Include / Exclude Search', 0, 0, 1, NULL, NULL, NULL),
@@ -5228,7 +5218,6 @@ VALUES
   (@option_group_id_report , 'Database Log Report',                     'contact/log',                    'CRM_Report_Form_Contact_Log',                    NULL, 0, NULL, 27, 'Log of contact and activity records created or updated in a given date range.', 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_report , 'Activity Summary Report',                 'activitySummary',                'CRM_Report_Form_ActivitySummary',                NULL, 0, NULL, 28, 'Shows activity statistics by type / date', 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_report, 'Bookkeeping Transactions Report',          'contribute/bookkeeping',         'CRM_Report_Form_Contribute_Bookkeeping',         NULL, 0, 0, 29,    'Shows Bookkeeping Transactions Report', 0, 0, 1, 2, NULL, NULL),
-  (@option_group_id_report , 'Grant Report (Detail)', 'grant/detail', 'CRM_Report_Form_Grant_Detail', NULL, 0, 0, 30, 'Grant Report Detail', 0, 0, 1, @grantCompId, NULL, NULL),
   (@option_group_id_report, 'Participant list Count Report', 'event/participantlist', 'CRM_Report_Form_Event_ParticipantListCount', NULL, 0, 0, 31, 'Shows the Participant list with Participant Count.', 0, 0, 1, @eventCompId, NULL, NULL),
   (@option_group_id_report, 'Income Count Summary Report', 'event/incomesummary', 'CRM_Report_Form_Event_IncomeCountSummary', NULL, 0, 0, 32, 'Shows the Income Summary of events with Count.', 0, 0, 1, @eventCompId, NULL, NULL),
   (@option_group_id_report, 'Case Detail Report', 'case/detail', 'CRM_Report_Form_Case_Detail', NULL, 0, 0, 33, 'Case Details', 0, 0, 1, @caseCompId, NULL, NULL),
@@ -5238,7 +5227,6 @@ VALUES
   (@option_group_id_report, 'Mail Click-Through Report', 'Mailing/clicks', 'CRM_Report_Form_Mailing_Clicks', NULL, 0, NULL, 37, 'Display clicks from each mailing', 0, 0, 1, @mailCompId, NULL, NULL),
   (@option_group_id_report, 'Contact Logging Report (Summary)', 'logging/contact/summary', 'CRM_Report_Form_Contact_LoggingSummary', NULL, 0, NULL, 38, 'Contact modification report for the logging infrastructure (summary).', 0, 0, 0, NULL, NULL, NULL),
   (@option_group_id_report, 'Contact Logging Report (Detail)', 'logging/contact/detail', 'CRM_Report_Form_Contact_LoggingDetail', NULL, 0, NULL, 39, 'Contact modification report for the logging infrastructure (detail).', 0, 0, 0, NULL, NULL, NULL),
-  (@option_group_id_report, 'Grant Report (Statistics)', 'grant/statistics', 'CRM_Report_Form_Grant_Statistics', NULL, 0, NULL, 42, 'Shows statistics for Grants.', 0, 0, 1, @grantCompId, NULL, NULL),
   (@option_group_id_report, 'Survey Report (Detail)',    'survey/detail', 'CRM_Report_Form_Campaign_SurveyDetails',  NULL, 0, NULL, 43, 'Detailed report for canvassing, phone-banking, walk lists or other surveys.', 0, 0, 1, @campaignCompId, NULL, NULL),
   (@option_group_id_report, 'Personal Campaign Page Report', 'contribute/pcp', 'CRM_Report_Form_Contribute_PCP', NULL, 0, NULL, 44, 'Summarizes amount raised and number of contributors for each Personal Campaign Page.', 0, 0, 1, @contributeCompId, NULL, NULL),
   (@option_group_id_report , 'Pledge Summary Report', 'pledge/summary', 'CRM_Report_Form_Pledge_Summary', NULL, 0, NULL, 45, 'Groups and totals pledges by criteria including contact, time period, pledge status, location, etc.', 0, 0, 1, @pledgeCompId, NULL, NULL),
@@ -5298,7 +5286,6 @@ VALUES
   (@option_group_id_mt, 'Export Participant', 10, 'Export Participant',  NULL, 0, 0,   10, NULL, 0, 1, 1, NULL, NULL, NULL),
   (@option_group_id_mt, 'Export Pledge',      11, 'Export Pledge',       NULL, 0, 0,   11, NULL, 0, 1, 1, NULL, NULL, NULL),
   (@option_group_id_mt, 'Export Case',        12, 'Export Case',         NULL, 0, 0,   12, NULL, 0, 1, 1, NULL, NULL, NULL),
-  (@option_group_id_mt, 'Export Grant',       13, 'Export Grant',        NULL, 0, 0,   13, NULL, 0, 1, 1, NULL, NULL, NULL),
   (@option_group_id_mt, 'Export Activity',    14, 'Export Activity',     NULL, 0, 0,   14, NULL, 0, 1, 1, NULL, NULL, NULL),
 
   (@option_group_id_fu, 'day'    , 'day'  ,    'day',  NULL, 0, NULL, 1, NULL, 0, 1, 1, NULL, NULL, NULL),
@@ -5719,12 +5706,6 @@ VALUES
 -- from email address.
   (@option_group_id_fma, '"FIXME" <info@EXAMPLE.ORG>', '1', '"FIXME" <info@EXAMPLE.ORG>', NULL, 0, 1, 1, 'Default domain email address and from name.', 0, 0, 1, NULL, @domainID, NULL ),
 
--- grant types
-  (@option_group_id_grantTyp, 'Emergency'          , 1, 'Emergency'         , NULL, 0, 1,    1, NULL, 0, 0, 1, NULL, @domainID, NULL),
-  (@option_group_id_grantTyp, 'Family Support'     , 2, 'Family Support'    , NULL, 0, NULL, 2, NULL, 0, 0, 1, NULL, @domainID, NULL),
-  (@option_group_id_grantTyp, 'General Protection' , 3, 'General Protection', NULL, 0, NULL, 3, NULL, 0, 0, 1, NULL, @domainID, NULL),
-  (@option_group_id_grantTyp, 'Impunity'           , 4, 'Impunity'          , NULL, 0, NULL, 4, NULL, 0, 0, 1, NULL, @domainID, NULL),
-
 -- Mail Approval Status Preferences
   (@option_group_id_mail_approval_status, 'Approved' , 1, 'Approved', NULL, 0, 1, 1, NULL, 0, 1, 1, @mailCompId, @domainID, NULL),
   (@option_group_id_mail_approval_status, 'Rejected' , 2, 'Rejected', NULL, 0, 0, 2, NULL, 0, 1, 1, @mailCompId, @domainID, NULL),
@@ -6575,9 +6556,9 @@ INSERT INTO civicrm_msg_template
 
 {foreach from=$activity.fields item=field}
 {if $field.type eq \'Date\'}
-{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value|crmDate:$config->dateformatDatetime}
+{$field.label} : {$field.value|crmDate:$config->dateformatDatetime}
 {else}
-{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value}
+{$field.label} : {$field.value}
 {/if}
 {/foreach}
 
@@ -6658,7 +6639,7 @@ INSERT INTO civicrm_msg_template
             {foreach from=$activity.fields item=field}
               <tr>
                 <td {$labelStyle}>
-                  {$field.label}{if !empty($field.category)}({$field.category}){/if}
+                  {$field.label}
                 </td>
                 <td {$valueStyle}>
                   {if $field.type eq \'Date\'}
@@ -6720,9 +6701,9 @@ INSERT INTO civicrm_msg_template
 
 {foreach from=$activity.fields item=field}
 {if $field.type eq \'Date\'}
-{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value|crmDate:$config->dateformatDatetime}
+{$field.label} : {$field.value|crmDate:$config->dateformatDatetime}
 {else}
-{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value}
+{$field.label} : {$field.value}
 {/if}
 {/foreach}
 
@@ -6803,7 +6784,7 @@ INSERT INTO civicrm_msg_template
             {foreach from=$activity.fields item=field}
               <tr>
                 <td {$labelStyle}>
-                  {$field.label}{if !empty($field.category)}({$field.category}){/if}
+                  {$field.label}
                 </td>
                 <td {$valueStyle}>
                   {if $field.type eq \'Date\'}
@@ -7065,8 +7046,8 @@ INSERT INTO civicrm_msg_template
 
 ===========================================================
 {ts}Contributor{/ts}: {contact.display_name}
-{if !empty($formValues.contributionType_name)}
-{ts}Financial Type{/ts}: {$formValues.contributionType_name}
+{if \'{contribution.financial_type_id}\'}
+{ts}Financial Type{/ts}: {contribution.financial_type_id:label}
 {/if}
 {if $lineItem}
 {foreach from=$lineItem item=value key=priceset}
@@ -7083,7 +7064,7 @@ INSERT INTO civicrm_msg_template
 {$ts_item|string_format:"%-30s"} {$ts_qty|string_format:"%5s"} {$ts_each|string_format:"%10s"} {if !empty($getTaxDetails)} {$ts_subtotal|string_format:"%10s"} {$ts_taxRate} {$ts_taxAmount|string_format:"%10s"} {/if} {$ts_total|string_format:"%10s"}
 ----------------------------------------------------------
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")} {$line.tax_rate|string_format:"%.2f"} %   {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""} {$line.tax_rate|string_format:"%.2f"} %   {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
 {/foreach}
 {/foreach}
 {/if}
@@ -7100,24 +7081,24 @@ INSERT INTO civicrm_msg_template
 {/foreach}
 {/if}
 
-{if isset($totalTaxAmount) && $totalTaxAmount !== \'null\'}
-{ts}Total Tax Amount{/ts} : {$totalTaxAmount|crmMoney:$currency}
+{if $isShowTax}
+{ts}Total Tax Amount{/ts} : {contribution.tax_amount}
 {/if}
-{ts}Total Amount{/ts} : {$formValues.total_amount|crmMoney:$currency}
-{if !empty($receive_date)}
-{ts}Date Received{/ts}: {$receive_date|truncate:10:\'\'|crmDate}
+{ts}Total Amount{/ts} : {contribution.total_amount}
+{if \'{contribution.receive_date}\'}
+{ts}Date Received{/ts}: {contribution.receive_date}
 {/if}
-{if !empty($receipt_date)}
-{ts}Receipt Date{/ts}: {$receipt_date|truncate:10:\'\'|crmDate}
+{if \'{contribution.receipt_date}\'}
+{ts}Receipt Date{/ts}: {contribution.receipt_date}
 {/if}
-{if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}
-{ts}Paid By{/ts}: {$formValues.paidBy}
-{if !empty($formValues.check_number)}
-{ts}Check Number{/ts}: {$formValues.check_number}
+{if \'{contribution.payment_instrument_id}\' and empty($formValues.hidden_CreditCard)}
+{ts}Paid By{/ts}: {contribution.payment_instrument_id:label}
+{if \'{contribution.check_number}\'}
+{ts}Check Number{/ts}: {contribution.check_number}
 {/if}
 {/if}
-{if !empty($formValues.trxn_id)}
-{ts}Transaction ID{/ts}: {$formValues.trxn_id}
+{if \'{contribution.trxn_id}\'}
+{ts}Transaction ID{/ts}: {contribution.trxn_id}
 {/if}
 
 {if !empty($ccContribution)}
@@ -7221,12 +7202,12 @@ INSERT INTO civicrm_msg_template
       </td>
      </tr>
      <tr>
-      {if !empty($formValues.contributionType_name)}
+      {if \'{contribution.financial_type_id}\'}
         <td {$labelStyle}>
          {ts}Financial Type{/ts}
         </td>
         <td {$valueStyle}>
-         {$formValues.contributionType_name}
+         {contribution.financial_type_id:label}
         </td>
       {/if}
      </tr>
@@ -7262,7 +7243,7 @@ INSERT INTO civicrm_msg_template
               <td>
                 {$line.unit_price*$line.qty|crmMoney:$currency}
               </td>
-              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+              {if $line.tax_rate || $line.tax_amount != ""}
                 <td>
                   {$line.tax_rate|string_format:"%.2f"}%
                 </td>
@@ -7307,13 +7288,13 @@ INSERT INTO civicrm_msg_template
       {/foreach}
      {/if}
 
-     {if isset($totalTaxAmount) && $totalTaxAmount !== \'null\'}
+     {if $isShowTax}
       <tr>
         <td {$labelStyle}>
           {ts}Total Tax Amount{/ts}
         </td>
         <td {$valueStyle}>
-          {$totalTaxAmount|crmMoney:$currency}
+          {contribution.tax_amount}
         </td>
       </tr>
      {/if}
@@ -7323,60 +7304,60 @@ INSERT INTO civicrm_msg_template
        {ts}Total Amount{/ts}
       </td>
       <td {$valueStyle}>
-       {$formValues.total_amount|crmMoney:$currency}
+        {contribution.total_amount}
       </td>
      </tr>
 
-     {if !empty($receive_date)}
-      <tr>
+     {if \'{contribution.receive_date}\'}
+       <tr>
        <td {$labelStyle}>
         {ts}Date Received{/ts}
        </td>
        <td {$valueStyle}>
-        {$receive_date|truncate:10:\'\'|crmDate}
+         {contribution.receive_date}
        </td>
       </tr>
      {/if}
 
-      {if !empty($receipt_date)}
+      {if \'{contribution.receipt_date}\'}
       <tr>
        <td {$labelStyle}>
         {ts}Receipt Date{/ts}
        </td>
        <td {$valueStyle}>
-        {$receipt_date|truncate:10:\'\'|crmDate}
+         {contribution.receipt_date}
        </td>
       </tr>
      {/if}
 
-     {if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}
+     {if \'{contribution.payment_instrument_id}\' and empty($formValues.hidden_CreditCard)}
       <tr>
        <td {$labelStyle}>
         {ts}Paid By{/ts}
        </td>
        <td {$valueStyle}>
-        {$formValues.paidBy}
+         {contribution.payment_instrument_id:label}
        </td>
       </tr>
-      {if !empty($formValues.check_number)}
+      {if \'{contribution.check_number}\'}
        <tr>
         <td {$labelStyle}>
          {ts}Check Number{/ts}
         </td>
         <td {$valueStyle}>
-         {$formValues.check_number}
+          {contribution.check_number}
         </td>
        </tr>
       {/if}
      {/if}
 
-     {if !empty($formValues.trxn_id)}
+     {if \'{contribution.trxn_id}\'}
       <tr>
        <td {$labelStyle}>
         {ts}Transaction ID{/ts}
        </td>
        <td {$valueStyle}>
-        {$formValues.trxn_id}
+         {contribution.trxn_id}
        </td>
       </tr>
      {/if}
@@ -7511,8 +7492,8 @@ INSERT INTO civicrm_msg_template
 
 ===========================================================
 {ts}Contributor{/ts}: {contact.display_name}
-{if !empty($formValues.contributionType_name)}
-{ts}Financial Type{/ts}: {$formValues.contributionType_name}
+{if \'{contribution.financial_type_id}\'}
+{ts}Financial Type{/ts}: {contribution.financial_type_id:label}
 {/if}
 {if $lineItem}
 {foreach from=$lineItem item=value key=priceset}
@@ -7529,7 +7510,7 @@ INSERT INTO civicrm_msg_template
 {$ts_item|string_format:"%-30s"} {$ts_qty|string_format:"%5s"} {$ts_each|string_format:"%10s"} {if !empty($getTaxDetails)} {$ts_subtotal|string_format:"%10s"} {$ts_taxRate} {$ts_taxAmount|string_format:"%10s"} {/if} {$ts_total|string_format:"%10s"}
 ----------------------------------------------------------
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")} {$line.tax_rate|string_format:"%.2f"} %   {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""} {$line.tax_rate|string_format:"%.2f"} %   {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
 {/foreach}
 {/foreach}
 {/if}
@@ -7546,24 +7527,24 @@ INSERT INTO civicrm_msg_template
 {/foreach}
 {/if}
 
-{if isset($totalTaxAmount) && $totalTaxAmount !== \'null\'}
-{ts}Total Tax Amount{/ts} : {$totalTaxAmount|crmMoney:$currency}
+{if $isShowTax}
+{ts}Total Tax Amount{/ts} : {contribution.tax_amount}
 {/if}
-{ts}Total Amount{/ts} : {$formValues.total_amount|crmMoney:$currency}
-{if !empty($receive_date)}
-{ts}Date Received{/ts}: {$receive_date|truncate:10:\'\'|crmDate}
+{ts}Total Amount{/ts} : {contribution.total_amount}
+{if \'{contribution.receive_date}\'}
+{ts}Date Received{/ts}: {contribution.receive_date}
 {/if}
-{if !empty($receipt_date)}
-{ts}Receipt Date{/ts}: {$receipt_date|truncate:10:\'\'|crmDate}
+{if \'{contribution.receipt_date}\'}
+{ts}Receipt Date{/ts}: {contribution.receipt_date}
 {/if}
-{if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}
-{ts}Paid By{/ts}: {$formValues.paidBy}
-{if !empty($formValues.check_number)}
-{ts}Check Number{/ts}: {$formValues.check_number}
+{if \'{contribution.payment_instrument_id}\' and empty($formValues.hidden_CreditCard)}
+{ts}Paid By{/ts}: {contribution.payment_instrument_id:label}
+{if \'{contribution.check_number}\'}
+{ts}Check Number{/ts}: {contribution.check_number}
 {/if}
 {/if}
-{if !empty($formValues.trxn_id)}
-{ts}Transaction ID{/ts}: {$formValues.trxn_id}
+{if \'{contribution.trxn_id}\'}
+{ts}Transaction ID{/ts}: {contribution.trxn_id}
 {/if}
 
 {if !empty($ccContribution)}
@@ -7667,12 +7648,12 @@ INSERT INTO civicrm_msg_template
       </td>
      </tr>
      <tr>
-      {if !empty($formValues.contributionType_name)}
+      {if \'{contribution.financial_type_id}\'}
         <td {$labelStyle}>
          {ts}Financial Type{/ts}
         </td>
         <td {$valueStyle}>
-         {$formValues.contributionType_name}
+         {contribution.financial_type_id:label}
         </td>
       {/if}
      </tr>
@@ -7708,7 +7689,7 @@ INSERT INTO civicrm_msg_template
               <td>
                 {$line.unit_price*$line.qty|crmMoney:$currency}
               </td>
-              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+              {if $line.tax_rate || $line.tax_amount != ""}
                 <td>
                   {$line.tax_rate|string_format:"%.2f"}%
                 </td>
@@ -7753,13 +7734,13 @@ INSERT INTO civicrm_msg_template
       {/foreach}
      {/if}
 
-     {if isset($totalTaxAmount) && $totalTaxAmount !== \'null\'}
+     {if $isShowTax}
       <tr>
         <td {$labelStyle}>
           {ts}Total Tax Amount{/ts}
         </td>
         <td {$valueStyle}>
-          {$totalTaxAmount|crmMoney:$currency}
+          {contribution.tax_amount}
         </td>
       </tr>
      {/if}
@@ -7769,60 +7750,60 @@ INSERT INTO civicrm_msg_template
        {ts}Total Amount{/ts}
       </td>
       <td {$valueStyle}>
-       {$formValues.total_amount|crmMoney:$currency}
+        {contribution.total_amount}
       </td>
      </tr>
 
-     {if !empty($receive_date)}
-      <tr>
+     {if \'{contribution.receive_date}\'}
+       <tr>
        <td {$labelStyle}>
         {ts}Date Received{/ts}
        </td>
        <td {$valueStyle}>
-        {$receive_date|truncate:10:\'\'|crmDate}
+         {contribution.receive_date}
        </td>
       </tr>
      {/if}
 
-      {if !empty($receipt_date)}
+      {if \'{contribution.receipt_date}\'}
       <tr>
        <td {$labelStyle}>
         {ts}Receipt Date{/ts}
        </td>
        <td {$valueStyle}>
-        {$receipt_date|truncate:10:\'\'|crmDate}
+         {contribution.receipt_date}
        </td>
       </tr>
      {/if}
 
-     {if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}
+     {if \'{contribution.payment_instrument_id}\' and empty($formValues.hidden_CreditCard)}
       <tr>
        <td {$labelStyle}>
         {ts}Paid By{/ts}
        </td>
        <td {$valueStyle}>
-        {$formValues.paidBy}
+         {contribution.payment_instrument_id:label}
        </td>
       </tr>
-      {if !empty($formValues.check_number)}
+      {if \'{contribution.check_number}\'}
        <tr>
         <td {$labelStyle}>
          {ts}Check Number{/ts}
         </td>
         <td {$valueStyle}>
-         {$formValues.check_number}
+          {contribution.check_number}
         </td>
        </tr>
       {/if}
      {/if}
 
-     {if !empty($formValues.trxn_id)}
+     {if \'{contribution.trxn_id}\'}
       <tr>
        <td {$labelStyle}>
         {ts}Transaction ID{/ts}
        </td>
        <td {$valueStyle}>
-        {$formValues.trxn_id}
+         {contribution.trxn_id}
        </td>
       </tr>
      {/if}
@@ -7964,7 +7945,7 @@ INSERT INTO civicrm_msg_template
 {ts}Contribution Information{/ts}
 
 ===========================================================
-{if $lineItem and $priceSetID and empty($is_quick_config)}
+{if $isShowLineItems}
 {foreach from=$lineItem item=value key=priceset}
 ---------------------------------------------------------
 {capture assign=ts_item}{ts}Item{/ts}{/capture}
@@ -7979,7 +7960,7 @@ INSERT INTO civicrm_msg_template
 {$ts_item|string_format:"%-30s"} {$ts_qty|string_format:"%5s"} {$ts_each|string_format:"%10s"} {if !empty($dataArray)} {$ts_subtotal|string_format:"%10s"} {$ts_taxRate} {$ts_taxAmount|string_format:"%10s"} {/if} {$ts_total|string_format:"%10s"}
 ----------------------------------------------------------
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
 {/foreach}
 {/foreach}
 
@@ -7995,13 +7976,13 @@ INSERT INTO civicrm_msg_template
 {/foreach}
 {/if}
 
-{if isset($totalTaxAmount)}
-{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}
+{if $isShowTax}
+{ts}Total Tax Amount{/ts}: {contribution.tax_amount|crmMoney}
 {/if}
 
 {ts}Total Amount{/ts}: {$amount|crmMoney:$currency}
 {else}
-{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if isset($amount_level) } - {$amount_level} {/if}
+{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if \'{contribution.amount_level}\'} - {contribution.amount_level}{/if}
 {/if}
 {/if}
 {if !empty($receive_date)}
@@ -8206,7 +8187,7 @@ INSERT INTO civicrm_msg_template
        </th>
       </tr>
 
-      {if !empty($lineItem) and !empty($priceSetID) and empty($is_quick_config)}
+      {if $isShowLineItems}
 
        {foreach from=$lineItem item=value key=priceset}
         <tr>
@@ -8238,7 +8219,7 @@ INSERT INTO civicrm_msg_template
               <td>
                {$line.unit_price*$line.qty|crmMoney:$currency}
               </td>
-              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+              {if $line.tax_rate || $line.tax_amount != ""}
                <td>
                 {$line.tax_rate|string_format:"%.2f"}%
                </td>
@@ -8282,7 +8263,7 @@ INSERT INTO civicrm_msg_template
         {/foreach}
 
        {/if}
-       {if isset($totalTaxAmount)}
+       {if $isShowTax}
         <tr>
          <td {$labelStyle}>
           {ts}Total Tax{/ts}
@@ -8309,7 +8290,7 @@ INSERT INTO civicrm_msg_template
              {ts}Total Tax Amount{/ts}
            </td>
            <td {$valueStyle}>
-             {$totalTaxAmount|crmMoney:$currency}
+             {contribution.tax_amount|crmMoney}
            </td>
          </tr>
        {/if}
@@ -8318,7 +8299,7 @@ INSERT INTO civicrm_msg_template
          {ts}Amount{/ts}
         </td>
         <td {$valueStyle}>
-         {$amount|crmMoney:$currency} {if isset($amount_level)} - {$amount_level}{/if}
+         {$amount|crmMoney:$currency} {if \'{contribution.amount_level}\'} - {contribution.amount_level}{/if}
         </td>
        </tr>
 
@@ -8649,7 +8630,7 @@ INSERT INTO civicrm_msg_template
 {ts}Contribution Information{/ts}
 
 ===========================================================
-{if $lineItem and $priceSetID and empty($is_quick_config)}
+{if $isShowLineItems}
 {foreach from=$lineItem item=value key=priceset}
 ---------------------------------------------------------
 {capture assign=ts_item}{ts}Item{/ts}{/capture}
@@ -8664,7 +8645,7 @@ INSERT INTO civicrm_msg_template
 {$ts_item|string_format:"%-30s"} {$ts_qty|string_format:"%5s"} {$ts_each|string_format:"%10s"} {if !empty($dataArray)} {$ts_subtotal|string_format:"%10s"} {$ts_taxRate} {$ts_taxAmount|string_format:"%10s"} {/if} {$ts_total|string_format:"%10s"}
 ----------------------------------------------------------
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
 {/foreach}
 {/foreach}
 
@@ -8680,13 +8661,13 @@ INSERT INTO civicrm_msg_template
 {/foreach}
 {/if}
 
-{if isset($totalTaxAmount)}
-{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}
+{if $isShowTax}
+{ts}Total Tax Amount{/ts}: {contribution.tax_amount|crmMoney}
 {/if}
 
 {ts}Total Amount{/ts}: {$amount|crmMoney:$currency}
 {else}
-{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if isset($amount_level) } - {$amount_level} {/if}
+{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if \'{contribution.amount_level}\'} - {contribution.amount_level}{/if}
 {/if}
 {/if}
 {if !empty($receive_date)}
@@ -8891,7 +8872,7 @@ INSERT INTO civicrm_msg_template
        </th>
       </tr>
 
-      {if !empty($lineItem) and !empty($priceSetID) and empty($is_quick_config)}
+      {if $isShowLineItems}
 
        {foreach from=$lineItem item=value key=priceset}
         <tr>
@@ -8923,7 +8904,7 @@ INSERT INTO civicrm_msg_template
               <td>
                {$line.unit_price*$line.qty|crmMoney:$currency}
               </td>
-              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+              {if $line.tax_rate || $line.tax_amount != ""}
                <td>
                 {$line.tax_rate|string_format:"%.2f"}%
                </td>
@@ -8967,7 +8948,7 @@ INSERT INTO civicrm_msg_template
         {/foreach}
 
        {/if}
-       {if isset($totalTaxAmount)}
+       {if $isShowTax}
         <tr>
          <td {$labelStyle}>
           {ts}Total Tax{/ts}
@@ -8994,7 +8975,7 @@ INSERT INTO civicrm_msg_template
              {ts}Total Tax Amount{/ts}
            </td>
            <td {$valueStyle}>
-             {$totalTaxAmount|crmMoney:$currency}
+             {contribution.tax_amount|crmMoney}
            </td>
          </tr>
        {/if}
@@ -9003,7 +8984,7 @@ INSERT INTO civicrm_msg_template
          {ts}Amount{/ts}
         </td>
         <td {$valueStyle}>
-         {$amount|crmMoney:$currency} {if isset($amount_level)} - {$amount_level}{/if}
+         {$amount|crmMoney:$currency} {if \'{contribution.amount_level}\'} - {contribution.amount_level}{/if}
         </td>
        </tr>
 
@@ -9431,7 +9412,7 @@ INSERT INTO civicrm_msg_template
                   <td style="text-align:right;"><font size="1">{$value.qty}</font></td>
                   <td style="text-align:right;"><font size="1">{$value.unit_price|crmMoney:$currency}</font></td>
                   {if $value.tax_amount != \'\'}
-                    <td style="text-align:right;"><font size="1">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>
+                    <td style="text-align:right;"><font size="1">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>
                   {else}
                     <td style="text-align:right;"><font size="1">{if $taxTerm}{ts 1=$taxTerm}-{/ts}{/if}</font></td>
                   {/if}
@@ -9661,7 +9642,7 @@ INSERT INTO civicrm_msg_template
                   <td style="padding-left:28px;text-align:right;"><font size="1">{$value.qty}</font></td>
                   <td style="padding-left:28px;text-align:right;"><font size="1">{$value.unit_price|crmMoney:$currency}</font></td>
                   {if $value.tax_amount != \'\'}
-                    <td style="padding-left:28px;text-align:right;"><font size="1">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>
+                    <td style="padding-left:28px;text-align:right;"><font size="1">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>
                   {else}
                     <td style="padding-left:28px;text-align:right"><font size="1">{if $taxTerm}{ts 1=$taxTerm}No %1{/ts}{/if}</font></td>
                   {/if}
@@ -9876,7 +9857,7 @@ INSERT INTO civicrm_msg_template
                   <td style="text-align:right;"><font size="1">{$value.qty}</font></td>
                   <td style="text-align:right;"><font size="1">{$value.unit_price|crmMoney:$currency}</font></td>
                   {if $value.tax_amount != \'\'}
-                    <td style="text-align:right;"><font size="1">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>
+                    <td style="text-align:right;"><font size="1">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>
                   {else}
                     <td style="text-align:right;"><font size="1">{if $taxTerm}{ts 1=$taxTerm}-{/ts}{/if}</font></td>
                   {/if}
@@ -10106,7 +10087,7 @@ INSERT INTO civicrm_msg_template
                   <td style="padding-left:28px;text-align:right;"><font size="1">{$value.qty}</font></td>
                   <td style="padding-left:28px;text-align:right;"><font size="1">{$value.unit_price|crmMoney:$currency}</font></td>
                   {if $value.tax_amount != \'\'}
-                    <td style="padding-left:28px;text-align:right;"><font size="1">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>
+                    <td style="padding-left:28px;text-align:right;"><font size="1">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>
                   {else}
                     <td style="padding-left:28px;text-align:right"><font size="1">{if $taxTerm}{ts 1=$taxTerm}No %1{/ts}{/if}</font></td>
                   {/if}
@@ -11908,7 +11889,7 @@ INSERT INTO civicrm_msg_template
 ===============================================================================
 
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {if !empty($event.participant_role)}
 {ts}Participant Role{/ts}: {$event.participant_role}
@@ -12111,7 +12092,7 @@ INSERT INTO civicrm_msg_template
     <tr>
       <td colspan="2" {$valueStyle}>
          {$event.event_title}<br />
-        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
     </tr>
 
@@ -12272,7 +12253,7 @@ INSERT INTO civicrm_msg_template
 ===============================================================================
 
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {if !empty($event.participant_role)}
 {ts}Participant Role{/ts}: {$event.participant_role}
@@ -12475,7 +12456,7 @@ INSERT INTO civicrm_msg_template
     <tr>
       <td colspan="2" {$valueStyle}>
          {$event.event_title}<br />
-        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
     </tr>
 
@@ -12590,7 +12571,7 @@ INSERT INTO civicrm_msg_template
 ==========================================================={if !empty($pricesetFieldsCount) }===================={/if}
 
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and empty($defaultRole)}
 {ts}Participant Role{/ts}: {$event.participant_role}
@@ -12661,7 +12642,7 @@ INSERT INTO civicrm_msg_template
 
 {foreach from=$value item=line}
 {if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
 {/foreach}
 {/if}
 {/foreach}
@@ -12892,7 +12873,7 @@ INSERT INTO civicrm_msg_template
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
 
@@ -13024,7 +13005,7 @@ INSERT INTO civicrm_msg_template
                <td>
                 {$line.unit_price*$line.qty|crmMoney}
                </td>
-               {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+               {if $line.tax_rate || $line.tax_amount != ""}
                 <td>
                  {$line.tax_rate|string_format:"%.2f"}%
                 </td>
@@ -13394,7 +13375,7 @@ INSERT INTO civicrm_msg_template
 ==========================================================={if !empty($pricesetFieldsCount) }===================={/if}
 
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and empty($defaultRole)}
 {ts}Participant Role{/ts}: {$event.participant_role}
@@ -13465,7 +13446,7 @@ INSERT INTO civicrm_msg_template
 
 {foreach from=$value item=line}
 {if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
 {/foreach}
 {/if}
 {/foreach}
@@ -13696,7 +13677,7 @@ INSERT INTO civicrm_msg_template
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
 
@@ -13828,7 +13809,7 @@ INSERT INTO civicrm_msg_template
                <td>
                 {$line.unit_price*$line.qty|crmMoney}
                </td>
-               {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+               {if $line.tax_rate || $line.tax_amount != ""}
                 <td>
                  {$line.tax_rate|string_format:"%.2f"}%
                 </td>
@@ -14205,7 +14186,7 @@ INSERT INTO civicrm_msg_template
 ==========================================================={if !empty($pricesetFieldsCount)}===================={/if}
 
 {$event.event_title}
-{$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 {if !empty($conference_sessions)}
 
 
@@ -14287,7 +14268,7 @@ You were registered by: {$payer.name}
 
 {foreach from=$value item=line}
 {if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
 {/foreach}
 ----------------------------------------------------------------------------------------------------------------
 {if !empty($individual)}{ts}Participant Total{/ts} {$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:"%29s"} {$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:"%33s"} {$individual.$priceset.totalAmtWithTax|crmMoney:$currency|string_format:"%12s"}{/if}
@@ -14509,7 +14490,7 @@ You were registered by: {$payer.name}
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
 
@@ -14669,7 +14650,7 @@ You were registered by: {$payer.name}
                <td {$tdStyle}>
                 {$line.unit_price*$line.qty|crmMoney}
                </td>
-               {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+               {if $line.tax_rate || $line.tax_amount != ""}
                 <td {$tdStyle}>
                  {$line.tax_rate|string_format:"%.2f"}%
                 </td>
@@ -14985,7 +14966,7 @@ You were registered by: {$payer.name}
 ==========================================================={if !empty($pricesetFieldsCount)}===================={/if}
 
 {$event.event_title}
-{$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 {if !empty($conference_sessions)}
 
 
@@ -15067,7 +15048,7 @@ You were registered by: {$payer.name}
 
 {foreach from=$value item=line}
 {if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
 {/foreach}
 ----------------------------------------------------------------------------------------------------------------
 {if !empty($individual)}{ts}Participant Total{/ts} {$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:"%29s"} {$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:"%33s"} {$individual.$priceset.totalAmtWithTax|crmMoney:$currency|string_format:"%12s"}{/if}
@@ -15289,7 +15270,7 @@ You were registered by: {$payer.name}
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
 
@@ -15449,7 +15430,7 @@ You were registered by: {$payer.name}
                <td {$tdStyle}>
                 {$line.unit_price*$line.qty|crmMoney}
                </td>
-               {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+               {if $line.tax_rate || $line.tax_amount != ""}
                 <td {$tdStyle}>
                  {$line.tax_rate|string_format:"%.2f"}%
                 </td>
@@ -16244,7 +16225,7 @@ Total: {$total|crmMoney:$currency|string_format:"%10s"}
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {ts}Participant Role{/ts}: {participant.role_id:label}
 
@@ -16318,7 +16299,7 @@ Total: {$total|crmMoney:$currency|string_format:"%10s"}
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      <tr>
@@ -16420,7 +16401,7 @@ Total: {$total|crmMoney:$currency|string_format:"%10s"}
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {ts}Participant Role{/ts}: {participant.role_id:label}
 
@@ -16494,7 +16475,7 @@ Total: {$total|crmMoney:$currency|string_format:"%10s"}
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      <tr>
@@ -16612,7 +16593,7 @@ Click this link to go to a web page where you can confirm your registration onli
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 {if $conference_sessions}
 
 
@@ -16727,7 +16708,7 @@ Click this link to go to a web page where you can confirm your registration onli
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      {if $conference_sessions}
@@ -16880,7 +16861,7 @@ Click this link to go to a web page where you can confirm your registration onli
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 {if $conference_sessions}
 
 
@@ -16995,7 +16976,7 @@ Click this link to go to a web page where you can confirm your registration onli
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      {if $conference_sessions}
@@ -17140,7 +17121,7 @@ or want to inquire about reinstating your registration for this event.{/ts}
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {ts}Participant Role{/ts}: {$participant.role}
 
@@ -17217,7 +17198,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      <tr>
@@ -17323,7 +17304,7 @@ or want to inquire about reinstating your registration for this event.{/ts}
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {ts}Participant Role{/ts}: {$participant.role}
 
@@ -17400,7 +17381,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      <tr>
@@ -17503,7 +17484,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {ts}Participant Role{/ts}: {$participant.role}
 
@@ -17576,7 +17557,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      <tr>
@@ -17677,7 +17658,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {ts}Participant Role{/ts}: {$participant.role}
 
@@ -17750,7 +17731,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      <tr>
@@ -18005,7 +17986,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
 --------------------------------------------------------------------------------------------------
 
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
 {/foreach}
 {/foreach}
 
@@ -18189,7 +18170,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
                               <td>
                                 {$line.unit_price*$line.qty|crmMoney}
                               </td>
-                              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+                              {if $line.tax_rate || $line.tax_amount != ""}
                                 <td>
                                   {$line.tax_rate|string_format:"%.2f"}%
                                 </td>
@@ -18419,7 +18400,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
 --------------------------------------------------------------------------------------------------
 
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
 {/foreach}
 {/foreach}
 
@@ -18603,7 +18584,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
                               <td>
                                 {$line.unit_price*$line.qty|crmMoney}
                               </td>
-                              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+                              {if $line.tax_rate || $line.tax_amount != ""}
                                 <td>
                                   {$line.tax_rate|string_format:"%.2f"}%
                                 </td>
@@ -18853,7 +18834,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
 --------------------------------------------------------------------------------------------------
 
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
 {/foreach}
 {/foreach}
 
@@ -19207,7 +19188,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
               <td>
                {$line.unit_price*$line.qty|crmMoney}
               </td>
-              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+              {if ($line.tax_rate || $line.tax_amount != "")}
                <td>
                 {$line.tax_rate|string_format:"%.2f"}%
                </td>
@@ -19647,7 +19628,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
 --------------------------------------------------------------------------------------------------
 
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
 {/foreach}
 {/foreach}
 
@@ -20001,7 +19982,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
               <td>
                {$line.unit_price*$line.qty|crmMoney}
               </td>
-              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+              {if ($line.tax_rate || $line.tax_amount != "")}
                <td>
                 {$line.tax_rate|string_format:"%.2f"}%
                </td>
@@ -23307,20 +23288,6 @@ VALUES
     ( @domainID, 'civicrm/case/search?reset=1', 'Find Cases', 'Find Cases', 'access my cases and activities,access all cases and activities', 'OR',     @caselastID, '1', 1, 3 ),
     ( @domainID, 'civicrm/report/list?compid=7&reset=1', 'Case Reports', 'Case Reports', 'access my cases and activities,access all cases and activities,administer CiviCase', 'OR', @caselastID, '1', 0,    4 );
 
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight, icon )
-VALUES
-    ( @domainID, NULL, 'Grants', 'Grants', 'access CiviGrant', '', NULL, '1', NULL, 90, 'crm-i fa-money' );
-
-SET @grantlastID:=LAST_INSERT_ID();
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
-VALUES
-    ( @domainID, 'civicrm/grant?reset=1',           'Dashboard', 'Dashboard', 'access CiviGrant', '',       @grantlastID, '1', NULL, 1 ),
-    ( @domainID, 'civicrm/grant/add?reset=1&action=add&context=standalone', 'New Grant', 'New Grant', 'access CiviGrant,edit grants', 'AND', @grantlastID, '1', NULL, 2 ),
-    ( @domainID, 'civicrm/grant/search?reset=1',    'Find Grants', 'Find Grants', 'access CiviGrant', '',   @grantlastID, '1', 1, 3 ),
-    ( @domainID, 'civicrm/report/list?compid=5&reset=1', 'Grant Reports', 'Grant Reports', 'access CiviGrant', '', @grantlastID, '1', 0,    4 );
-
 INSERT INTO civicrm_navigation
     ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight, icon )
 VALUES
@@ -23533,18 +23500,6 @@ VALUES
     ( @domainID, 'civicrm/admin/paymentProcessor?reset=1',                  'Payment Processors', 'Payment Processors',              'administer CiviCRM', '',                     @adminEventlastID, '1', NULL, 12),
     ( @domainID, 'civicrm/admin/setting/preferences/event?reset=1',         'CiviEvent Component Settings', 'CiviEvent Component Settings','access CiviEvent,administer CiviCRM', 'AND', @adminEventlastID, '1', NULL, 13 );
 
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
-VALUES
-    ( @domainID, NULL, 'CiviGrant', 'CiviGrant', 'access CiviGrant,administer CiviCRM', 'AND', @adminlastID, '1', NULL, 13 );
-
-SET @adminGrantlastID:=LAST_INSERT_ID();
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
-VALUES
-    ( @domainID, 'civicrm/admin/options/grant_type?reset=1', 'Grant Types', 'Grant Types', 'access CiviGrant,administer CiviCRM', 'AND', @adminGrantlastID, '1', NULL, 1 ),
-    ( @domainID, 'civicrm/admin/options/grant_status?reset=1', 'Grant Status', 'Grant Status', 'access CiviGrant,administer CiviCRM', 'AND', @adminGrantlastID, '1', NULL, 2 );
-
 INSERT INTO civicrm_navigation
     ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
 VALUES
@@ -23859,4 +23814,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.46.2';
+UPDATE civicrm_domain SET version = '5.47.0';
diff --git a/civicrm/sql/civicrm_drop.mysql b/civicrm/sql/civicrm_drop.mysql
index 83bc949d982122c92f839724fbef8defd1973c04..1effeeb13c4d2e35f16e9e5e4b0c973a6d89d3ea 100644
--- a/civicrm/sql/civicrm_drop.mysql
+++ b/civicrm/sql/civicrm_drop.mysql
@@ -119,9 +119,9 @@ DROP TABLE IF EXISTS `civicrm_cache`;
 DROP TABLE IF EXISTS `civicrm_cxn`;
 DROP TABLE IF EXISTS `civicrm_pcp`;
 DROP TABLE IF EXISTS `civicrm_queue_item`;
+DROP TABLE IF EXISTS `civicrm_queue`;
 DROP TABLE IF EXISTS `civicrm_pledge_block`;
 DROP TABLE IF EXISTS `civicrm_tell_friend`;
-DROP TABLE IF EXISTS `civicrm_grant`;
 DROP TABLE IF EXISTS `civicrm_case_type`;
 DROP TABLE IF EXISTS `civicrm_dedupe_exception`;
 DROP TABLE IF EXISTS `civicrm_dedupe_rule`;
diff --git a/civicrm/sql/civicrm_generated.mysql b/civicrm/sql/civicrm_generated.mysql
index df388294f576bf66b05f7c1c3517492eb0180614..0c592fec8445a3fd0b6fa08c6b824c0f43891225 100644
--- a/civicrm/sql/civicrm_generated.mysql
+++ b/civicrm/sql/civicrm_generated.mysql
@@ -1,15 +1,16 @@
--- MySQL dump 10.19  Distrib 10.3.29-MariaDB, for debian-linux-gnu (x86_64)
+-- MySQL dump 10.13  Distrib 8.0.26, for Linux (x86_64)
 --
--- Host: database    Database: dmastercivicrm
+-- Host: 127.0.0.1    Database: db
 -- ------------------------------------------------------
--- Server version	10.4.20-MariaDB-1:10.4.20+maria~focal
+-- Server version	8.0.28
 
 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
 /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
 /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8mb4 */;
+/*!50503 SET NAMES utf8mb4 */;
 /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
 /*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
 /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
 /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
 /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
@@ -116,7 +117,7 @@ LOCK TABLES `civicrm_acl_entity_role` WRITE;
 /*!40000 ALTER TABLE `civicrm_acl_entity_role` DISABLE KEYS */;
 INSERT INTO `civicrm_acl_entity_role` (`id`, `acl_role_id`, `entity_table`, `entity_id`, `is_active`) VALUES
  (1,1,'civicrm_group',1,1),
- (2,872,'civicrm_group',4,1);
+ (2,856,'civicrm_group',4,1);
 /*!40000 ALTER TABLE `civicrm_acl_entity_role` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -161,647 +162,647 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_activity` WRITE;
 /*!40000 ALTER TABLE `civicrm_activity` DISABLE KEYS */;
 INSERT INTO `civicrm_activity` (`id`, `source_record_id`, `activity_type_id`, `subject`, `activity_date_time`, `duration`, `location`, `phone_id`, `phone_number`, `details`, `status_id`, `priority_id`, `parent_id`, `is_test`, `medium_id`, `is_auto`, `relationship_id`, `is_current_revision`, `original_id`, `result`, `is_deleted`, `campaign_id`, `engagement_level`, `weight`, `is_star`, `created_date`, `modified_date`) VALUES
- (1,NULL,10,'Subject for Pledge Acknowledgment','2021-12-09 11:27:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46'),
- (2,NULL,9,'Subject for Tell a Friend','2021-03-20 14:09:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46'),
- (3,NULL,9,'Subject for Tell a Friend','2021-06-12 16:07:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46'),
- (4,NULL,9,'Subject for Tell a Friend','2021-03-14 06:55:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46'),
- (5,NULL,9,'Subject for Tell a Friend','2021-01-21 19:22:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46'),
- (6,NULL,9,'Subject for Tell a Friend','2021-10-16 18:13:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46'),
- (7,NULL,9,'Subject for Tell a Friend','2021-02-19 10:43:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46'),
- (8,NULL,9,'Subject for Tell a Friend','2021-07-23 04:26:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46'),
- (9,NULL,10,'Subject for Pledge Acknowledgment','2021-04-18 03:34:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46'),
- (10,NULL,9,'Subject for Tell a Friend','2021-10-02 19:12:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (11,NULL,10,'Subject for Pledge Acknowledgment','2021-06-17 17:21:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (12,NULL,9,'Subject for Tell a Friend','2021-11-25 05:52:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (13,NULL,10,'Subject for Pledge Acknowledgment','2021-04-08 21:44:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (14,NULL,9,'Subject for Tell a Friend','2021-06-10 03:00:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (15,NULL,10,'Subject for Pledge Acknowledgment','2021-11-10 17:55:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (16,NULL,9,'Subject for Tell a Friend','2021-04-26 13:55:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (17,NULL,10,'Subject for Pledge Acknowledgment','2021-01-24 10:38:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (18,NULL,9,'Subject for Tell a Friend','2021-09-08 00:26:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (19,NULL,9,'Subject for Tell a Friend','2021-10-17 23:54:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (20,NULL,9,'Subject for Tell a Friend','2021-07-16 03:57:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (21,NULL,10,'Subject for Pledge Acknowledgment','2021-08-25 01:01:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (22,NULL,9,'Subject for Tell a Friend','2021-07-28 23:18:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (23,NULL,10,'Subject for Pledge Acknowledgment','2021-02-01 03:22:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (24,NULL,10,'Subject for Pledge Acknowledgment','2021-03-11 17:59:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (25,NULL,10,'Subject for Pledge Acknowledgment','2021-04-19 17:14:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (26,NULL,9,'Subject for Tell a Friend','2021-03-11 11:23:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (27,NULL,10,'Subject for Pledge Acknowledgment','2021-09-21 16:11:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (28,NULL,10,'Subject for Pledge Acknowledgment','2021-12-16 08:05:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (29,NULL,10,'Subject for Pledge Acknowledgment','2021-12-09 11:26:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (30,NULL,10,'Subject for Pledge Acknowledgment','2021-10-10 17:22:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (31,NULL,10,'Subject for Pledge Acknowledgment','2021-04-04 09:17:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (32,NULL,10,'Subject for Pledge Acknowledgment','2021-07-10 00:45:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (33,NULL,9,'Subject for Tell a Friend','2021-10-24 01:32:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (34,NULL,9,'Subject for Tell a Friend','2021-07-17 01:05:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (35,NULL,10,'Subject for Pledge Acknowledgment','2021-05-26 15:49:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (36,NULL,10,'Subject for Pledge Acknowledgment','2021-04-01 22:47:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (37,NULL,9,'Subject for Tell a Friend','2021-09-23 07:25:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (38,NULL,10,'Subject for Pledge Acknowledgment','2021-07-04 23:40:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (39,NULL,9,'Subject for Tell a Friend','2021-12-18 09:07:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (40,NULL,10,'Subject for Pledge Acknowledgment','2021-04-01 23:16:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (41,NULL,9,'Subject for Tell a Friend','2021-05-29 10:34:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (42,NULL,9,'Subject for Tell a Friend','2021-10-10 22:33:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (43,NULL,9,'Subject for Tell a Friend','2021-05-21 19:59:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (44,NULL,10,'Subject for Pledge Acknowledgment','2021-04-23 02:12:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (45,NULL,9,'Subject for Tell a Friend','2021-11-30 00:16:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (46,NULL,10,'Subject for Pledge Acknowledgment','2021-11-06 00:01:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (47,NULL,10,'Subject for Pledge Acknowledgment','2021-10-18 19:09:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (48,NULL,9,'Subject for Tell a Friend','2021-09-02 18:47:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (49,NULL,9,'Subject for Tell a Friend','2021-04-29 10:37:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (50,NULL,10,'Subject for Pledge Acknowledgment','2021-05-04 15:04:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (51,NULL,10,'Subject for Pledge Acknowledgment','2021-06-15 13:36:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (52,NULL,10,'Subject for Pledge Acknowledgment','2021-03-18 04:04:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (53,NULL,9,'Subject for Tell a Friend','2021-07-12 22:52:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (54,NULL,9,'Subject for Tell a Friend','2021-09-09 20:40:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (55,NULL,9,'Subject for Tell a Friend','2021-09-24 18:53:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (56,NULL,9,'Subject for Tell a Friend','2021-05-16 04:56:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (57,NULL,10,'Subject for Pledge Acknowledgment','2021-12-09 19:03:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (58,NULL,9,'Subject for Tell a Friend','2021-01-26 01:53:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (59,NULL,9,'Subject for Tell a Friend','2021-03-16 02:39:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (60,NULL,9,'Subject for Tell a Friend','2021-04-30 00:17:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (61,NULL,10,'Subject for Pledge Acknowledgment','2021-08-11 01:12:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (62,NULL,9,'Subject for Tell a Friend','2021-09-09 09:47:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (63,NULL,9,'Subject for Tell a Friend','2021-07-09 02:04:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (64,NULL,9,'Subject for Tell a Friend','2021-02-14 09:21:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (65,NULL,9,'Subject for Tell a Friend','2021-11-10 18:18:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (66,NULL,9,'Subject for Tell a Friend','2021-09-16 14:18:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (67,NULL,9,'Subject for Tell a Friend','2021-01-23 02:18:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (68,NULL,9,'Subject for Tell a Friend','2021-10-02 23:30:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (69,NULL,10,'Subject for Pledge Acknowledgment','2021-12-15 19:36:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (70,NULL,9,'Subject for Tell a Friend','2021-08-08 13:09:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (71,NULL,9,'Subject for Tell a Friend','2021-09-13 08:11:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (72,NULL,9,'Subject for Tell a Friend','2021-03-13 04:05:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (73,NULL,9,'Subject for Tell a Friend','2021-12-09 10:31:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (74,NULL,10,'Subject for Pledge Acknowledgment','2021-05-17 11:00:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (75,NULL,9,'Subject for Tell a Friend','2021-01-27 07:51:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (76,NULL,9,'Subject for Tell a Friend','2021-11-25 15:46:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (77,NULL,10,'Subject for Pledge Acknowledgment','2021-03-25 18:23:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (78,NULL,10,'Subject for Pledge Acknowledgment','2021-07-19 12:57:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (79,NULL,9,'Subject for Tell a Friend','2021-05-28 21:09:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (80,NULL,9,'Subject for Tell a Friend','2021-03-22 18:12:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (81,NULL,9,'Subject for Tell a Friend','2021-12-21 11:20:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (82,NULL,10,'Subject for Pledge Acknowledgment','2021-06-14 23:40:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (83,NULL,10,'Subject for Pledge Acknowledgment','2021-04-05 20:17:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (84,NULL,10,'Subject for Pledge Acknowledgment','2021-10-31 00:13:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (85,NULL,9,'Subject for Tell a Friend','2021-07-09 00:40:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (86,NULL,10,'Subject for Pledge Acknowledgment','2021-04-13 20:03:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (87,NULL,9,'Subject for Tell a Friend','2021-01-31 12:58:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (88,NULL,10,'Subject for Pledge Acknowledgment','2021-01-14 08:38:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (89,NULL,9,'Subject for Tell a Friend','2021-12-28 10:21:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (90,NULL,9,'Subject for Tell a Friend','2021-07-26 08:28:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (91,NULL,9,'Subject for Tell a Friend','2021-06-24 10:19:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (92,NULL,9,'Subject for Tell a Friend','2021-08-14 11:44:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (93,NULL,9,'Subject for Tell a Friend','2021-08-19 07:28:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (94,NULL,9,'Subject for Tell a Friend','2021-02-12 23:25:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (95,NULL,10,'Subject for Pledge Acknowledgment','2021-04-11 04:12:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (96,NULL,9,'Subject for Tell a Friend','2021-12-09 11:50:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (97,NULL,9,'Subject for Tell a Friend','2021-10-17 14:03:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (98,NULL,9,'Subject for Tell a Friend','2021-06-10 10:37:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (99,NULL,9,'Subject for Tell a Friend','2021-10-02 08:50:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (100,NULL,9,'Subject for Tell a Friend','2021-01-06 23:52:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (101,NULL,10,'Subject for Pledge Acknowledgment','2021-05-17 13:29:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (102,NULL,10,'Subject for Pledge Acknowledgment','2021-07-02 09:45:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (103,NULL,9,'Subject for Tell a Friend','2021-09-25 06:54:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (104,NULL,9,'Subject for Tell a Friend','2021-05-19 12:12:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (105,NULL,9,'Subject for Tell a Friend','2021-09-06 22:45:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (106,NULL,10,'Subject for Pledge Acknowledgment','2021-03-13 17:14:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (107,NULL,10,'Subject for Pledge Acknowledgment','2021-01-14 07:55:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (108,NULL,9,'Subject for Tell a Friend','2021-08-21 09:49:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (109,NULL,10,'Subject for Pledge Acknowledgment','2021-05-14 10:23:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (110,NULL,9,'Subject for Tell a Friend','2021-03-27 15:51:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (111,NULL,10,'Subject for Pledge Acknowledgment','2021-05-22 08:53:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (112,NULL,10,'Subject for Pledge Acknowledgment','2021-07-17 10:07:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (113,NULL,10,'Subject for Pledge Acknowledgment','2021-05-10 21:32:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (114,NULL,9,'Subject for Tell a Friend','2021-10-15 14:42:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (115,NULL,9,'Subject for Tell a Friend','2021-09-01 17:14:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (116,NULL,10,'Subject for Pledge Acknowledgment','2021-08-13 04:52:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (117,NULL,9,'Subject for Tell a Friend','2021-12-31 02:51:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (118,NULL,9,'Subject for Tell a Friend','2021-05-28 16:12:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (119,NULL,10,'Subject for Pledge Acknowledgment','2021-10-16 23:45:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (120,NULL,9,'Subject for Tell a Friend','2021-12-04 20:55:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (121,NULL,10,'Subject for Pledge Acknowledgment','2021-07-22 13:51:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (122,NULL,10,'Subject for Pledge Acknowledgment','2021-06-18 04:49:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (123,NULL,9,'Subject for Tell a Friend','2021-05-11 20:05:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (124,NULL,9,'Subject for Tell a Friend','2021-03-25 05:16:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (125,NULL,9,'Subject for Tell a Friend','2021-04-08 07:21:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (126,NULL,9,'Subject for Tell a Friend','2021-10-22 13:33:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (127,NULL,10,'Subject for Pledge Acknowledgment','2021-05-24 04:49:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (128,NULL,10,'Subject for Pledge Acknowledgment','2021-11-21 15:47:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (129,NULL,9,'Subject for Tell a Friend','2021-02-03 02:17:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (130,NULL,10,'Subject for Pledge Acknowledgment','2021-09-10 00:44:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (131,NULL,9,'Subject for Tell a Friend','2021-03-11 22:11:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (132,NULL,10,'Subject for Pledge Acknowledgment','2021-03-04 03:00:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (133,NULL,10,'Subject for Pledge Acknowledgment','2021-10-25 01:44:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (134,NULL,10,'Subject for Pledge Acknowledgment','2021-05-19 23:02:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (135,NULL,10,'Subject for Pledge Acknowledgment','2021-02-12 20:31:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (136,NULL,9,'Subject for Tell a Friend','2021-09-26 16:19:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (137,NULL,10,'Subject for Pledge Acknowledgment','2021-06-01 20:13:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (138,NULL,9,'Subject for Tell a Friend','2021-02-03 10:40:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (139,NULL,10,'Subject for Pledge Acknowledgment','2021-08-06 15:07:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (140,NULL,9,'Subject for Tell a Friend','2021-08-19 04:35:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (141,NULL,9,'Subject for Tell a Friend','2021-07-13 12:32:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (142,NULL,9,'Subject for Tell a Friend','2021-01-15 05:14:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (143,NULL,9,'Subject for Tell a Friend','2021-09-01 03:16:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (144,NULL,9,'Subject for Tell a Friend','2021-09-25 18:06:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (145,NULL,9,'Subject for Tell a Friend','2021-04-19 14:39:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (146,NULL,10,'Subject for Pledge Acknowledgment','2021-09-29 08:48:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (147,NULL,9,'Subject for Tell a Friend','2021-03-18 17:18:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (148,NULL,10,'Subject for Pledge Acknowledgment','2021-03-19 00:36:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (149,NULL,9,'Subject for Tell a Friend','2021-06-12 22:43:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (150,NULL,9,'Subject for Tell a Friend','2021-10-15 10:03:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (151,NULL,10,'Subject for Pledge Acknowledgment','2021-03-15 08:48:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (152,NULL,10,'Subject for Pledge Acknowledgment','2021-06-09 16:24:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (153,NULL,10,'Subject for Pledge Acknowledgment','2021-11-25 12:10:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (154,NULL,9,'Subject for Tell a Friend','2021-08-14 04:09:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (155,NULL,9,'Subject for Tell a Friend','2021-06-07 02:32:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (156,NULL,10,'Subject for Pledge Acknowledgment','2021-12-11 04:12:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (157,NULL,10,'Subject for Pledge Acknowledgment','2021-08-07 21:50:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (158,NULL,9,'Subject for Tell a Friend','2021-05-30 13:03:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (159,NULL,9,'Subject for Tell a Friend','2021-07-11 06:26:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (160,NULL,9,'Subject for Tell a Friend','2021-05-10 16:09:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (161,NULL,9,'Subject for Tell a Friend','2021-08-24 06:37:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (162,NULL,9,'Subject for Tell a Friend','2021-08-04 06:07:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (163,NULL,9,'Subject for Tell a Friend','2021-07-17 11:58:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (164,NULL,10,'Subject for Pledge Acknowledgment','2021-10-24 22:30:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (165,NULL,10,'Subject for Pledge Acknowledgment','2021-10-17 11:41:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (166,NULL,10,'Subject for Pledge Acknowledgment','2021-04-12 15:17:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (167,NULL,10,'Subject for Pledge Acknowledgment','2021-08-24 13:36:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (168,NULL,10,'Subject for Pledge Acknowledgment','2021-12-06 06:16:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (169,NULL,9,'Subject for Tell a Friend','2021-07-16 23:03:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (170,NULL,10,'Subject for Pledge Acknowledgment','2021-03-28 08:19:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (171,NULL,9,'Subject for Tell a Friend','2021-09-24 16:58:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (172,NULL,9,'Subject for Tell a Friend','2021-08-19 10:14:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (173,NULL,10,'Subject for Pledge Acknowledgment','2021-11-08 00:15:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (174,NULL,10,'Subject for Pledge Acknowledgment','2021-03-26 09:18:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (175,NULL,10,'Subject for Pledge Acknowledgment','2021-12-03 19:45:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (176,NULL,9,'Subject for Tell a Friend','2021-02-14 04:19:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (177,NULL,10,'Subject for Pledge Acknowledgment','2021-02-02 06:50:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (178,NULL,9,'Subject for Tell a Friend','2021-03-02 01:22:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (179,NULL,10,'Subject for Pledge Acknowledgment','2021-07-02 10:25:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (180,NULL,10,'Subject for Pledge Acknowledgment','2021-06-05 07:10:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (181,NULL,9,'Subject for Tell a Friend','2021-05-01 22:41:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (182,NULL,9,'Subject for Tell a Friend','2021-05-12 13:37:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (183,NULL,9,'Subject for Tell a Friend','2021-02-08 11:08:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (184,NULL,9,'Subject for Tell a Friend','2021-02-22 07:31:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (185,NULL,9,'Subject for Tell a Friend','2021-04-17 16:49:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (186,NULL,9,'Subject for Tell a Friend','2021-04-27 04:48:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (187,NULL,9,'Subject for Tell a Friend','2021-05-25 03:27:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (188,NULL,10,'Subject for Pledge Acknowledgment','2021-06-02 23:42:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (189,NULL,9,'Subject for Tell a Friend','2021-06-23 07:11:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (190,NULL,10,'Subject for Pledge Acknowledgment','2021-03-09 05:29:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (191,NULL,9,'Subject for Tell a Friend','2021-10-07 02:59:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (192,NULL,9,'Subject for Tell a Friend','2021-12-14 05:57:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (193,NULL,9,'Subject for Tell a Friend','2021-02-27 13:08:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (194,NULL,9,'Subject for Tell a Friend','2021-09-21 04:21:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (195,NULL,9,'Subject for Tell a Friend','2021-10-05 11:25:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (196,NULL,10,'Subject for Pledge Acknowledgment','2021-07-20 16:52:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (197,NULL,9,'Subject for Tell a Friend','2021-11-14 04:49:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (198,NULL,10,'Subject for Pledge Acknowledgment','2021-08-09 08:54:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (199,NULL,10,'Subject for Pledge Acknowledgment','2022-01-04 09:14:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (200,NULL,10,'Subject for Pledge Acknowledgment','2021-02-22 04:35:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (201,NULL,9,'Subject for Tell a Friend','2021-06-27 14:42:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (202,NULL,10,'Subject for Pledge Acknowledgment','2021-05-15 17:28:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (203,NULL,10,'Subject for Pledge Acknowledgment','2021-09-28 19:22:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (204,NULL,9,'Subject for Tell a Friend','2021-09-19 00:10:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (205,NULL,10,'Subject for Pledge Acknowledgment','2021-03-31 09:21:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (206,NULL,10,'Subject for Pledge Acknowledgment','2021-03-09 00:31:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (207,NULL,10,'Subject for Pledge Acknowledgment','2021-10-27 09:45:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (208,NULL,9,'Subject for Tell a Friend','2021-02-01 04:45:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (209,NULL,9,'Subject for Tell a Friend','2021-02-26 23:32:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (210,NULL,9,'Subject for Tell a Friend','2021-02-09 23:03:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (211,NULL,9,'Subject for Tell a Friend','2021-04-16 12:07:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (212,NULL,10,'Subject for Pledge Acknowledgment','2021-11-06 21:23:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (213,NULL,10,'Subject for Pledge Acknowledgment','2021-11-23 03:15:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (214,NULL,10,'Subject for Pledge Acknowledgment','2021-08-19 13:48:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (215,NULL,9,'Subject for Tell a Friend','2021-03-11 08:01:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (216,NULL,10,'Subject for Pledge Acknowledgment','2021-11-15 23:23:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (217,NULL,10,'Subject for Pledge Acknowledgment','2021-04-04 07:45:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (218,NULL,9,'Subject for Tell a Friend','2021-10-19 01:27:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (219,NULL,10,'Subject for Pledge Acknowledgment','2021-12-19 17:39:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (220,NULL,9,'Subject for Tell a Friend','2021-06-18 05:47:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (221,NULL,10,'Subject for Pledge Acknowledgment','2021-02-04 15:29:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (222,NULL,10,'Subject for Pledge Acknowledgment','2021-04-29 08:07:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (223,NULL,10,'Subject for Pledge Acknowledgment','2021-12-27 11:25:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (224,NULL,10,'Subject for Pledge Acknowledgment','2021-08-31 03:53:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (225,NULL,9,'Subject for Tell a Friend','2021-10-29 21:04:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (226,NULL,9,'Subject for Tell a Friend','2021-02-22 17:13:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (227,NULL,10,'Subject for Pledge Acknowledgment','2021-11-17 06:13:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (228,NULL,9,'Subject for Tell a Friend','2021-06-19 15:09:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (229,NULL,10,'Subject for Pledge Acknowledgment','2021-08-21 22:06:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (230,NULL,10,'Subject for Pledge Acknowledgment','2021-02-05 23:24:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (231,NULL,9,'Subject for Tell a Friend','2021-07-27 08:31:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (232,NULL,9,'Subject for Tell a Friend','2021-10-04 10:33:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (233,NULL,9,'Subject for Tell a Friend','2021-06-11 23:07:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (234,NULL,10,'Subject for Pledge Acknowledgment','2021-06-08 00:02:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (235,NULL,10,'Subject for Pledge Acknowledgment','2021-12-30 19:44:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (236,NULL,9,'Subject for Tell a Friend','2021-06-05 09:09:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (237,NULL,10,'Subject for Pledge Acknowledgment','2022-01-01 17:14:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (238,NULL,10,'Subject for Pledge Acknowledgment','2021-02-06 22:28:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (239,NULL,10,'Subject for Pledge Acknowledgment','2021-02-04 06:00:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (240,NULL,9,'Subject for Tell a Friend','2021-09-11 12:50:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (241,NULL,10,'Subject for Pledge Acknowledgment','2021-05-19 08:05:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (242,NULL,9,'Subject for Tell a Friend','2021-12-21 20:44:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (243,NULL,9,'Subject for Tell a Friend','2021-03-25 20:17:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (244,NULL,9,'Subject for Tell a Friend','2021-05-21 20:50:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (245,NULL,10,'Subject for Pledge Acknowledgment','2021-01-21 02:46:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (246,NULL,10,'Subject for Pledge Acknowledgment','2021-08-22 10:44:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (247,NULL,10,'Subject for Pledge Acknowledgment','2021-01-08 10:01:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (248,NULL,9,'Subject for Tell a Friend','2021-06-20 20:26:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (249,NULL,10,'Subject for Pledge Acknowledgment','2021-02-01 23:26:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (250,NULL,9,'Subject for Tell a Friend','2021-01-15 14:09:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (251,NULL,9,'Subject for Tell a Friend','2021-04-12 23:03:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (252,NULL,10,'Subject for Pledge Acknowledgment','2021-12-01 14:33:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (253,NULL,9,'Subject for Tell a Friend','2021-09-03 11:40:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (254,NULL,9,'Subject for Tell a Friend','2021-01-12 21:42:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (255,NULL,9,'Subject for Tell a Friend','2021-12-02 02:34:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (256,NULL,9,'Subject for Tell a Friend','2022-01-03 15:55:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (257,NULL,10,'Subject for Pledge Acknowledgment','2021-03-01 10:20:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (258,NULL,9,'Subject for Tell a Friend','2021-04-27 12:10:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (259,NULL,9,'Subject for Tell a Friend','2021-11-09 04:43:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (260,NULL,10,'Subject for Pledge Acknowledgment','2021-03-17 16:55:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (261,NULL,9,'Subject for Tell a Friend','2021-11-20 21:54:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (262,NULL,10,'Subject for Pledge Acknowledgment','2021-10-28 17:55:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (263,NULL,9,'Subject for Tell a Friend','2021-03-22 03:20:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (264,NULL,9,'Subject for Tell a Friend','2021-10-17 05:35:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (265,NULL,10,'Subject for Pledge Acknowledgment','2021-09-03 22:01:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (266,NULL,9,'Subject for Tell a Friend','2021-04-08 00:48:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (267,NULL,10,'Subject for Pledge Acknowledgment','2021-05-20 06:32:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (268,NULL,9,'Subject for Tell a Friend','2021-10-14 10:14:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (269,NULL,10,'Subject for Pledge Acknowledgment','2021-02-15 12:58:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (270,NULL,10,'Subject for Pledge Acknowledgment','2021-09-02 23:19:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (271,NULL,9,'Subject for Tell a Friend','2021-09-03 12:53:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (272,NULL,10,'Subject for Pledge Acknowledgment','2021-12-07 19:01:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (273,NULL,10,'Subject for Pledge Acknowledgment','2021-01-25 02:37:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (274,NULL,9,'Subject for Tell a Friend','2021-08-14 15:23:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (275,NULL,9,'Subject for Tell a Friend','2021-12-08 02:13:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (276,NULL,9,'Subject for Tell a Friend','2021-08-16 00:07:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (277,NULL,10,'Subject for Pledge Acknowledgment','2021-06-13 17:45:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (278,NULL,10,'Subject for Pledge Acknowledgment','2021-07-14 21:27:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (279,NULL,10,'Subject for Pledge Acknowledgment','2021-08-24 15:50:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (280,NULL,10,'Subject for Pledge Acknowledgment','2022-01-03 04:07:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (281,NULL,10,'Subject for Pledge Acknowledgment','2021-03-18 01:02:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (282,NULL,9,'Subject for Tell a Friend','2022-01-02 12:44:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (283,NULL,10,'Subject for Pledge Acknowledgment','2021-06-05 17:05:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (284,NULL,10,'Subject for Pledge Acknowledgment','2021-07-23 11:01:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (285,NULL,9,'Subject for Tell a Friend','2021-12-22 17:48:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (286,NULL,9,'Subject for Tell a Friend','2021-01-21 23:41:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (287,NULL,9,'Subject for Tell a Friend','2021-03-31 04:53:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (288,NULL,9,'Subject for Tell a Friend','2021-02-12 22:18:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (289,NULL,9,'Subject for Tell a Friend','2021-11-28 12:18:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (290,NULL,9,'Subject for Tell a Friend','2021-02-13 08:23:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (291,NULL,10,'Subject for Pledge Acknowledgment','2021-09-14 17:21:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (292,NULL,10,'Subject for Pledge Acknowledgment','2021-11-13 01:53:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (293,NULL,9,'Subject for Tell a Friend','2021-01-18 03:17:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (294,NULL,10,'Subject for Pledge Acknowledgment','2021-01-08 21:27:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (295,NULL,10,'Subject for Pledge Acknowledgment','2021-01-08 13:52:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (296,NULL,9,'Subject for Tell a Friend','2021-02-26 16:37:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (297,NULL,9,'Subject for Tell a Friend','2021-02-04 19:00:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (298,NULL,10,'Subject for Pledge Acknowledgment','2021-08-08 09:46:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (299,NULL,9,'Subject for Tell a Friend','2021-03-05 22:18:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (300,NULL,9,'Subject for Tell a Friend','2021-08-26 20:37:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (301,NULL,9,'Subject for Tell a Friend','2021-04-17 13:25:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (302,NULL,10,'Subject for Pledge Acknowledgment','2021-02-28 01:41:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (303,NULL,10,'Subject for Pledge Acknowledgment','2021-02-10 16:28:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (304,NULL,9,'Subject for Tell a Friend','2021-12-04 12:29:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (305,NULL,10,'Subject for Pledge Acknowledgment','2021-11-13 07:39:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (306,NULL,9,'Subject for Tell a Friend','2021-08-21 17:22:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (307,NULL,10,'Subject for Pledge Acknowledgment','2021-01-22 12:25:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (308,NULL,9,'Subject for Tell a Friend','2021-10-31 12:45:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (309,NULL,10,'Subject for Pledge Acknowledgment','2021-11-07 23:46:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (310,NULL,9,'Subject for Tell a Friend','2021-12-24 08:37:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (311,NULL,9,'Subject for Tell a Friend','2021-10-18 05:57:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (312,NULL,9,'Subject for Tell a Friend','2021-10-27 15:32:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (313,NULL,10,'Subject for Pledge Acknowledgment','2021-01-22 09:39:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (314,NULL,9,'Subject for Tell a Friend','2021-07-12 02:20:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (315,NULL,10,'Subject for Pledge Acknowledgment','2021-04-05 14:10:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (316,NULL,10,'Subject for Pledge Acknowledgment','2021-08-15 18:36:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (317,NULL,9,'Subject for Tell a Friend','2021-09-25 05:14:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (318,NULL,9,'Subject for Tell a Friend','2021-11-30 20:26:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (319,NULL,9,'Subject for Tell a Friend','2021-06-11 08:20:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (320,NULL,9,'Subject for Tell a Friend','2021-05-15 18:55:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (321,NULL,9,'Subject for Tell a Friend','2021-06-14 07:52:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (322,NULL,10,'Subject for Pledge Acknowledgment','2021-02-27 20:07:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (323,NULL,9,'Subject for Tell a Friend','2021-03-24 14:15:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (324,NULL,9,'Subject for Tell a Friend','2021-02-01 02:15:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (325,NULL,10,'Subject for Pledge Acknowledgment','2021-11-30 19:34:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (326,NULL,9,'Subject for Tell a Friend','2021-11-19 23:01:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (327,NULL,9,'Subject for Tell a Friend','2021-02-21 07:44:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (328,NULL,10,'Subject for Pledge Acknowledgment','2021-06-15 23:06:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (329,NULL,10,'Subject for Pledge Acknowledgment','2021-01-10 07:40:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (330,NULL,9,'Subject for Tell a Friend','2021-02-25 13:26:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (331,NULL,9,'Subject for Tell a Friend','2021-07-01 11:39:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (332,NULL,10,'Subject for Pledge Acknowledgment','2021-04-14 02:49:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (333,NULL,10,'Subject for Pledge Acknowledgment','2021-07-20 04:55:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (334,NULL,9,'Subject for Tell a Friend','2021-04-06 04:53:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (335,NULL,10,'Subject for Pledge Acknowledgment','2021-01-30 18:45:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (336,NULL,9,'Subject for Tell a Friend','2021-07-14 07:43:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (337,NULL,9,'Subject for Tell a Friend','2021-03-12 05:01:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (338,NULL,10,'Subject for Pledge Acknowledgment','2021-10-06 19:57:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (339,NULL,10,'Subject for Pledge Acknowledgment','2021-06-03 22:54:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (340,NULL,10,'Subject for Pledge Acknowledgment','2021-08-09 11:11:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (341,NULL,10,'Subject for Pledge Acknowledgment','2021-12-13 16:14:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (342,NULL,10,'Subject for Pledge Acknowledgment','2021-07-11 10:42:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (343,NULL,9,'Subject for Tell a Friend','2021-04-16 15:56:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (344,NULL,10,'Subject for Pledge Acknowledgment','2021-07-17 06:47:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (345,NULL,10,'Subject for Pledge Acknowledgment','2021-08-02 23:00:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (346,NULL,10,'Subject for Pledge Acknowledgment','2021-04-11 20:23:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (347,NULL,10,'Subject for Pledge Acknowledgment','2021-12-14 13:27:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (348,NULL,9,'Subject for Tell a Friend','2021-08-27 23:41:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (349,NULL,9,'Subject for Tell a Friend','2021-02-24 11:00:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (350,NULL,10,'Subject for Pledge Acknowledgment','2021-07-07 10:23:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (351,NULL,9,'Subject for Tell a Friend','2021-03-13 14:49:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (352,NULL,10,'Subject for Pledge Acknowledgment','2021-12-03 02:59:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (353,NULL,10,'Subject for Pledge Acknowledgment','2021-01-31 12:13:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (354,NULL,9,'Subject for Tell a Friend','2021-07-17 18:46:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (355,NULL,10,'Subject for Pledge Acknowledgment','2021-06-25 23:44:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (356,NULL,9,'Subject for Tell a Friend','2021-05-30 03:26:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (357,NULL,9,'Subject for Tell a Friend','2021-07-30 13:13:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (358,NULL,10,'Subject for Pledge Acknowledgment','2021-01-06 04:34:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (359,NULL,9,'Subject for Tell a Friend','2021-01-09 03:07:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (360,NULL,10,'Subject for Pledge Acknowledgment','2021-04-11 13:34:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (361,NULL,9,'Subject for Tell a Friend','2021-01-10 01:47:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (362,NULL,10,'Subject for Pledge Acknowledgment','2021-06-14 23:21:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (363,NULL,10,'Subject for Pledge Acknowledgment','2021-05-04 06:47:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (364,NULL,10,'Subject for Pledge Acknowledgment','2021-10-04 00:25:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (365,NULL,9,'Subject for Tell a Friend','2021-01-23 01:02:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (366,NULL,9,'Subject for Tell a Friend','2021-12-22 07:29:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (367,NULL,10,'Subject for Pledge Acknowledgment','2021-10-17 12:11:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (368,NULL,10,'Subject for Pledge Acknowledgment','2021-05-30 04:41:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (369,NULL,10,'Subject for Pledge Acknowledgment','2021-06-19 10:31:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (370,NULL,10,'Subject for Pledge Acknowledgment','2021-06-30 18:50:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (371,NULL,10,'Subject for Pledge Acknowledgment','2021-11-01 10:02:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (372,NULL,10,'Subject for Pledge Acknowledgment','2021-12-12 01:28:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (373,NULL,9,'Subject for Tell a Friend','2021-10-04 11:38:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (374,NULL,9,'Subject for Tell a Friend','2021-08-16 22:06:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (375,NULL,10,'Subject for Pledge Acknowledgment','2021-11-07 04:03:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (376,NULL,10,'Subject for Pledge Acknowledgment','2021-07-20 14:47:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (377,NULL,9,'Subject for Tell a Friend','2021-01-21 15:35:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (378,NULL,9,'Subject for Tell a Friend','2021-12-23 19:47:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (379,NULL,10,'Subject for Pledge Acknowledgment','2021-10-03 17:55:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (380,NULL,10,'Subject for Pledge Acknowledgment','2021-07-03 06:48:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (381,NULL,10,'Subject for Pledge Acknowledgment','2021-06-12 22:55:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (382,NULL,10,'Subject for Pledge Acknowledgment','2021-03-02 05:35:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (383,NULL,10,'Subject for Pledge Acknowledgment','2021-10-31 07:44:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (384,NULL,10,'Subject for Pledge Acknowledgment','2021-04-29 15:51:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (385,NULL,9,'Subject for Tell a Friend','2021-08-15 11:40:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (386,NULL,10,'Subject for Pledge Acknowledgment','2021-08-31 13:38:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (387,NULL,10,'Subject for Pledge Acknowledgment','2021-04-08 15:47:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (388,NULL,10,'Subject for Pledge Acknowledgment','2021-02-04 17:21:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (389,NULL,9,'Subject for Tell a Friend','2021-07-27 18:23:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (390,NULL,10,'Subject for Pledge Acknowledgment','2021-05-31 12:05:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (391,NULL,10,'Subject for Pledge Acknowledgment','2021-09-15 17:22:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (392,NULL,10,'Subject for Pledge Acknowledgment','2021-07-19 22:32:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (393,NULL,9,'Subject for Tell a Friend','2021-08-06 21:22:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (394,NULL,9,'Subject for Tell a Friend','2021-01-19 23:08:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (395,NULL,9,'Subject for Tell a Friend','2021-08-13 22:17:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (396,NULL,10,'Subject for Pledge Acknowledgment','2021-10-08 00:55:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (397,NULL,9,'Subject for Tell a Friend','2021-06-27 04:33:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (398,NULL,10,'Subject for Pledge Acknowledgment','2021-05-01 10:50:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (399,NULL,10,'Subject for Pledge Acknowledgment','2021-12-23 11:17:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (400,NULL,9,'Subject for Tell a Friend','2021-03-10 23:10:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (401,NULL,9,'Subject for Tell a Friend','2021-03-26 04:34:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (402,NULL,9,'Subject for Tell a Friend','2021-10-21 13:10:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (403,NULL,10,'Subject for Pledge Acknowledgment','2021-01-26 00:16:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (404,NULL,9,'Subject for Tell a Friend','2021-05-03 17:53:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (405,NULL,9,'Subject for Tell a Friend','2021-12-25 13:40:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (406,NULL,10,'Subject for Pledge Acknowledgment','2021-08-26 17:34:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (407,NULL,9,'Subject for Tell a Friend','2021-10-03 20:21:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (408,NULL,10,'Subject for Pledge Acknowledgment','2021-05-20 16:38:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (409,NULL,10,'Subject for Pledge Acknowledgment','2021-08-14 16:41:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (410,NULL,10,'Subject for Pledge Acknowledgment','2021-07-09 08:39:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (411,NULL,9,'Subject for Tell a Friend','2021-04-28 21:03:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (412,NULL,10,'Subject for Pledge Acknowledgment','2021-09-14 09:01:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (413,NULL,10,'Subject for Pledge Acknowledgment','2022-01-04 06:57:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (414,NULL,10,'Subject for Pledge Acknowledgment','2021-04-25 03:22:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (415,NULL,9,'Subject for Tell a Friend','2021-09-16 16:01:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (416,NULL,9,'Subject for Tell a Friend','2021-03-01 13:42:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (417,NULL,10,'Subject for Pledge Acknowledgment','2021-03-15 00:11:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (418,NULL,10,'Subject for Pledge Acknowledgment','2021-03-19 02:40:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (419,NULL,10,'Subject for Pledge Acknowledgment','2021-03-08 23:00:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (420,NULL,9,'Subject for Tell a Friend','2021-06-07 13:58:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (421,NULL,9,'Subject for Tell a Friend','2021-03-27 00:25:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (422,NULL,9,'Subject for Tell a Friend','2021-09-01 01:22:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (423,NULL,10,'Subject for Pledge Acknowledgment','2021-12-22 13:17:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (424,NULL,9,'Subject for Tell a Friend','2021-06-21 11:47:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (425,NULL,9,'Subject for Tell a Friend','2021-01-11 10:11:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (426,NULL,10,'Subject for Pledge Acknowledgment','2021-04-11 05:29:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (427,NULL,10,'Subject for Pledge Acknowledgment','2021-05-17 11:18:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (428,NULL,9,'Subject for Tell a Friend','2021-02-11 01:36:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (429,NULL,10,'Subject for Pledge Acknowledgment','2021-12-06 00:59:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (430,NULL,10,'Subject for Pledge Acknowledgment','2021-03-20 05:32:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (431,NULL,9,'Subject for Tell a Friend','2021-10-16 23:15:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (432,NULL,10,'Subject for Pledge Acknowledgment','2021-09-07 00:40:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (433,NULL,10,'Subject for Pledge Acknowledgment','2021-07-03 10:24:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (434,NULL,9,'Subject for Tell a Friend','2021-05-11 15:27:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (435,NULL,9,'Subject for Tell a Friend','2021-03-24 21:45:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (436,NULL,9,'Subject for Tell a Friend','2021-06-03 14:35:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (437,NULL,9,'Subject for Tell a Friend','2021-08-09 10:58:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (438,NULL,9,'Subject for Tell a Friend','2021-01-26 09:28:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (439,NULL,10,'Subject for Pledge Acknowledgment','2021-09-11 23:35:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (440,NULL,10,'Subject for Pledge Acknowledgment','2021-11-02 00:32:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (441,NULL,10,'Subject for Pledge Acknowledgment','2021-09-08 13:05:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (442,NULL,9,'Subject for Tell a Friend','2021-01-21 17:56:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (443,NULL,10,'Subject for Pledge Acknowledgment','2021-11-29 02:48:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (444,NULL,9,'Subject for Tell a Friend','2021-05-30 04:36:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (445,NULL,10,'Subject for Pledge Acknowledgment','2021-04-16 23:48:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (446,NULL,9,'Subject for Tell a Friend','2021-06-06 08:04:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (447,NULL,9,'Subject for Tell a Friend','2021-07-21 18:59:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (448,NULL,10,'Subject for Pledge Acknowledgment','2021-09-15 06:55:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (449,NULL,9,'Subject for Tell a Friend','2021-07-26 21:51:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (450,NULL,9,'Subject for Tell a Friend','2021-12-07 13:36:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (451,1,6,'$ 125 April Mailer 1','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (452,2,6,'$ 50 Online: Save the Penguins','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (453,3,6,'£ 25 April Mailer 1','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (454,4,6,'$ 50 Online: Save the Penguins','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (455,5,6,'$ 50 Online: Save the Penguins','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (456,6,6,'$ 500 April Mailer 1','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (457,7,6,'$ 1750 Online: Save the Penguins','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (458,8,6,'$ 50 Online: Save the Penguins','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (459,9,6,'$ 10 Online: Help CiviCRM','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (460,10,6,'$ 250 Online: Help CiviCRM','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (461,11,6,'Â¥ 500 ','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (462,12,6,'$ 50 Online: Save the Penguins','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (463,13,6,'$ 50 ','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (464,14,6,'$ 50 ','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (465,15,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (466,16,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (467,17,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (468,18,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (469,19,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (470,20,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (471,21,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (472,22,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (473,23,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (474,24,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (475,25,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (476,26,6,'$ 10 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (477,27,6,'$ 10 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (478,28,6,'$ 10 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (479,29,6,'$ 10 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (480,30,6,'$ 10 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (481,31,6,'€ 5 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (482,1,7,'General','2022-01-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (483,2,7,'Student','2022-01-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (484,3,7,'General','2022-01-03 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (485,4,7,'Student','2022-01-02 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (486,5,7,'General','2019-12-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (487,6,7,'Student','2021-12-31 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (488,7,7,'General','2021-12-30 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (489,8,7,'Student','2021-12-29 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (490,9,7,'General','2021-12-28 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (491,10,7,'General','2019-10-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (492,11,7,'Lifetime','2021-12-26 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (493,12,7,'Student','2021-12-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (494,13,7,'General','2021-12-24 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (495,14,7,'Student','2021-12-23 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (496,15,7,'Student','2020-12-22 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (497,16,7,'Student','2021-12-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (498,17,7,'General','2021-12-20 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (499,18,7,'Student','2021-12-19 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (500,19,7,'General','2021-12-18 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (501,20,7,'General','2019-08-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (502,21,7,'General','2021-12-16 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (503,22,7,'Lifetime','2021-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (504,23,7,'General','2021-12-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (505,24,7,'Student','2021-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (506,25,7,'General','2019-06-27 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (507,26,7,'Student','2021-12-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (508,27,7,'General','2021-12-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (509,28,7,'Student','2021-12-09 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (510,29,7,'General','2021-12-08 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (511,30,7,'Student','2020-12-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (512,32,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (513,33,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (514,34,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (515,35,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (516,36,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (517,37,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (518,38,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (519,39,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (520,40,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (521,41,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (522,42,6,'$ 1200.00 - Lifetime Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (523,43,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (524,44,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (525,45,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (526,46,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (527,47,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (528,48,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (529,49,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (530,50,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (531,51,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (532,52,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (533,53,6,'$ 1200.00 - Lifetime Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (534,54,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (535,55,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (536,56,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (537,57,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (538,58,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (539,59,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (540,60,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (541,61,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (543,1,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (544,2,5,'NULL','2008-05-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (545,3,5,'NULL','2008-05-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (546,4,5,'NULL','2008-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (547,5,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (548,6,5,'NULL','2008-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (549,7,5,'NULL','2009-07-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (550,8,5,'NULL','2009-03-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (551,9,5,'NULL','2008-02-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (552,10,5,'NULL','2008-02-01 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (553,11,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (554,12,5,'NULL','2009-03-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (555,13,5,'NULL','2008-06-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (556,14,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (557,15,5,'NULL','2008-07-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (558,16,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (559,17,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (560,18,5,'NULL','2009-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (561,19,5,'NULL','2008-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (562,20,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (563,21,5,'NULL','2008-03-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (564,22,5,'NULL','2009-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (565,23,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (566,24,5,'NULL','2008-03-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (567,25,5,'NULL','2008-04-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (568,26,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (569,27,5,'NULL','2008-05-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (570,28,5,'NULL','2009-12-12 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (571,29,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (572,30,5,'NULL','2009-12-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (573,31,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (574,32,5,'NULL','2009-07-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (575,33,5,'NULL','2009-03-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (576,34,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (577,35,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (578,36,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (579,37,5,'NULL','2009-03-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (580,38,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (581,39,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (582,40,5,'NULL','2009-12-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (583,41,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (584,42,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (585,43,5,'NULL','2009-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (586,44,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (587,45,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (588,46,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (589,47,5,'NULL','2009-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (590,48,5,'NULL','2009-12-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (591,49,5,'NULL','2009-03-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (592,50,5,'NULL','2009-04-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (593,63,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (594,64,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (595,65,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (596,66,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (597,67,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (598,68,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (599,69,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (600,70,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (601,71,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (602,72,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (603,73,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (604,74,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (605,75,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (606,76,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (607,77,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (608,78,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (609,79,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (610,80,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (611,81,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (612,82,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (613,83,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (614,84,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (615,85,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (616,86,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (617,87,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (618,88,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (619,89,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (620,90,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (621,91,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (622,92,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (623,93,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (624,94,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (625,95,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (626,96,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (627,97,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (628,98,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (629,99,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (630,100,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (631,101,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (632,102,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (633,103,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (634,104,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (635,105,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (636,106,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (637,107,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (638,108,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (639,109,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (640,110,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (641,111,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (642,112,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53');
+ (1,NULL,10,'Subject for Pledge Acknowledgment','2021-03-27 14:35:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (2,NULL,10,'Subject for Pledge Acknowledgment','2021-09-24 21:26:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (3,NULL,10,'Subject for Pledge Acknowledgment','2021-10-24 10:11:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (4,NULL,10,'Subject for Pledge Acknowledgment','2021-04-08 10:38:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (5,NULL,9,'Subject for Tell a Friend','2022-01-09 00:54:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (6,NULL,10,'Subject for Pledge Acknowledgment','2021-04-11 20:27:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (7,NULL,10,'Subject for Pledge Acknowledgment','2021-03-28 05:45:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (8,NULL,9,'Subject for Tell a Friend','2021-09-30 10:31:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (9,NULL,10,'Subject for Pledge Acknowledgment','2022-02-23 01:10:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (10,NULL,9,'Subject for Tell a Friend','2021-12-09 11:02:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (11,NULL,10,'Subject for Pledge Acknowledgment','2021-04-30 23:16:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (12,NULL,9,'Subject for Tell a Friend','2021-05-06 13:05:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (13,NULL,10,'Subject for Pledge Acknowledgment','2021-08-10 05:45:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (14,NULL,9,'Subject for Tell a Friend','2021-09-30 12:06:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (15,NULL,10,'Subject for Pledge Acknowledgment','2022-02-25 20:12:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (16,NULL,9,'Subject for Tell a Friend','2021-10-27 01:41:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (17,NULL,10,'Subject for Pledge Acknowledgment','2021-07-08 10:14:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (18,NULL,10,'Subject for Pledge Acknowledgment','2021-12-23 02:58:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (19,NULL,9,'Subject for Tell a Friend','2021-07-12 20:29:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (20,NULL,10,'Subject for Pledge Acknowledgment','2021-11-02 08:30:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (21,NULL,10,'Subject for Pledge Acknowledgment','2022-02-07 04:09:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (22,NULL,9,'Subject for Tell a Friend','2021-09-05 05:33:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (23,NULL,9,'Subject for Tell a Friend','2021-11-29 14:03:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (24,NULL,9,'Subject for Tell a Friend','2021-08-11 17:46:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (25,NULL,10,'Subject for Pledge Acknowledgment','2021-03-30 16:57:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (26,NULL,9,'Subject for Tell a Friend','2022-02-20 16:25:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (27,NULL,9,'Subject for Tell a Friend','2022-02-26 06:22:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (28,NULL,9,'Subject for Tell a Friend','2021-07-20 19:21:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (29,NULL,9,'Subject for Tell a Friend','2022-02-03 11:56:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (30,NULL,9,'Subject for Tell a Friend','2022-01-27 20:55:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (31,NULL,9,'Subject for Tell a Friend','2021-12-17 07:36:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (32,NULL,10,'Subject for Pledge Acknowledgment','2021-10-17 10:32:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (33,NULL,9,'Subject for Tell a Friend','2021-05-27 02:13:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (34,NULL,10,'Subject for Pledge Acknowledgment','2021-10-24 12:37:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (35,NULL,9,'Subject for Tell a Friend','2021-11-30 10:43:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (36,NULL,10,'Subject for Pledge Acknowledgment','2021-08-26 05:21:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (37,NULL,9,'Subject for Tell a Friend','2022-01-27 06:14:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (38,NULL,9,'Subject for Tell a Friend','2021-09-21 22:17:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (39,NULL,9,'Subject for Tell a Friend','2022-02-04 05:46:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (40,NULL,9,'Subject for Tell a Friend','2021-07-02 02:03:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (41,NULL,9,'Subject for Tell a Friend','2021-10-21 19:15:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (42,NULL,10,'Subject for Pledge Acknowledgment','2021-10-12 04:04:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (43,NULL,10,'Subject for Pledge Acknowledgment','2021-09-05 14:05:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (44,NULL,9,'Subject for Tell a Friend','2021-05-06 23:36:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (45,NULL,9,'Subject for Tell a Friend','2021-12-04 03:27:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (46,NULL,10,'Subject for Pledge Acknowledgment','2021-08-08 18:03:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (47,NULL,9,'Subject for Tell a Friend','2021-08-31 05:44:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (48,NULL,10,'Subject for Pledge Acknowledgment','2021-06-22 23:11:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (49,NULL,9,'Subject for Tell a Friend','2021-07-21 15:43:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (50,NULL,10,'Subject for Pledge Acknowledgment','2021-05-11 06:12:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (51,NULL,9,'Subject for Tell a Friend','2021-06-04 09:53:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (52,NULL,10,'Subject for Pledge Acknowledgment','2021-07-02 12:42:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (53,NULL,9,'Subject for Tell a Friend','2021-11-11 21:21:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (54,NULL,10,'Subject for Pledge Acknowledgment','2021-04-07 06:22:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (55,NULL,10,'Subject for Pledge Acknowledgment','2021-08-26 11:20:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (56,NULL,10,'Subject for Pledge Acknowledgment','2021-12-26 08:55:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (57,NULL,10,'Subject for Pledge Acknowledgment','2022-01-23 20:44:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (58,NULL,9,'Subject for Tell a Friend','2022-02-28 11:08:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (59,NULL,9,'Subject for Tell a Friend','2021-11-28 18:35:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (60,NULL,9,'Subject for Tell a Friend','2021-10-05 20:21:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (61,NULL,9,'Subject for Tell a Friend','2022-01-31 22:47:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (62,NULL,10,'Subject for Pledge Acknowledgment','2021-12-05 05:58:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (63,NULL,10,'Subject for Pledge Acknowledgment','2022-02-20 09:01:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (64,NULL,9,'Subject for Tell a Friend','2021-08-02 08:47:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (65,NULL,9,'Subject for Tell a Friend','2021-06-17 04:15:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (66,NULL,10,'Subject for Pledge Acknowledgment','2021-07-17 23:15:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (67,NULL,10,'Subject for Pledge Acknowledgment','2021-11-01 14:26:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (68,NULL,10,'Subject for Pledge Acknowledgment','2021-07-13 22:56:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (69,NULL,10,'Subject for Pledge Acknowledgment','2022-01-11 20:24:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (70,NULL,9,'Subject for Tell a Friend','2021-12-01 01:31:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (71,NULL,9,'Subject for Tell a Friend','2021-06-24 11:39:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (72,NULL,10,'Subject for Pledge Acknowledgment','2021-08-16 02:38:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (73,NULL,10,'Subject for Pledge Acknowledgment','2021-04-18 00:01:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (74,NULL,10,'Subject for Pledge Acknowledgment','2021-07-02 23:00:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (75,NULL,10,'Subject for Pledge Acknowledgment','2021-12-15 12:06:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (76,NULL,10,'Subject for Pledge Acknowledgment','2021-06-12 23:59:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (77,NULL,9,'Subject for Tell a Friend','2021-04-13 13:32:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (78,NULL,10,'Subject for Pledge Acknowledgment','2022-02-21 03:33:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (79,NULL,10,'Subject for Pledge Acknowledgment','2021-12-01 00:20:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (80,NULL,9,'Subject for Tell a Friend','2022-02-18 00:39:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (81,NULL,10,'Subject for Pledge Acknowledgment','2021-10-13 09:36:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (82,NULL,9,'Subject for Tell a Friend','2021-05-01 01:56:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (83,NULL,9,'Subject for Tell a Friend','2021-06-29 14:03:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (84,NULL,10,'Subject for Pledge Acknowledgment','2021-08-05 17:54:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (85,NULL,10,'Subject for Pledge Acknowledgment','2021-05-16 04:28:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (86,NULL,9,'Subject for Tell a Friend','2021-03-23 05:49:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (87,NULL,10,'Subject for Pledge Acknowledgment','2021-11-22 04:30:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (88,NULL,9,'Subject for Tell a Friend','2021-10-23 15:21:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (89,NULL,10,'Subject for Pledge Acknowledgment','2021-08-09 08:22:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (90,NULL,10,'Subject for Pledge Acknowledgment','2021-12-25 15:53:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (91,NULL,9,'Subject for Tell a Friend','2021-07-04 15:47:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (92,NULL,9,'Subject for Tell a Friend','2021-06-10 23:45:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (93,NULL,10,'Subject for Pledge Acknowledgment','2021-11-04 19:23:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (94,NULL,9,'Subject for Tell a Friend','2021-10-04 14:01:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (95,NULL,9,'Subject for Tell a Friend','2021-05-13 23:12:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (96,NULL,10,'Subject for Pledge Acknowledgment','2021-08-30 18:18:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (97,NULL,9,'Subject for Tell a Friend','2021-10-05 10:32:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (98,NULL,10,'Subject for Pledge Acknowledgment','2022-01-11 06:55:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (99,NULL,9,'Subject for Tell a Friend','2021-09-26 04:10:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (100,NULL,10,'Subject for Pledge Acknowledgment','2021-12-25 23:15:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (101,NULL,9,'Subject for Tell a Friend','2021-03-12 06:18:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (102,NULL,9,'Subject for Tell a Friend','2021-05-17 18:17:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (103,NULL,9,'Subject for Tell a Friend','2021-03-13 12:11:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (104,NULL,10,'Subject for Pledge Acknowledgment','2021-09-22 00:43:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (105,NULL,10,'Subject for Pledge Acknowledgment','2021-04-07 12:10:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (106,NULL,10,'Subject for Pledge Acknowledgment','2021-04-14 14:16:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (107,NULL,9,'Subject for Tell a Friend','2021-10-28 17:08:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (108,NULL,10,'Subject for Pledge Acknowledgment','2021-09-19 15:08:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (109,NULL,10,'Subject for Pledge Acknowledgment','2022-01-18 03:08:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (110,NULL,9,'Subject for Tell a Friend','2021-06-06 20:43:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (111,NULL,10,'Subject for Pledge Acknowledgment','2021-03-15 10:46:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (112,NULL,10,'Subject for Pledge Acknowledgment','2021-04-17 15:05:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (113,NULL,9,'Subject for Tell a Friend','2021-06-04 14:07:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (114,NULL,10,'Subject for Pledge Acknowledgment','2021-05-17 21:26:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (115,NULL,10,'Subject for Pledge Acknowledgment','2021-11-14 08:41:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (116,NULL,9,'Subject for Tell a Friend','2021-04-15 06:24:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (117,NULL,10,'Subject for Pledge Acknowledgment','2022-01-20 16:02:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (118,NULL,9,'Subject for Tell a Friend','2022-01-29 09:52:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (119,NULL,9,'Subject for Tell a Friend','2022-02-26 13:48:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (120,NULL,9,'Subject for Tell a Friend','2021-03-30 13:31:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (121,NULL,10,'Subject for Pledge Acknowledgment','2021-08-06 07:12:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (122,NULL,10,'Subject for Pledge Acknowledgment','2021-06-27 10:32:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (123,NULL,9,'Subject for Tell a Friend','2021-04-16 10:17:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (124,NULL,10,'Subject for Pledge Acknowledgment','2021-04-02 13:04:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (125,NULL,10,'Subject for Pledge Acknowledgment','2022-01-21 07:09:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (126,NULL,10,'Subject for Pledge Acknowledgment','2021-10-17 23:50:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (127,NULL,10,'Subject for Pledge Acknowledgment','2021-03-20 00:42:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (128,NULL,10,'Subject for Pledge Acknowledgment','2021-08-17 18:55:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (129,NULL,9,'Subject for Tell a Friend','2021-12-07 23:21:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (130,NULL,10,'Subject for Pledge Acknowledgment','2021-11-02 23:53:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (131,NULL,10,'Subject for Pledge Acknowledgment','2022-02-07 21:49:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (132,NULL,10,'Subject for Pledge Acknowledgment','2021-08-06 15:39:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (133,NULL,10,'Subject for Pledge Acknowledgment','2021-08-09 14:05:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (134,NULL,10,'Subject for Pledge Acknowledgment','2022-01-28 17:35:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (135,NULL,9,'Subject for Tell a Friend','2021-03-08 16:13:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (136,NULL,9,'Subject for Tell a Friend','2021-11-10 02:13:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (137,NULL,9,'Subject for Tell a Friend','2021-11-01 14:32:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (138,NULL,10,'Subject for Pledge Acknowledgment','2021-04-17 15:04:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (139,NULL,10,'Subject for Pledge Acknowledgment','2021-04-01 20:49:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (140,NULL,10,'Subject for Pledge Acknowledgment','2021-04-08 08:12:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (141,NULL,10,'Subject for Pledge Acknowledgment','2021-12-13 02:39:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (142,NULL,9,'Subject for Tell a Friend','2021-08-27 13:07:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (143,NULL,10,'Subject for Pledge Acknowledgment','2021-11-28 02:21:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (144,NULL,10,'Subject for Pledge Acknowledgment','2021-12-25 12:26:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (145,NULL,10,'Subject for Pledge Acknowledgment','2021-07-10 22:53:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (146,NULL,9,'Subject for Tell a Friend','2021-05-03 03:32:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (147,NULL,10,'Subject for Pledge Acknowledgment','2021-12-25 23:09:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (148,NULL,10,'Subject for Pledge Acknowledgment','2021-03-02 05:49:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (149,NULL,10,'Subject for Pledge Acknowledgment','2021-10-13 03:30:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (150,NULL,10,'Subject for Pledge Acknowledgment','2021-09-05 17:08:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (151,NULL,9,'Subject for Tell a Friend','2021-10-16 18:48:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (152,NULL,10,'Subject for Pledge Acknowledgment','2021-09-11 20:55:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (153,NULL,9,'Subject for Tell a Friend','2022-01-19 20:07:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (154,NULL,9,'Subject for Tell a Friend','2021-07-11 17:28:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (155,NULL,10,'Subject for Pledge Acknowledgment','2021-03-06 08:46:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (156,NULL,10,'Subject for Pledge Acknowledgment','2021-10-28 21:32:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (157,NULL,10,'Subject for Pledge Acknowledgment','2021-06-18 11:50:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (158,NULL,9,'Subject for Tell a Friend','2021-05-07 11:18:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (159,NULL,10,'Subject for Pledge Acknowledgment','2021-03-15 15:02:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (160,NULL,10,'Subject for Pledge Acknowledgment','2021-11-15 21:17:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (161,NULL,9,'Subject for Tell a Friend','2021-11-02 23:54:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (162,NULL,10,'Subject for Pledge Acknowledgment','2021-07-13 17:59:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (163,NULL,9,'Subject for Tell a Friend','2021-05-31 07:56:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (164,NULL,10,'Subject for Pledge Acknowledgment','2021-07-04 15:07:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (165,NULL,10,'Subject for Pledge Acknowledgment','2021-05-17 14:23:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (166,NULL,10,'Subject for Pledge Acknowledgment','2021-11-22 00:46:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (167,NULL,9,'Subject for Tell a Friend','2021-08-17 16:20:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (168,NULL,10,'Subject for Pledge Acknowledgment','2021-07-17 20:05:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (169,NULL,9,'Subject for Tell a Friend','2021-03-24 15:34:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (170,NULL,9,'Subject for Tell a Friend','2021-09-15 06:13:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (171,NULL,9,'Subject for Tell a Friend','2021-03-09 14:43:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (172,NULL,9,'Subject for Tell a Friend','2021-07-16 19:27:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (173,NULL,9,'Subject for Tell a Friend','2021-08-01 06:44:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (174,NULL,9,'Subject for Tell a Friend','2021-08-29 00:39:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (175,NULL,9,'Subject for Tell a Friend','2021-04-13 10:00:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (176,NULL,9,'Subject for Tell a Friend','2021-05-19 05:46:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (177,NULL,9,'Subject for Tell a Friend','2021-08-22 17:37:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (178,NULL,10,'Subject for Pledge Acknowledgment','2021-03-07 04:57:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (179,NULL,10,'Subject for Pledge Acknowledgment','2021-12-10 00:29:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (180,NULL,10,'Subject for Pledge Acknowledgment','2021-11-20 08:31:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (181,NULL,9,'Subject for Tell a Friend','2021-10-01 15:06:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (182,NULL,10,'Subject for Pledge Acknowledgment','2022-01-14 02:42:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (183,NULL,9,'Subject for Tell a Friend','2021-06-15 01:21:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (184,NULL,10,'Subject for Pledge Acknowledgment','2021-08-29 20:33:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (185,NULL,10,'Subject for Pledge Acknowledgment','2021-12-22 16:50:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (186,NULL,10,'Subject for Pledge Acknowledgment','2021-10-22 09:40:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (187,NULL,10,'Subject for Pledge Acknowledgment','2021-06-13 00:30:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (188,NULL,10,'Subject for Pledge Acknowledgment','2021-07-11 06:43:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (189,NULL,9,'Subject for Tell a Friend','2021-03-06 15:04:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (190,NULL,10,'Subject for Pledge Acknowledgment','2021-06-27 21:53:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (191,NULL,10,'Subject for Pledge Acknowledgment','2021-04-30 12:51:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (192,NULL,9,'Subject for Tell a Friend','2021-09-23 20:14:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (193,NULL,9,'Subject for Tell a Friend','2021-06-27 11:10:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (194,NULL,10,'Subject for Pledge Acknowledgment','2022-02-10 01:21:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (195,NULL,9,'Subject for Tell a Friend','2022-02-20 21:37:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (196,NULL,9,'Subject for Tell a Friend','2021-04-18 05:58:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (197,NULL,9,'Subject for Tell a Friend','2022-02-18 12:33:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (198,NULL,9,'Subject for Tell a Friend','2021-08-24 06:39:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (199,NULL,10,'Subject for Pledge Acknowledgment','2021-10-19 08:15:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (200,NULL,9,'Subject for Tell a Friend','2021-04-05 01:25:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (201,NULL,9,'Subject for Tell a Friend','2021-03-24 06:44:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (202,NULL,9,'Subject for Tell a Friend','2021-07-16 22:27:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (203,NULL,9,'Subject for Tell a Friend','2021-04-03 13:23:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (204,NULL,9,'Subject for Tell a Friend','2021-04-12 22:23:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (205,NULL,10,'Subject for Pledge Acknowledgment','2021-07-28 14:17:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (206,NULL,10,'Subject for Pledge Acknowledgment','2021-11-03 21:58:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (207,NULL,9,'Subject for Tell a Friend','2021-03-07 19:18:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (208,NULL,9,'Subject for Tell a Friend','2021-05-03 12:24:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (209,NULL,10,'Subject for Pledge Acknowledgment','2021-07-22 00:19:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (210,NULL,9,'Subject for Tell a Friend','2021-09-30 06:16:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (211,NULL,9,'Subject for Tell a Friend','2021-10-25 02:13:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (212,NULL,9,'Subject for Tell a Friend','2022-02-13 00:35:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (213,NULL,10,'Subject for Pledge Acknowledgment','2021-04-21 16:34:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (214,NULL,9,'Subject for Tell a Friend','2021-08-25 22:42:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (215,NULL,10,'Subject for Pledge Acknowledgment','2021-12-11 20:31:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (216,NULL,10,'Subject for Pledge Acknowledgment','2021-06-07 12:43:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (217,NULL,9,'Subject for Tell a Friend','2021-11-23 02:26:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (218,NULL,10,'Subject for Pledge Acknowledgment','2021-06-01 21:38:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (219,NULL,9,'Subject for Tell a Friend','2021-03-23 09:58:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (220,NULL,10,'Subject for Pledge Acknowledgment','2021-09-15 13:23:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (221,NULL,10,'Subject for Pledge Acknowledgment','2021-06-03 01:19:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (222,NULL,10,'Subject for Pledge Acknowledgment','2021-10-20 07:22:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (223,NULL,10,'Subject for Pledge Acknowledgment','2021-11-06 15:54:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (224,NULL,9,'Subject for Tell a Friend','2022-01-08 17:41:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (225,NULL,10,'Subject for Pledge Acknowledgment','2022-02-16 01:24:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (226,NULL,9,'Subject for Tell a Friend','2022-01-11 00:59:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (227,NULL,10,'Subject for Pledge Acknowledgment','2021-06-17 00:30:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (228,NULL,10,'Subject for Pledge Acknowledgment','2021-11-05 23:05:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (229,NULL,9,'Subject for Tell a Friend','2022-02-12 16:22:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (230,NULL,9,'Subject for Tell a Friend','2021-04-26 08:10:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (231,NULL,9,'Subject for Tell a Friend','2021-04-09 18:53:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (232,NULL,10,'Subject for Pledge Acknowledgment','2021-09-25 05:06:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (233,NULL,10,'Subject for Pledge Acknowledgment','2021-04-02 06:54:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (234,NULL,9,'Subject for Tell a Friend','2021-07-14 13:21:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (235,NULL,10,'Subject for Pledge Acknowledgment','2021-10-24 22:47:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (236,NULL,9,'Subject for Tell a Friend','2021-06-24 01:12:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (237,NULL,10,'Subject for Pledge Acknowledgment','2021-04-17 16:05:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (238,NULL,10,'Subject for Pledge Acknowledgment','2021-12-11 18:16:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (239,NULL,9,'Subject for Tell a Friend','2021-11-19 10:08:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (240,NULL,10,'Subject for Pledge Acknowledgment','2021-10-23 13:09:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (241,NULL,10,'Subject for Pledge Acknowledgment','2021-12-24 11:29:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (242,NULL,10,'Subject for Pledge Acknowledgment','2021-06-05 18:04:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (243,NULL,10,'Subject for Pledge Acknowledgment','2022-02-07 19:14:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (244,NULL,10,'Subject for Pledge Acknowledgment','2021-08-08 20:02:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (245,NULL,10,'Subject for Pledge Acknowledgment','2021-05-15 22:16:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (246,NULL,9,'Subject for Tell a Friend','2021-12-07 05:06:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (247,NULL,10,'Subject for Pledge Acknowledgment','2021-09-27 16:43:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (248,NULL,10,'Subject for Pledge Acknowledgment','2021-03-09 13:23:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (249,NULL,10,'Subject for Pledge Acknowledgment','2021-10-01 19:32:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (250,NULL,9,'Subject for Tell a Friend','2021-10-09 11:17:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (251,NULL,9,'Subject for Tell a Friend','2021-07-27 12:20:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (252,NULL,10,'Subject for Pledge Acknowledgment','2021-03-28 16:43:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (253,NULL,9,'Subject for Tell a Friend','2021-05-16 00:25:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (254,NULL,10,'Subject for Pledge Acknowledgment','2021-06-25 02:54:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (255,NULL,9,'Subject for Tell a Friend','2021-09-01 16:21:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (256,NULL,10,'Subject for Pledge Acknowledgment','2021-05-08 00:42:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (257,NULL,10,'Subject for Pledge Acknowledgment','2021-09-05 08:38:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (258,NULL,10,'Subject for Pledge Acknowledgment','2021-07-29 05:18:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (259,NULL,10,'Subject for Pledge Acknowledgment','2022-01-21 03:25:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (260,NULL,10,'Subject for Pledge Acknowledgment','2021-11-07 18:37:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (261,NULL,10,'Subject for Pledge Acknowledgment','2022-01-09 07:55:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (262,NULL,9,'Subject for Tell a Friend','2021-10-27 22:11:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (263,NULL,9,'Subject for Tell a Friend','2021-12-10 06:50:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (264,NULL,9,'Subject for Tell a Friend','2022-01-22 06:41:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (265,NULL,10,'Subject for Pledge Acknowledgment','2021-12-14 03:15:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (266,NULL,10,'Subject for Pledge Acknowledgment','2021-10-30 20:14:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (267,NULL,10,'Subject for Pledge Acknowledgment','2021-08-20 22:38:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (268,NULL,9,'Subject for Tell a Friend','2021-03-23 23:13:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (269,NULL,10,'Subject for Pledge Acknowledgment','2022-02-05 11:03:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (270,NULL,9,'Subject for Tell a Friend','2022-02-21 19:02:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (271,NULL,10,'Subject for Pledge Acknowledgment','2021-08-30 03:22:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (272,NULL,9,'Subject for Tell a Friend','2021-12-12 04:34:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (273,NULL,9,'Subject for Tell a Friend','2021-05-27 00:09:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (274,NULL,9,'Subject for Tell a Friend','2021-04-29 12:11:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (275,NULL,10,'Subject for Pledge Acknowledgment','2021-12-06 10:54:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (276,NULL,10,'Subject for Pledge Acknowledgment','2021-08-25 20:31:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (277,NULL,9,'Subject for Tell a Friend','2022-01-12 11:45:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (278,NULL,9,'Subject for Tell a Friend','2022-01-05 04:21:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (279,NULL,9,'Subject for Tell a Friend','2021-04-07 20:04:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (280,NULL,10,'Subject for Pledge Acknowledgment','2021-11-15 15:02:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (281,NULL,9,'Subject for Tell a Friend','2022-02-22 10:58:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (282,NULL,10,'Subject for Pledge Acknowledgment','2022-02-11 01:59:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (283,NULL,10,'Subject for Pledge Acknowledgment','2021-08-28 04:01:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (284,NULL,10,'Subject for Pledge Acknowledgment','2021-12-12 00:44:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (285,NULL,9,'Subject for Tell a Friend','2021-06-19 07:15:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (286,NULL,10,'Subject for Pledge Acknowledgment','2021-08-11 11:35:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (287,NULL,10,'Subject for Pledge Acknowledgment','2021-05-14 23:47:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (288,NULL,9,'Subject for Tell a Friend','2021-08-30 09:50:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (289,NULL,9,'Subject for Tell a Friend','2021-07-02 14:33:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (290,NULL,10,'Subject for Pledge Acknowledgment','2022-01-30 06:53:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (291,NULL,9,'Subject for Tell a Friend','2021-03-20 06:19:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (292,NULL,10,'Subject for Pledge Acknowledgment','2021-04-22 07:00:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (293,NULL,9,'Subject for Tell a Friend','2021-12-07 19:15:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (294,NULL,10,'Subject for Pledge Acknowledgment','2021-05-17 20:07:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (295,NULL,9,'Subject for Tell a Friend','2021-03-22 04:41:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (296,NULL,9,'Subject for Tell a Friend','2021-10-09 09:05:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (297,NULL,10,'Subject for Pledge Acknowledgment','2021-07-07 21:52:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (298,NULL,9,'Subject for Tell a Friend','2022-01-22 00:17:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (299,NULL,10,'Subject for Pledge Acknowledgment','2022-01-01 09:51:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (300,NULL,9,'Subject for Tell a Friend','2021-04-01 17:11:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (301,NULL,9,'Subject for Tell a Friend','2022-02-11 00:33:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (302,NULL,10,'Subject for Pledge Acknowledgment','2021-12-28 08:52:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (303,NULL,10,'Subject for Pledge Acknowledgment','2021-05-21 22:05:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (304,NULL,9,'Subject for Tell a Friend','2021-09-23 07:07:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (305,NULL,10,'Subject for Pledge Acknowledgment','2022-02-14 18:10:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (306,NULL,10,'Subject for Pledge Acknowledgment','2021-09-24 22:36:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (307,NULL,9,'Subject for Tell a Friend','2021-09-17 13:35:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (308,NULL,10,'Subject for Pledge Acknowledgment','2021-10-21 05:30:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (309,NULL,9,'Subject for Tell a Friend','2021-08-23 23:02:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (310,NULL,10,'Subject for Pledge Acknowledgment','2021-03-13 12:50:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (311,NULL,10,'Subject for Pledge Acknowledgment','2021-06-22 07:37:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (312,NULL,9,'Subject for Tell a Friend','2021-09-13 08:55:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (313,NULL,10,'Subject for Pledge Acknowledgment','2021-07-18 08:03:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (314,NULL,10,'Subject for Pledge Acknowledgment','2021-08-25 14:54:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (315,NULL,9,'Subject for Tell a Friend','2021-05-15 12:53:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (316,NULL,9,'Subject for Tell a Friend','2021-12-31 03:40:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (317,NULL,9,'Subject for Tell a Friend','2021-04-29 15:15:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (318,NULL,9,'Subject for Tell a Friend','2021-12-23 12:27:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (319,NULL,10,'Subject for Pledge Acknowledgment','2021-10-25 17:34:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (320,NULL,9,'Subject for Tell a Friend','2021-06-14 06:55:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (321,NULL,10,'Subject for Pledge Acknowledgment','2021-05-24 02:17:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (322,NULL,9,'Subject for Tell a Friend','2021-09-18 12:26:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (323,NULL,10,'Subject for Pledge Acknowledgment','2021-06-23 01:02:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (324,NULL,9,'Subject for Tell a Friend','2021-08-21 06:49:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (325,NULL,10,'Subject for Pledge Acknowledgment','2022-02-08 09:41:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (326,NULL,9,'Subject for Tell a Friend','2021-10-26 15:57:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (327,NULL,10,'Subject for Pledge Acknowledgment','2021-08-27 17:11:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (328,NULL,9,'Subject for Tell a Friend','2021-12-03 11:49:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (329,NULL,10,'Subject for Pledge Acknowledgment','2021-09-19 17:40:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (330,NULL,9,'Subject for Tell a Friend','2021-04-07 01:09:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (331,NULL,9,'Subject for Tell a Friend','2021-05-02 18:33:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (332,NULL,10,'Subject for Pledge Acknowledgment','2021-05-30 03:29:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (333,NULL,9,'Subject for Tell a Friend','2021-10-21 16:41:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (334,NULL,9,'Subject for Tell a Friend','2021-11-05 10:30:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (335,NULL,10,'Subject for Pledge Acknowledgment','2021-05-23 12:14:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (336,NULL,10,'Subject for Pledge Acknowledgment','2021-06-27 03:00:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (337,NULL,9,'Subject for Tell a Friend','2021-06-30 07:06:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (338,NULL,10,'Subject for Pledge Acknowledgment','2022-01-03 20:54:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (339,NULL,10,'Subject for Pledge Acknowledgment','2022-02-26 00:48:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (340,NULL,9,'Subject for Tell a Friend','2021-07-28 19:41:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (341,NULL,10,'Subject for Pledge Acknowledgment','2022-02-12 18:52:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (342,NULL,10,'Subject for Pledge Acknowledgment','2022-02-24 00:29:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (343,NULL,9,'Subject for Tell a Friend','2021-11-27 07:50:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (344,NULL,9,'Subject for Tell a Friend','2021-03-13 23:41:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (345,NULL,10,'Subject for Pledge Acknowledgment','2021-12-18 04:37:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (346,NULL,10,'Subject for Pledge Acknowledgment','2021-03-24 01:04:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (347,NULL,10,'Subject for Pledge Acknowledgment','2021-04-25 21:32:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (348,NULL,10,'Subject for Pledge Acknowledgment','2022-01-09 17:34:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (349,NULL,10,'Subject for Pledge Acknowledgment','2022-02-11 00:56:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (350,NULL,9,'Subject for Tell a Friend','2022-02-08 21:35:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (351,NULL,10,'Subject for Pledge Acknowledgment','2021-10-14 23:30:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (352,NULL,9,'Subject for Tell a Friend','2021-05-20 23:20:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (353,NULL,9,'Subject for Tell a Friend','2021-05-14 08:02:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (354,NULL,9,'Subject for Tell a Friend','2022-02-03 00:49:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (355,NULL,10,'Subject for Pledge Acknowledgment','2021-12-14 14:01:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (356,NULL,10,'Subject for Pledge Acknowledgment','2021-12-12 02:43:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (357,NULL,10,'Subject for Pledge Acknowledgment','2021-06-08 21:09:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (358,NULL,10,'Subject for Pledge Acknowledgment','2021-12-14 16:51:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (359,NULL,9,'Subject for Tell a Friend','2021-05-26 11:20:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (360,NULL,10,'Subject for Pledge Acknowledgment','2021-08-10 12:53:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (361,NULL,9,'Subject for Tell a Friend','2021-12-06 09:30:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (362,NULL,10,'Subject for Pledge Acknowledgment','2021-07-27 23:04:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (363,NULL,10,'Subject for Pledge Acknowledgment','2021-09-25 01:10:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (364,NULL,10,'Subject for Pledge Acknowledgment','2021-10-15 07:10:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (365,NULL,10,'Subject for Pledge Acknowledgment','2021-10-26 17:39:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (366,NULL,10,'Subject for Pledge Acknowledgment','2022-02-13 18:03:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (367,NULL,9,'Subject for Tell a Friend','2022-01-21 21:35:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (368,NULL,9,'Subject for Tell a Friend','2021-11-12 15:53:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (369,NULL,9,'Subject for Tell a Friend','2021-04-17 19:53:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (370,NULL,9,'Subject for Tell a Friend','2022-02-10 12:23:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (371,NULL,10,'Subject for Pledge Acknowledgment','2021-08-21 11:53:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (372,NULL,10,'Subject for Pledge Acknowledgment','2021-06-19 04:30:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (373,NULL,9,'Subject for Tell a Friend','2021-09-01 13:38:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (374,NULL,9,'Subject for Tell a Friend','2021-04-28 18:58:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (375,NULL,9,'Subject for Tell a Friend','2021-06-09 19:08:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (376,NULL,10,'Subject for Pledge Acknowledgment','2021-06-01 04:55:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (377,NULL,9,'Subject for Tell a Friend','2022-01-08 05:53:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (378,NULL,10,'Subject for Pledge Acknowledgment','2022-02-06 04:46:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (379,NULL,10,'Subject for Pledge Acknowledgment','2021-05-03 23:14:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (380,NULL,10,'Subject for Pledge Acknowledgment','2021-04-20 12:06:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (381,NULL,9,'Subject for Tell a Friend','2021-03-28 12:48:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (382,NULL,10,'Subject for Pledge Acknowledgment','2021-08-03 10:24:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (383,NULL,10,'Subject for Pledge Acknowledgment','2021-12-06 23:48:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (384,NULL,10,'Subject for Pledge Acknowledgment','2021-10-30 12:11:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (385,NULL,10,'Subject for Pledge Acknowledgment','2022-02-20 08:23:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (386,NULL,10,'Subject for Pledge Acknowledgment','2021-07-24 11:32:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (387,NULL,10,'Subject for Pledge Acknowledgment','2021-06-01 03:28:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (388,NULL,10,'Subject for Pledge Acknowledgment','2021-11-17 00:38:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (389,NULL,9,'Subject for Tell a Friend','2021-03-11 13:48:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (390,NULL,10,'Subject for Pledge Acknowledgment','2021-12-04 21:03:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (391,NULL,10,'Subject for Pledge Acknowledgment','2021-07-08 19:27:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (392,NULL,9,'Subject for Tell a Friend','2021-03-26 00:14:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (393,NULL,10,'Subject for Pledge Acknowledgment','2021-08-20 07:51:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (394,NULL,9,'Subject for Tell a Friend','2021-07-22 02:43:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (395,NULL,10,'Subject for Pledge Acknowledgment','2022-02-14 08:36:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (396,NULL,10,'Subject for Pledge Acknowledgment','2021-04-15 15:17:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (397,NULL,10,'Subject for Pledge Acknowledgment','2022-02-09 16:17:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (398,NULL,10,'Subject for Pledge Acknowledgment','2021-12-31 07:39:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (399,NULL,9,'Subject for Tell a Friend','2021-09-29 01:36:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (400,NULL,9,'Subject for Tell a Friend','2021-09-01 10:20:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (401,NULL,9,'Subject for Tell a Friend','2021-09-12 14:24:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (402,NULL,9,'Subject for Tell a Friend','2021-11-13 02:56:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (403,NULL,10,'Subject for Pledge Acknowledgment','2021-12-30 14:58:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (404,NULL,10,'Subject for Pledge Acknowledgment','2021-05-22 19:17:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (405,NULL,9,'Subject for Tell a Friend','2021-07-28 01:57:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (406,NULL,9,'Subject for Tell a Friend','2021-05-05 23:47:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (407,NULL,9,'Subject for Tell a Friend','2021-07-23 05:29:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (408,NULL,9,'Subject for Tell a Friend','2021-06-16 18:28:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (409,NULL,10,'Subject for Pledge Acknowledgment','2022-01-23 04:24:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (410,NULL,9,'Subject for Tell a Friend','2021-03-24 21:59:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (411,NULL,9,'Subject for Tell a Friend','2021-07-14 02:58:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (412,NULL,10,'Subject for Pledge Acknowledgment','2021-12-28 22:57:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (413,NULL,9,'Subject for Tell a Friend','2021-04-04 00:53:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (414,NULL,10,'Subject for Pledge Acknowledgment','2021-05-03 19:19:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (415,NULL,9,'Subject for Tell a Friend','2021-07-13 12:33:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (416,NULL,10,'Subject for Pledge Acknowledgment','2021-12-02 19:05:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (417,NULL,9,'Subject for Tell a Friend','2021-05-22 04:03:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (418,NULL,10,'Subject for Pledge Acknowledgment','2021-10-30 16:25:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (419,NULL,9,'Subject for Tell a Friend','2021-10-07 18:42:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (420,NULL,10,'Subject for Pledge Acknowledgment','2021-09-07 21:01:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (421,NULL,10,'Subject for Pledge Acknowledgment','2021-06-30 14:10:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (422,NULL,9,'Subject for Tell a Friend','2021-07-27 02:13:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (423,NULL,9,'Subject for Tell a Friend','2021-08-02 01:04:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (424,NULL,9,'Subject for Tell a Friend','2021-06-23 03:52:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (425,NULL,9,'Subject for Tell a Friend','2022-02-26 09:41:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (426,NULL,10,'Subject for Pledge Acknowledgment','2022-02-10 08:48:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (427,NULL,9,'Subject for Tell a Friend','2021-11-09 19:49:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (428,NULL,10,'Subject for Pledge Acknowledgment','2021-07-08 03:17:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (429,NULL,10,'Subject for Pledge Acknowledgment','2021-11-25 04:42:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (430,NULL,10,'Subject for Pledge Acknowledgment','2021-11-21 01:47:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (431,NULL,10,'Subject for Pledge Acknowledgment','2022-02-10 09:33:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (432,NULL,10,'Subject for Pledge Acknowledgment','2021-06-30 15:36:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (433,NULL,10,'Subject for Pledge Acknowledgment','2022-01-21 19:54:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (434,NULL,9,'Subject for Tell a Friend','2021-08-29 02:40:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (435,NULL,9,'Subject for Tell a Friend','2022-02-02 18:12:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (436,NULL,9,'Subject for Tell a Friend','2021-06-11 00:51:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (437,NULL,9,'Subject for Tell a Friend','2021-06-19 03:15:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (438,NULL,9,'Subject for Tell a Friend','2021-08-21 08:08:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (439,NULL,9,'Subject for Tell a Friend','2021-09-24 15:00:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (440,NULL,9,'Subject for Tell a Friend','2021-04-08 15:59:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (441,NULL,9,'Subject for Tell a Friend','2022-02-13 05:35:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (442,NULL,9,'Subject for Tell a Friend','2021-04-08 14:54:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (443,NULL,9,'Subject for Tell a Friend','2021-11-13 09:51:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (444,NULL,9,'Subject for Tell a Friend','2021-08-29 15:37:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (445,NULL,10,'Subject for Pledge Acknowledgment','2022-02-19 06:34:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (446,NULL,9,'Subject for Tell a Friend','2021-09-12 07:16:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (447,NULL,10,'Subject for Pledge Acknowledgment','2021-08-24 17:39:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (448,NULL,10,'Subject for Pledge Acknowledgment','2021-04-16 12:12:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (449,NULL,10,'Subject for Pledge Acknowledgment','2021-08-07 09:17:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (450,NULL,10,'Subject for Pledge Acknowledgment','2021-04-14 16:38:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (451,1,6,'$ 125 April Mailer 1','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (452,2,6,'$ 50 Online: Save the Penguins','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (453,3,6,'£ 25 April Mailer 1','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (454,4,6,'$ 50 Online: Save the Penguins','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (455,5,6,'$ 50 Online: Save the Penguins','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (456,6,6,'$ 500 April Mailer 1','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (457,7,6,'$ 1750 Online: Save the Penguins','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (458,8,6,'$ 50 Online: Save the Penguins','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (459,9,6,'$ 10 Online: Help CiviCRM','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (460,10,6,'$ 250 Online: Help CiviCRM','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (461,11,6,'Â¥ 500 ','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (462,12,6,'$ 50 Online: Save the Penguins','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (463,13,6,'$ 50 ','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (464,14,6,'$ 50 ','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (465,15,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (466,16,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (467,17,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (468,18,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (469,19,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (470,20,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (471,21,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (472,22,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (473,23,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (474,24,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (475,25,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (476,26,6,'$ 10 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (477,27,6,'$ 10 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (478,28,6,'$ 10 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (479,29,6,'$ 10 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (480,30,6,'$ 10 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (481,31,6,'€ 5 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (482,1,7,'General','2022-02-28 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (483,2,7,'Student','2022-02-27 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (484,3,7,'General','2022-02-26 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (485,4,7,'Student','2022-02-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (486,5,7,'General','2020-01-27 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (487,6,7,'Student','2022-02-23 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (488,7,7,'General','2022-02-22 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (489,8,7,'Student','2022-02-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (490,9,7,'General','2022-02-20 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (491,10,7,'Student','2021-02-19 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (492,11,7,'Lifetime','2022-02-18 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (493,12,7,'Student','2022-02-17 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (494,13,7,'General','2022-02-16 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (495,14,7,'Student','2022-02-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (496,15,7,'General','2019-11-08 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (497,16,7,'Student','2022-02-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (498,17,7,'General','2022-02-12 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (499,18,7,'Student','2022-02-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (500,19,7,'General','2022-02-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (501,20,7,'General','2019-09-29 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (502,21,7,'General','2022-02-08 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (503,22,7,'Lifetime','2022-02-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (504,23,7,'General','2022-02-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (505,24,7,'Student','2022-02-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (506,25,7,'Student','2021-02-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (507,26,7,'Student','2022-02-03 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (508,27,7,'General','2022-02-02 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (509,28,7,'Student','2022-02-01 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (510,29,7,'General','2022-01-31 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (511,30,7,'Student','2021-01-30 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (512,32,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (513,33,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (514,34,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (515,35,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (516,36,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (517,37,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (518,38,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (519,39,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (520,40,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (521,41,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (522,42,6,'$ 1200.00 - Lifetime Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (523,43,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (524,44,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (525,45,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (526,46,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (527,47,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (528,48,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (529,49,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (530,50,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (531,51,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (532,52,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (533,53,6,'$ 1200.00 - Lifetime Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (534,54,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (535,55,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (536,56,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (537,57,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (538,58,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (539,59,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (540,60,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (541,61,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (543,1,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (544,2,5,'NULL','2008-05-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (545,3,5,'NULL','2008-05-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (546,4,5,'NULL','2008-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (547,5,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (548,6,5,'NULL','2008-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (549,7,5,'NULL','2009-07-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (550,8,5,'NULL','2009-03-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (551,9,5,'NULL','2008-02-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (552,10,5,'NULL','2008-02-01 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (553,11,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (554,12,5,'NULL','2009-03-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (555,13,5,'NULL','2008-06-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (556,14,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (557,15,5,'NULL','2008-07-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (558,16,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (559,17,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (560,18,5,'NULL','2009-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (561,19,5,'NULL','2008-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (562,20,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (563,21,5,'NULL','2008-03-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (564,22,5,'NULL','2009-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (565,23,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (566,24,5,'NULL','2008-03-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (567,25,5,'NULL','2008-04-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (568,26,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (569,27,5,'NULL','2008-05-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (570,28,5,'NULL','2009-12-12 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (571,29,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (572,30,5,'NULL','2009-12-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (573,31,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (574,32,5,'NULL','2009-07-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (575,33,5,'NULL','2009-03-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (576,34,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (577,35,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (578,36,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (579,37,5,'NULL','2009-03-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (580,38,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (581,39,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (582,40,5,'NULL','2009-12-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (583,41,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (584,42,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (585,43,5,'NULL','2009-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (586,44,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (587,45,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (588,46,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (589,47,5,'NULL','2009-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (590,48,5,'NULL','2009-12-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (591,49,5,'NULL','2009-03-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (592,50,5,'NULL','2009-04-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (593,63,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (594,64,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (595,65,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (596,66,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (597,67,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (598,68,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (599,69,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (600,70,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (601,71,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (602,72,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (603,73,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (604,74,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (605,75,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (606,76,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (607,77,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (608,78,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (609,79,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (610,80,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (611,81,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (612,82,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (613,83,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (614,84,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (615,85,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (616,86,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (617,87,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (618,88,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (619,89,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (620,90,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (621,91,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (622,92,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (623,93,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (624,94,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (625,95,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (626,96,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (627,97,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (628,98,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (629,99,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (630,100,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (631,101,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (632,102,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (633,103,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (634,104,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (635,105,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (636,106,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (637,107,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (638,108,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (639,109,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (640,110,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (641,111,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (642,112,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40');
 /*!40000 ALTER TABLE `civicrm_activity` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -812,833 +813,806 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_activity_contact` WRITE;
 /*!40000 ALTER TABLE `civicrm_activity_contact` DISABLE KEYS */;
 INSERT INTO `civicrm_activity_contact` (`id`, `activity_id`, `contact_id`, `record_type_id`) VALUES
- (126,79,1,3),
- (299,189,1,3),
- (510,327,1,3),
- (822,586,1,2),
- (93,60,2,3),
- (196,123,2,3),
- (687,451,2,2),
- (104,66,3,3),
- (154,96,3,3),
- (272,172,3,3),
- (492,317,3,3),
- (737,501,3,2),
- (748,531,3,2),
- (523,336,4,3),
- (532,343,4,3),
- (688,452,4,2),
- (691,455,4,2),
- (813,577,4,2),
- (166,103,5,3),
- (451,290,5,3),
- (610,400,5,3),
- (781,545,5,2),
- (508,326,6,3),
- (689,453,6,2),
- (730,494,6,2),
- (749,524,6,2),
- (606,397,7,3),
- (783,547,7,2),
- (27,16,8,3),
- (108,68,8,3),
- (673,442,8,3),
- (690,454,8,2),
- (234,147,9,3),
- (723,487,9,2),
- (750,517,9,2),
- (37,22,10,3),
- (286,182,10,3),
- (122,76,11,3),
- (138,87,11,3),
- (145,91,11,3),
- (209,131,11,3),
- (792,556,11,2),
- (304,192,12,3),
- (732,496,12,2),
- (751,526,12,2),
- (80,53,13,3),
- (96,62,13,3),
- (252,159,13,3),
- (648,425,13,3),
- (745,509,13,2),
- (752,539,13,2),
- (260,163,14,3),
- (313,197,14,3),
- (399,256,14,3),
- (790,554,14,2),
- (516,331,15,3),
- (622,407,15,3),
- (634,416,15,3),
- (641,421,15,3),
- (656,431,15,3),
- (652,428,16,3),
- (692,456,16,2),
- (787,551,16,2),
- (106,67,17,3),
- (200,125,17,3),
- (329,209,18,3),
- (130,81,19,3),
- (693,457,19,2),
- (738,502,19,2),
- (753,532,19,2),
- (246,155,20,3),
- (538,348,20,3),
- (160,99,21,3),
- (270,171,21,3),
- (472,304,21,3),
- (810,574,21,2),
- (91,59,22,3),
- (115,72,22,3),
- (52,34,23,3),
- (373,240,23,3),
- (579,377,23,3),
- (575,374,24,3),
- (603,395,24,3),
- (740,504,24,2),
- (754,534,24,2),
- (565,366,25,3),
- (809,573,25,2),
- (9,5,27,3),
- (82,54,27,3),
- (24,14,28,3),
- (302,191,28,3),
- (601,394,28,3),
- (733,497,28,2),
- (755,527,28,2),
- (825,589,28,2),
- (393,253,29,3),
- (1,1,30,2),
- (2,2,30,2),
- (4,3,30,2),
- (6,4,30,2),
- (8,5,30,2),
- (10,6,30,2),
- (12,7,30,2),
- (14,8,30,2),
- (16,9,30,2),
- (17,10,30,2),
- (19,11,30,2),
- (20,12,30,2),
- (22,13,30,2),
- (23,14,30,2),
- (25,15,30,2),
- (26,16,30,2),
- (28,17,30,2),
- (29,18,30,2),
- (31,19,30,2),
- (33,20,30,2),
- (35,21,30,2),
- (36,22,30,2),
- (38,23,30,2),
- (39,24,30,2),
- (40,25,30,2),
- (41,26,30,2),
- (43,27,30,2),
- (44,28,30,2),
- (45,29,30,2),
- (46,30,30,2),
- (47,31,30,2),
- (48,32,30,2),
- (49,33,30,2),
- (51,34,30,2),
- (53,35,30,2),
- (54,36,30,2),
- (55,37,30,2),
- (57,38,30,2),
- (58,39,30,2),
- (60,40,30,2),
- (61,41,30,2),
- (63,42,30,2),
- (65,43,30,2),
- (67,44,30,2),
- (68,45,30,2),
- (70,46,30,2),
- (71,47,30,2),
- (72,48,30,2),
- (73,48,30,3),
- (74,49,30,2),
- (76,50,30,2),
- (77,51,30,2),
- (78,52,30,2),
- (79,53,30,2),
- (81,54,30,2),
- (83,55,30,2),
- (85,56,30,2),
- (87,57,30,2),
- (88,58,30,2),
- (90,59,30,2),
- (92,60,30,2),
- (94,61,30,2),
- (95,62,30,2),
- (97,63,30,2),
- (99,64,30,2),
- (101,65,30,2),
- (103,66,30,2),
- (105,67,30,2),
- (107,68,30,2),
- (109,69,30,2),
- (110,70,30,2),
- (112,71,30,2),
- (114,72,30,2),
- (116,73,30,2),
- (118,74,30,2),
- (119,75,30,2),
- (121,76,30,2),
- (123,77,30,2),
- (124,78,30,2),
- (125,79,30,2),
- (127,80,30,2),
- (129,81,30,2),
- (131,82,30,2),
- (132,83,30,2),
- (133,84,30,2),
- (134,85,30,2),
- (136,86,30,2),
- (137,87,30,2),
- (139,88,30,2),
- (140,89,30,2),
- (142,90,30,2),
- (144,91,30,2),
- (146,92,30,2),
- (148,93,30,2),
- (150,94,30,2),
- (152,95,30,2),
- (153,96,30,2),
- (155,97,30,2),
- (157,98,30,2),
- (159,99,30,2),
- (161,100,30,2),
- (163,101,30,2),
- (164,102,30,2),
- (165,103,30,2),
- (167,104,30,2),
- (169,105,30,2),
- (171,106,30,2),
- (172,107,30,2),
- (173,108,30,2),
- (175,109,30,2),
- (176,110,30,2),
- (178,111,30,2),
- (179,112,30,2),
- (180,113,30,2),
- (181,114,30,2),
- (183,115,30,2),
- (185,116,30,2),
- (186,117,30,2),
- (188,118,30,2),
- (190,119,30,2),
- (191,120,30,2),
- (193,121,30,2),
- (194,122,30,2),
- (195,123,30,2),
- (197,124,30,2),
- (199,125,30,2),
- (201,126,30,2),
- (203,127,30,2),
- (204,128,30,2),
- (205,129,30,2),
- (207,130,30,2),
- (208,131,30,2),
- (210,132,30,2),
- (211,133,30,2),
- (212,134,30,2),
- (213,135,30,2),
- (214,136,30,2),
- (216,137,30,2),
- (217,138,30,2),
- (219,139,30,2),
- (220,140,30,2),
- (222,141,30,2),
- (224,142,30,2),
- (226,143,30,2),
- (228,144,30,2),
- (230,145,30,2),
- (232,146,30,2),
- (233,147,30,2),
- (235,148,30,2),
- (236,149,30,2),
- (238,150,30,2),
- (292,185,30,3),
- (550,356,30,3),
- (30,18,31,3),
- (86,56,31,3),
- (646,424,31,3),
- (143,90,32,3),
- (237,149,32,3),
- (360,231,32,3),
- (699,463,32,2),
- (700,464,32,2),
- (239,150,33,3),
- (485,312,33,3),
- (496,319,33,3),
- (514,330,33,3),
- (225,142,34,3),
- (388,250,34,3),
- (410,263,34,3),
- (422,271,34,3),
- (520,334,34,3),
- (679,446,34,3),
- (696,460,34,2),
- (310,195,35,3),
- (376,242,35,3),
- (467,301,35,2),
- (469,302,35,2),
- (470,303,35,2),
- (471,304,35,2),
- (473,305,35,2),
- (474,306,35,2),
- (476,307,35,2),
- (477,308,35,2),
- (479,309,35,2),
- (480,310,35,2),
- (482,311,35,2),
- (484,312,35,2),
- (486,313,35,2),
- (487,314,35,2),
- (489,315,35,2),
- (490,316,35,2),
- (491,317,35,2),
- (493,318,35,2),
- (495,319,35,2),
- (497,320,35,2),
- (499,321,35,2),
- (501,322,35,2),
- (502,323,35,2),
- (504,324,35,2),
- (506,325,35,2),
- (507,326,35,2),
- (509,327,35,2),
- (511,328,35,2),
- (512,329,35,2),
- (513,330,35,2),
- (515,331,35,2),
- (517,332,35,2),
- (518,333,35,2),
- (519,334,35,2),
- (521,335,35,2),
- (522,336,35,2),
- (524,337,35,2),
- (526,338,35,2),
- (527,339,35,2),
- (528,340,35,2),
- (529,341,35,2),
- (530,342,35,2),
- (531,343,35,2),
- (533,344,35,2),
- (534,345,35,2),
- (535,346,35,2),
- (536,347,35,2),
- (537,348,35,2),
- (539,349,35,2),
- (541,350,35,2),
- (542,351,35,2),
- (544,352,35,2),
- (545,353,35,2),
- (546,354,35,2),
- (548,355,35,2),
- (549,356,35,2),
- (551,357,35,2),
- (553,358,35,2),
- (554,359,35,2),
- (556,360,35,2),
- (557,361,35,2),
- (559,362,35,2),
- (560,363,35,2),
- (561,364,35,2),
- (562,365,35,2),
- (564,366,35,2),
- (566,367,35,2),
- (567,368,35,2),
- (568,369,35,2),
- (569,370,35,2),
- (570,371,35,2),
- (571,372,35,2),
- (572,373,35,2),
- (574,374,35,2),
- (576,375,35,2),
- (577,376,35,2),
- (578,377,35,2),
- (580,378,35,2),
- (582,379,35,2),
- (583,380,35,2),
- (584,381,35,2),
- (585,382,35,2),
- (586,383,35,2),
- (587,384,35,2),
- (588,385,35,2),
- (590,386,35,2),
- (591,387,35,2),
- (592,388,35,2),
- (593,389,35,2),
- (595,390,35,2),
- (596,391,35,2),
- (597,392,35,2),
- (598,393,35,2),
- (600,394,35,2),
- (602,395,35,2),
- (604,396,35,2),
- (605,397,35,2),
- (607,398,35,2),
- (608,399,35,2),
- (609,400,35,2),
- (611,401,35,2),
- (613,402,35,2),
- (615,403,35,2),
- (616,404,35,2),
- (618,405,35,2),
- (620,406,35,2),
- (621,407,35,2),
- (623,408,35,2),
- (624,409,35,2),
- (625,410,35,2),
- (626,411,35,2),
- (628,412,35,2),
- (629,413,35,2),
- (630,414,35,2),
- (631,415,35,2),
- (633,416,35,2),
- (635,417,35,2),
- (636,418,35,2),
- (637,419,35,2),
- (638,420,35,2),
- (640,421,35,2),
- (642,422,35,2),
- (644,423,35,2),
- (645,424,35,2),
- (647,425,35,2),
- (649,426,35,2),
- (650,427,35,2),
- (651,428,35,2),
- (653,429,35,2),
- (654,430,35,2),
- (655,431,35,2),
- (657,432,35,2),
- (658,433,35,2),
- (659,434,35,2),
- (661,435,35,2),
- (663,436,35,2),
- (665,437,35,2),
- (667,438,35,2),
- (669,439,35,2),
- (670,440,35,2),
- (671,441,35,2),
- (672,442,35,2),
- (674,443,35,2),
- (675,444,35,2),
- (677,445,35,2),
- (678,446,35,2),
- (680,447,35,2),
- (682,448,35,2),
- (683,449,35,2),
- (685,450,35,2),
- (721,485,35,2),
- (756,515,35,2),
- (215,136,36,3),
- (380,244,36,3),
- (449,289,36,3),
- (481,310,36,3),
- (505,324,36,3),
- (643,422,36,3),
- (727,491,36,2),
- (757,521,36,2),
- (525,337,37,3),
- (558,361,37,3),
- (824,588,37,2),
- (59,39,38,3),
- (64,42,38,3),
- (120,75,38,3),
- (187,117,38,3),
- (267,169,38,3),
- (426,274,38,3),
- (7,4,39,3),
- (98,63,39,3),
- (244,154,39,3),
- (459,296,39,3),
- (294,186,40,3),
- (726,490,40,2),
- (758,520,40,2),
- (156,97,41,3),
- (404,259,41,3),
- (720,484,41,2),
- (759,514,41,2),
- (149,93,42,3),
- (218,138,42,3),
- (113,71,43,3),
- (698,462,43,2),
- (18,10,44,3),
- (338,215,44,3),
- (676,444,44,3),
- (818,582,44,2),
- (89,58,45,3),
- (258,162,45,3),
- (306,193,45,3),
- (395,254,45,3),
- (430,276,45,3),
- (468,301,45,3),
- (182,114,46,3),
- (402,258,46,3),
- (5,3,47,3),
- (418,268,47,3),
- (11,6,48,3),
- (50,33,48,3),
- (206,129,48,3),
- (364,233,48,3),
- (660,434,48,3),
- (415,266,49,3),
- (362,232,50,3),
- (466,300,50,3),
- (66,43,52,3),
- (192,120,52,3),
- (221,140,52,3),
- (639,420,52,3),
- (128,80,53,3),
- (254,160,53,3),
- (147,92,54,3),
- (290,184,54,3),
- (385,248,54,3),
- (573,373,54,3),
- (397,255,55,3),
- (666,437,55,3),
- (815,579,55,2),
- (498,320,57,3),
- (662,435,57,3),
- (21,12,58,3),
- (378,243,58,3),
- (390,251,58,3),
- (724,488,58,2),
- (760,518,58,2),
- (784,548,58,2),
- (342,218,59,3),
- (488,314,59,3),
- (701,465,59,2),
- (702,466,59,2),
- (703,467,59,2),
- (704,468,59,2),
- (705,469,59,2),
- (706,470,59,2),
- (707,471,59,2),
- (708,472,59,2),
- (709,473,59,2),
- (710,474,59,2),
- (711,475,59,2),
- (739,503,59,2),
- (761,533,59,2),
- (34,20,60,3),
- (111,70,60,3),
- (117,73,60,3),
- (3,2,61,3),
- (15,8,61,3),
- (240,151,61,2),
- (241,152,61,2),
- (242,153,61,2),
- (243,154,61,2),
- (245,155,61,2),
- (247,156,61,2),
- (248,157,61,2),
- (249,158,61,2),
- (251,159,61,2),
- (253,160,61,2),
- (255,161,61,2),
- (257,162,61,2),
- (259,163,61,2),
- (261,164,61,2),
- (262,165,61,2),
- (263,166,61,2),
- (264,167,61,2),
- (265,168,61,2),
- (266,169,61,2),
- (268,170,61,2),
- (269,171,61,2),
- (271,172,61,2),
- (273,173,61,2),
- (274,174,61,2),
- (275,175,61,2),
- (276,176,61,2),
- (278,177,61,2),
- (279,178,61,2),
- (281,179,61,2),
- (282,180,61,2),
- (283,181,61,2),
- (285,182,61,2),
- (287,183,61,2),
- (289,184,61,2),
- (291,185,61,2),
- (293,186,61,2),
- (295,187,61,2),
- (297,188,61,2),
- (298,189,61,2),
- (300,190,61,2),
- (301,191,61,2),
- (303,192,61,2),
- (305,193,61,2),
- (307,194,61,2),
- (309,195,61,2),
- (311,196,61,2),
- (312,197,61,2),
- (314,198,61,2),
- (315,199,61,2),
- (316,200,61,2),
- (317,201,61,2),
- (319,202,61,2),
- (320,203,61,2),
- (321,204,61,2),
- (323,205,61,2),
- (324,206,61,2),
- (325,207,61,2),
- (326,208,61,2),
- (328,209,61,2),
- (330,210,61,2),
- (332,211,61,2),
- (334,212,61,2),
- (335,213,61,2),
- (336,214,61,2),
- (337,215,61,2),
- (339,216,61,2),
- (340,217,61,2),
- (341,218,61,2),
- (343,219,61,2),
- (344,220,61,2),
- (346,221,61,2),
- (347,222,61,2),
- (348,223,61,2),
- (349,224,61,2),
- (350,225,61,2),
- (352,226,61,2),
- (354,227,61,2),
- (355,228,61,2),
- (357,229,61,2),
- (358,230,61,2),
- (359,231,61,2),
- (361,232,61,2),
- (363,233,61,2),
- (365,234,61,2),
- (366,235,61,2),
- (367,236,61,2),
- (369,237,61,2),
- (370,238,61,2),
- (371,239,61,2),
- (372,240,61,2),
- (374,241,61,2),
- (375,242,61,2),
- (377,243,61,2),
- (379,244,61,2),
- (381,245,61,2),
- (382,246,61,2),
- (383,247,61,2),
- (384,248,61,2),
- (386,249,61,2),
- (387,250,61,2),
- (389,251,61,2),
- (391,252,61,2),
- (392,253,61,2),
- (394,254,61,2),
- (396,255,61,2),
- (398,256,61,2),
- (400,257,61,2),
- (401,258,61,2),
- (403,259,61,2),
- (405,260,61,2),
- (406,261,61,2),
- (408,262,61,2),
- (409,263,61,2),
- (411,264,61,2),
- (413,265,61,2),
- (414,266,61,2),
- (416,267,61,2),
- (417,268,61,2),
- (419,269,61,2),
- (420,270,61,2),
- (421,271,61,2),
- (423,272,61,2),
- (424,273,61,2),
- (425,274,61,2),
- (427,275,61,2),
- (429,276,61,2),
- (431,277,61,2),
- (432,278,61,2),
- (433,279,61,2),
- (434,280,61,2),
- (435,281,61,2),
- (436,282,61,2),
- (438,283,61,2),
- (439,284,61,2),
- (440,285,61,2),
- (442,286,61,2),
- (444,287,61,2),
- (446,288,61,2),
- (448,289,61,2),
- (450,290,61,2),
- (452,291,61,2),
- (453,292,61,2),
- (454,293,61,2),
- (456,294,61,2),
- (457,295,61,2),
- (458,296,61,2),
- (460,297,61,2),
- (462,298,61,2),
- (463,299,61,2),
- (465,300,61,2),
- (552,357,61,3),
- (599,393,61,3),
- (441,285,62,3),
- (594,389,63,3),
- (686,450,63,3),
- (62,41,64,3),
- (322,204,64,3),
- (331,210,64,3),
- (368,236,64,3),
- (464,299,64,3),
- (475,306,64,3),
- (543,351,64,3),
- (69,45,65,3),
- (296,187,65,3),
- (555,359,65,3),
- (718,482,65,2),
- (762,512,65,2),
- (617,404,66,3),
- (744,508,66,2),
- (763,538,66,2),
- (793,557,66,2),
- (198,124,68,3),
- (589,385,68,3),
- (780,544,68,2),
- (151,94,69,3),
- (174,108,69,3),
- (356,228,69,3),
- (412,264,69,3),
- (447,288,69,3),
- (668,438,69,3),
- (735,499,69,2),
- (764,529,69,2),
- (805,569,69,2),
- (32,19,70,3),
- (277,176,70,3),
- (280,178,70,3),
- (229,144,71,3),
- (327,208,71,3),
- (461,297,71,3),
- (547,354,71,3),
- (697,461,71,2),
- (789,553,71,2),
- (135,85,72,3),
- (141,89,72,3),
- (288,183,72,3),
- (563,365,72,3),
- (817,581,72,2),
- (162,100,73,3),
- (796,560,73,2),
- (627,411,74,3),
- (284,181,75,3),
- (100,64,77,3),
- (437,282,77,3),
- (407,261,78,3),
- (158,98,79,3),
- (443,286,80,3),
- (455,293,81,3),
- (807,571,81,2),
- (478,308,82,3),
- (694,458,82,2),
- (821,585,82,2),
- (84,55,83,3),
- (612,401,83,3),
- (227,143,85,3),
- (333,211,85,3),
- (102,65,86,3),
- (351,225,87,3),
- (800,564,87,2),
- (318,201,88,3),
- (503,323,88,3),
- (540,349,89,3),
- (614,402,89,3),
- (619,405,89,3),
- (494,318,90,3),
- (681,447,90,3),
- (42,26,91,3),
- (170,105,91,3),
- (581,378,91,3),
- (664,436,91,3),
- (75,49,92,3),
- (695,459,92,2),
- (184,115,93,3),
- (223,141,93,3),
- (483,311,93,3),
- (816,580,93,2),
- (250,158,94,3),
- (256,161,94,3),
- (445,287,95,3),
- (684,449,95,3),
- (736,500,95,2),
- (765,530,95,2),
- (13,7,96,3),
- (202,126,96,3),
- (231,145,97,3),
- (345,220,97,3),
- (632,415,97,3),
- (731,495,97,2),
- (766,525,97,2),
- (56,37,98,3),
- (168,104,98,3),
- (353,226,98,3),
- (712,476,99,2),
- (713,477,99,2),
- (714,478,99,2),
- (715,479,99,2),
- (716,480,99,2),
- (820,584,99,2),
- (428,275,100,3),
- (500,321,100,3),
- (177,110,101,3),
- (189,118,101,3),
- (308,194,101,3),
- (717,481,103,2),
- (811,575,103,2),
- (828,592,104,2),
- (747,511,105,2),
- (767,541,105,2),
- (742,506,107,2),
- (768,536,107,2),
- (808,572,116,2),
- (788,552,117,2),
- (819,583,121,2),
- (743,507,127,2),
- (769,537,127,2),
- (814,578,128,2),
- (823,587,129,2),
- (722,486,130,2),
- (770,516,130,2),
- (779,543,134,2),
- (734,498,140,2),
- (771,528,140,2),
- (794,558,144,2),
- (802,566,146,2),
- (729,493,149,2),
- (772,523,149,2),
- (798,562,149,2),
- (799,563,150,2),
- (782,546,151,2),
- (801,565,152,2),
- (786,550,154,2),
- (803,567,156,2),
- (812,576,157,2),
- (795,559,158,2),
- (826,590,160,2),
- (741,505,162,2),
- (773,535,162,2),
- (785,549,175,2),
- (804,568,178,2),
- (797,561,184,2),
- (806,570,185,2),
- (728,492,186,2),
- (774,522,186,2),
- (719,483,189,2),
- (775,513,189,2),
- (725,489,190,2),
- (776,519,190,2),
- (791,555,195,2),
- (746,510,202,2),
- (777,540,202,2),
- (827,591,202,2);
+ (168,113,1,3),
+ (477,326,1,3),
+ (135,91,2,3),
+ (660,451,2,2),
+ (504,344,3,3),
+ (584,402,3,3),
+ (701,492,3,2),
+ (731,522,3,2),
+ (221,153,4,3),
+ (451,309,4,3),
+ (661,452,4,2),
+ (664,455,4,2),
+ (790,581,4,2),
+ (347,236,5,3),
+ (463,317,5,3),
+ (636,436,5,3),
+ (47,31,6,3),
+ (316,214,6,3),
+ (662,453,6,2),
+ (64,41,7,3),
+ (292,200,7,3),
+ (592,407,7,3),
+ (594,408,7,3),
+ (638,437,7,3),
+ (243,169,8,3),
+ (372,255,8,3),
+ (602,413,8,3),
+ (663,454,8,2),
+ (179,120,9,3),
+ (190,129,11,3),
+ (392,270,11,3),
+ (405,278,11,3),
+ (619,424,11,3),
+ (332,226,12,3),
+ (716,507,12,2),
+ (746,537,12,2),
+ (16,12,13,3),
+ (34,24,14,3),
+ (70,45,14,3),
+ (88,58,14,3),
+ (287,197,14,3),
+ (298,203,14,3),
+ (432,296,14,3),
+ (448,307,14,3),
+ (548,375,14,3),
+ (617,423,14,3),
+ (648,442,15,3),
+ (767,558,15,2),
+ (153,102,16,3),
+ (183,123,16,3),
+ (245,170,16,3),
+ (285,196,16,3),
+ (485,331,16,3),
+ (569,392,16,3),
+ (665,456,16,2),
+ (704,495,16,2),
+ (734,525,16,2),
+ (106,70,17,3),
+ (122,82,17,3),
+ (494,337,17,3),
+ (251,173,18,3),
+ (395,272,18,3),
+ (68,44,19,3),
+ (666,457,19,2),
+ (514,352,20,3),
+ (524,359,20,3),
+ (572,394,20,3),
+ (788,579,20,2),
+ (62,40,21,3),
+ (329,224,21,3),
+ (415,285,21,3),
+ (538,369,21,3),
+ (551,377,21,3),
+ (794,585,22,2),
+ (175,118,23,3),
+ (468,320,23,3),
+ (483,330,23,3),
+ (366,251,24,3),
+ (597,410,24,3),
+ (540,370,25,3),
+ (778,569,25,2),
+ (397,273,26,3),
+ (697,488,26,2),
+ (727,518,26,2),
+ (145,97,27,3),
+ (389,268,27,3),
+ (709,500,27,2),
+ (739,530,27,2),
+ (53,35,29,3),
+ (791,582,29,2),
+ (323,219,30,3),
+ (777,568,31,2),
+ (100,65,32,3),
+ (235,163,32,3),
+ (340,231,32,3),
+ (369,253,32,3),
+ (380,262,32,3),
+ (672,463,32,2),
+ (673,464,32,2),
+ (773,564,32,2),
+ (76,49,33,3),
+ (359,246,33,3),
+ (599,411,33,3),
+ (32,23,34,3),
+ (304,207,34,3),
+ (578,399,34,3),
+ (669,460,34,2),
+ (705,496,34,2),
+ (735,526,34,2),
+ (207,142,36,3),
+ (344,234,36,3),
+ (518,354,36,3),
+ (624,427,37,3),
+ (313,212,38,3),
+ (320,217,38,3),
+ (655,446,38,3),
+ (621,425,39,3),
+ (702,493,40,2),
+ (732,523,40,2),
+ (787,578,40,2),
+ (789,580,42,2),
+ (82,53,43,3),
+ (128,86,43,3),
+ (580,400,43,3),
+ (582,401,43,3),
+ (671,462,43,2),
+ (142,95,44,3),
+ (490,334,44,3),
+ (781,572,44,2),
+ (427,293,45,3),
+ (471,322,45,3),
+ (73,47,46,3),
+ (247,171,47,3),
+ (60,39,48,3),
+ (338,230,48,3),
+ (785,576,48,2),
+ (131,88,49,3),
+ (455,312,49,3),
+ (511,350,49,3),
+ (771,562,49,2),
+ (764,555,51,2),
+ (30,22,52,3),
+ (79,51,52,3),
+ (440,301,52,3),
+ (516,353,52,3),
+ (652,444,52,3),
+ (151,101,53,3),
+ (160,107,53,3),
+ (280,193,54,3),
+ (148,99,56,3),
+ (164,110,56,3),
+ (249,172,56,3),
+ (228,158,57,3),
+ (311,211,57,3),
+ (438,300,57,3),
+ (459,315,57,3),
+ (13,10,58,3),
+ (41,28,58,3),
+ (407,279,58,3),
+ (761,552,58,2),
+ (58,38,59,3),
+ (199,136,59,3),
+ (430,295,59,3),
+ (674,465,59,2),
+ (675,466,59,2),
+ (676,467,59,2),
+ (677,468,59,2),
+ (678,469,59,2),
+ (679,470,59,2),
+ (680,471,59,2),
+ (681,472,59,2),
+ (682,473,59,2),
+ (683,474,59,2),
+ (684,475,59,2),
+ (10,8,60,3),
+ (753,544,60,2),
+ (6,5,61,3),
+ (26,19,61,3),
+ (797,588,61,2),
+ (56,37,62,3),
+ (92,60,62,3),
+ (294,201,62,3),
+ (98,64,63,3),
+ (124,83,63,3),
+ (364,250,63,3),
+ (775,566,63,2),
+ (37,26,64,3),
+ (253,174,64,3),
+ (22,16,65,3),
+ (278,192,65,3),
+ (336,229,65,3),
+ (693,484,65,2),
+ (723,514,65,2),
+ (760,551,65,2),
+ (43,29,66,3),
+ (217,151,66,2),
+ (219,152,66,2),
+ (220,153,66,2),
+ (222,154,66,2),
+ (224,155,66,2),
+ (225,156,66,2),
+ (226,157,66,2),
+ (227,158,66,2),
+ (229,159,66,2),
+ (230,160,66,2),
+ (231,161,66,2),
+ (233,162,66,2),
+ (234,163,66,2),
+ (236,164,66,2),
+ (237,165,66,2),
+ (238,166,66,2),
+ (239,167,66,2),
+ (241,168,66,2),
+ (242,169,66,2),
+ (244,170,66,2),
+ (246,171,66,2),
+ (248,172,66,2),
+ (250,173,66,2),
+ (252,174,66,2),
+ (254,175,66,2),
+ (256,176,66,2),
+ (258,177,66,2),
+ (260,178,66,2),
+ (261,179,66,2),
+ (262,180,66,2),
+ (263,181,66,2),
+ (265,182,66,2),
+ (266,183,66,2),
+ (268,184,66,2),
+ (269,185,66,2),
+ (270,186,66,2),
+ (271,187,66,2),
+ (272,188,66,2),
+ (273,189,66,2),
+ (275,190,66,2),
+ (276,191,66,2),
+ (277,192,66,2),
+ (279,193,66,2),
+ (281,194,66,2),
+ (282,195,66,2),
+ (284,196,66,2),
+ (286,197,66,2),
+ (288,198,66,2),
+ (290,199,66,2),
+ (291,200,66,2),
+ (293,201,66,2),
+ (295,202,66,2),
+ (297,203,66,2),
+ (299,204,66,2),
+ (301,205,66,2),
+ (302,206,66,2),
+ (303,207,66,2),
+ (305,208,66,2),
+ (307,209,66,2),
+ (308,210,66,2),
+ (310,211,66,2),
+ (312,212,66,2),
+ (314,213,66,2),
+ (315,214,66,2),
+ (317,215,66,2),
+ (318,216,66,2),
+ (319,217,66,2),
+ (321,218,66,2),
+ (322,219,66,2),
+ (324,220,66,2),
+ (325,221,66,2),
+ (326,222,66,2),
+ (327,223,66,2),
+ (328,224,66,2),
+ (330,225,66,2),
+ (331,226,66,2),
+ (333,227,66,2),
+ (334,228,66,2),
+ (335,229,66,2),
+ (337,230,66,2),
+ (339,231,66,2),
+ (341,232,66,2),
+ (342,233,66,2),
+ (343,234,66,2),
+ (345,235,66,2),
+ (346,236,66,2),
+ (348,237,66,2),
+ (349,238,66,2),
+ (350,239,66,2),
+ (352,240,66,2),
+ (353,241,66,2),
+ (354,242,66,2),
+ (355,243,66,2),
+ (356,244,66,2),
+ (357,245,66,2),
+ (358,246,66,2),
+ (360,247,66,2),
+ (361,248,66,2),
+ (362,249,66,2),
+ (363,250,66,2),
+ (365,251,66,2),
+ (367,252,66,2),
+ (368,253,66,2),
+ (370,254,66,2),
+ (371,255,66,2),
+ (373,256,66,2),
+ (374,257,66,2),
+ (375,258,66,2),
+ (376,259,66,2),
+ (377,260,66,2),
+ (378,261,66,2),
+ (379,262,66,2),
+ (381,263,66,2),
+ (383,264,66,2),
+ (385,265,66,2),
+ (386,266,66,2),
+ (387,267,66,2),
+ (388,268,66,2),
+ (390,269,66,2),
+ (391,270,66,2),
+ (393,271,66,2),
+ (394,272,66,2),
+ (396,273,66,2),
+ (398,274,66,2),
+ (400,275,66,2),
+ (401,276,66,2),
+ (402,277,66,2),
+ (404,278,66,2),
+ (406,279,66,2),
+ (408,280,66,2),
+ (409,281,66,2),
+ (411,282,66,2),
+ (412,283,66,2),
+ (413,284,66,2),
+ (414,285,66,2),
+ (416,286,66,2),
+ (417,287,66,2),
+ (418,288,66,2),
+ (420,289,66,2),
+ (422,290,66,2),
+ (423,291,66,2),
+ (425,292,66,2),
+ (426,293,66,2),
+ (428,294,66,2),
+ (429,295,66,2),
+ (431,296,66,2),
+ (433,297,66,2),
+ (434,298,66,2),
+ (436,299,66,2),
+ (437,300,66,2),
+ (461,316,67,3),
+ (590,406,67,3),
+ (240,167,69,3),
+ (382,263,69,3),
+ (435,298,69,3),
+ (615,422,69,3),
+ (650,443,69,3),
+ (289,198,70,3),
+ (403,277,70,3),
+ (713,504,70,2),
+ (743,534,70,2),
+ (670,461,71,2),
+ (796,587,71,2),
+ (498,340,72,3),
+ (527,361,72,3),
+ (45,30,73,3),
+ (90,59,73,3),
+ (257,176,73,3),
+ (421,289,73,3),
+ (605,415,73,3),
+ (608,417,75,3),
+ (708,499,75,2),
+ (738,529,75,2),
+ (762,553,75,2),
+ (611,419,76,3),
+ (119,80,77,3),
+ (140,94,78,3),
+ (218,151,78,3),
+ (115,77,79,3),
+ (172,116,79,3),
+ (177,119,79,3),
+ (309,210,79,3),
+ (399,274,79,3),
+ (706,497,79,2),
+ (736,527,79,2),
+ (410,281,80,3),
+ (480,328,80,3),
+ (544,373,80,3),
+ (137,92,81,3),
+ (642,439,81,3),
+ (50,33,82,3),
+ (646,441,82,3),
+ (667,458,82,2),
+ (703,494,82,2),
+ (733,524,82,2),
+ (197,135,83,3),
+ (536,368,84,3),
+ (640,438,84,3),
+ (201,137,85,3),
+ (232,161,85,3),
+ (634,435,85,3),
+ (264,181,86,3),
+ (632,434,86,3),
+ (94,61,87,3),
+ (588,405,87,3),
+ (770,561,87,2),
+ (799,590,88,2),
+ (782,573,89,2),
+ (474,324,90,3),
+ (699,490,90,2),
+ (729,520,90,2),
+ (108,71,91,3),
+ (274,189,91,3),
+ (283,195,91,3),
+ (502,343,91,3),
+ (19,14,92,3),
+ (212,146,92,3),
+ (534,367,92,3),
+ (668,459,92,2),
+ (465,318,93,3),
+ (488,333,93,3),
+ (306,208,94,3),
+ (444,304,94,3),
+ (223,154,95,3),
+ (419,288,95,3),
+ (1,1,96,2),
+ (2,2,96,2),
+ (3,3,96,2),
+ (4,4,96,2),
+ (5,5,96,2),
+ (7,6,96,2),
+ (8,7,96,2),
+ (9,8,96,2),
+ (11,9,96,2),
+ (12,10,96,2),
+ (14,11,96,2),
+ (15,12,96,2),
+ (17,13,96,2),
+ (18,14,96,2),
+ (20,15,96,2),
+ (21,16,96,2),
+ (23,17,96,2),
+ (24,18,96,2),
+ (25,19,96,2),
+ (27,20,96,2),
+ (28,21,96,2),
+ (29,22,96,2),
+ (31,23,96,2),
+ (33,24,96,2),
+ (35,25,96,2),
+ (36,26,96,2),
+ (38,27,96,2),
+ (40,28,96,2),
+ (42,29,96,2),
+ (44,30,96,2),
+ (46,31,96,2),
+ (48,32,96,2),
+ (49,33,96,2),
+ (51,34,96,2),
+ (52,35,96,2),
+ (54,36,96,2),
+ (55,37,96,2),
+ (57,38,96,2),
+ (59,39,96,2),
+ (61,40,96,2),
+ (63,41,96,2),
+ (65,42,96,2),
+ (66,43,96,2),
+ (67,44,96,2),
+ (69,45,96,2),
+ (71,46,96,2),
+ (72,47,96,2),
+ (74,48,96,2),
+ (75,49,96,2),
+ (77,50,96,2),
+ (78,51,96,2),
+ (80,52,96,2),
+ (81,53,96,2),
+ (83,54,96,2),
+ (84,55,96,2),
+ (85,56,96,2),
+ (86,57,96,2),
+ (87,58,96,2),
+ (89,59,96,2),
+ (91,60,96,2),
+ (93,61,96,2),
+ (95,62,96,2),
+ (96,63,96,2),
+ (97,64,96,2),
+ (99,65,96,2),
+ (101,66,96,2),
+ (102,67,96,2),
+ (103,68,96,2),
+ (104,69,96,2),
+ (105,70,96,2),
+ (107,71,96,2),
+ (109,72,96,2),
+ (110,73,96,2),
+ (111,74,96,2),
+ (112,75,96,2),
+ (113,76,96,2),
+ (114,77,96,2),
+ (116,78,96,2),
+ (117,79,96,2),
+ (118,80,96,2),
+ (120,81,96,2),
+ (121,82,96,2),
+ (123,83,96,2),
+ (125,84,96,2),
+ (126,85,96,2),
+ (127,86,96,2),
+ (129,87,96,2),
+ (130,88,96,2),
+ (132,89,96,2),
+ (133,90,96,2),
+ (134,91,96,2),
+ (136,92,96,2),
+ (138,93,96,2),
+ (139,94,96,2),
+ (141,95,96,2),
+ (143,96,96,2),
+ (144,97,96,2),
+ (146,98,96,2),
+ (147,99,96,2),
+ (149,100,96,2),
+ (150,101,96,2),
+ (152,102,96,2),
+ (154,103,96,2),
+ (156,104,96,2),
+ (157,105,96,2),
+ (158,106,96,2),
+ (159,107,96,2),
+ (161,108,96,2),
+ (162,109,96,2),
+ (163,110,96,2),
+ (165,111,96,2),
+ (166,112,96,2),
+ (167,113,96,2),
+ (169,114,96,2),
+ (170,115,96,2),
+ (171,116,96,2),
+ (173,117,96,2),
+ (174,118,96,2),
+ (176,119,96,2),
+ (178,120,96,2),
+ (180,121,96,2),
+ (181,122,96,2),
+ (182,123,96,2),
+ (184,124,96,2),
+ (185,125,96,2),
+ (186,126,96,2),
+ (187,127,96,2),
+ (188,128,96,2),
+ (189,129,96,2),
+ (191,130,96,2),
+ (192,131,96,2),
+ (193,132,96,2),
+ (194,133,96,2),
+ (195,134,96,2),
+ (196,135,96,2),
+ (198,136,96,2),
+ (200,137,96,2),
+ (202,138,96,2),
+ (203,139,96,2),
+ (204,140,96,2),
+ (205,141,96,2),
+ (206,142,96,2),
+ (208,143,96,2),
+ (209,144,96,2),
+ (210,145,96,2),
+ (211,146,96,2),
+ (213,147,96,2),
+ (214,148,96,2),
+ (215,149,96,2),
+ (216,150,96,2),
+ (259,177,97,3),
+ (384,264,97,3),
+ (155,103,98,3),
+ (546,374,99,3),
+ (556,381,99,3),
+ (644,440,99,3),
+ (685,476,99,2),
+ (686,477,99,2),
+ (687,478,99,2),
+ (688,479,99,2),
+ (689,480,99,2),
+ (710,501,99,2),
+ (740,531,99,2),
+ (801,592,99,2),
+ (255,175,100,3),
+ (300,204,100,3),
+ (424,291,100,3),
+ (755,546,100,2),
+ (39,27,101,3),
+ (267,183,101,3),
+ (296,202,101,3),
+ (351,239,101,3),
+ (565,389,101,3),
+ (718,509,101,2),
+ (748,539,101,2),
+ (690,481,103,2),
+ (692,483,105,2),
+ (722,513,105,2),
+ (719,510,107,2),
+ (749,540,107,2),
+ (792,583,113,2),
+ (756,547,119,2),
+ (780,571,123,2),
+ (759,550,124,2),
+ (772,563,128,2),
+ (783,574,132,2),
+ (714,505,134,2),
+ (744,535,134,2),
+ (717,508,137,2),
+ (747,538,137,2),
+ (757,548,138,2),
+ (439,301,145,2),
+ (441,302,145,2),
+ (442,303,145,2),
+ (443,304,145,2),
+ (445,305,145,2),
+ (446,306,145,2),
+ (447,307,145,2),
+ (449,308,145,2),
+ (450,309,145,2),
+ (452,310,145,2),
+ (453,311,145,2),
+ (454,312,145,2),
+ (456,313,145,2),
+ (457,314,145,2),
+ (458,315,145,2),
+ (460,316,145,2),
+ (462,317,145,2),
+ (464,318,145,2),
+ (466,319,145,2),
+ (467,320,145,2),
+ (469,321,145,2),
+ (470,322,145,2),
+ (472,323,145,2),
+ (473,324,145,2),
+ (475,325,145,2),
+ (476,326,145,2),
+ (478,327,145,2),
+ (479,328,145,2),
+ (481,329,145,2),
+ (482,330,145,2),
+ (484,331,145,2),
+ (486,332,145,2),
+ (487,333,145,2),
+ (489,334,145,2),
+ (491,335,145,2),
+ (492,336,145,2),
+ (493,337,145,2),
+ (495,338,145,2),
+ (496,339,145,2),
+ (497,340,145,2),
+ (499,341,145,2),
+ (500,342,145,2),
+ (501,343,145,2),
+ (503,344,145,2),
+ (505,345,145,2),
+ (506,346,145,2),
+ (507,347,145,2),
+ (508,348,145,2),
+ (509,349,145,2),
+ (510,350,145,2),
+ (512,351,145,2),
+ (513,352,145,2),
+ (515,353,145,2),
+ (517,354,145,2),
+ (519,355,145,2),
+ (520,356,145,2),
+ (521,357,145,2),
+ (522,358,145,2),
+ (523,359,145,2),
+ (525,360,145,2),
+ (526,361,145,2),
+ (528,362,145,2),
+ (529,363,145,2),
+ (530,364,145,2),
+ (531,365,145,2),
+ (532,366,145,2),
+ (533,367,145,2),
+ (535,368,145,2),
+ (537,369,145,2),
+ (539,370,145,2),
+ (541,371,145,2),
+ (542,372,145,2),
+ (543,373,145,2),
+ (545,374,145,2),
+ (547,375,145,2),
+ (549,376,145,2),
+ (550,377,145,2),
+ (552,378,145,2),
+ (553,379,145,2),
+ (554,380,145,2),
+ (555,381,145,2),
+ (557,382,145,2),
+ (558,383,145,2),
+ (559,384,145,2),
+ (560,385,145,2),
+ (561,386,145,2),
+ (562,387,145,2),
+ (563,388,145,2),
+ (564,389,145,2),
+ (566,390,145,2),
+ (567,391,145,2),
+ (568,392,145,2),
+ (570,393,145,2),
+ (571,394,145,2),
+ (573,395,145,2),
+ (574,396,145,2),
+ (575,397,145,2),
+ (576,398,145,2),
+ (577,399,145,2),
+ (579,400,145,2),
+ (581,401,145,2),
+ (583,402,145,2),
+ (585,403,145,2),
+ (586,404,145,2),
+ (587,405,145,2),
+ (589,406,145,2),
+ (591,407,145,2),
+ (593,408,145,2),
+ (595,409,145,2),
+ (596,410,145,2),
+ (598,411,145,2),
+ (600,412,145,2),
+ (601,413,145,2),
+ (603,414,145,2),
+ (604,415,145,2),
+ (606,416,145,2),
+ (607,417,145,2),
+ (609,418,145,2),
+ (610,419,145,2),
+ (612,420,145,2),
+ (613,421,145,2),
+ (614,422,145,2),
+ (616,423,145,2),
+ (618,424,145,2),
+ (620,425,145,2),
+ (622,426,145,2),
+ (623,427,145,2),
+ (625,428,145,2),
+ (626,429,145,2),
+ (627,430,145,2),
+ (628,431,145,2),
+ (629,432,145,2),
+ (630,433,145,2),
+ (631,434,145,2),
+ (633,435,145,2),
+ (635,436,145,2),
+ (637,437,145,2),
+ (639,438,145,2),
+ (641,439,145,2),
+ (643,440,145,2),
+ (645,441,145,2),
+ (647,442,145,2),
+ (649,443,145,2),
+ (651,444,145,2),
+ (653,445,145,2),
+ (654,446,145,2),
+ (656,447,145,2),
+ (657,448,145,2),
+ (658,449,145,2),
+ (659,450,145,2),
+ (765,556,150,2),
+ (784,575,151,2),
+ (752,543,156,2),
+ (696,487,157,2),
+ (726,517,157,2),
+ (779,570,157,2),
+ (774,565,158,2),
+ (695,486,159,2),
+ (725,516,159,2),
+ (707,498,163,2),
+ (737,528,163,2),
+ (700,491,167,2),
+ (730,521,167,2),
+ (758,549,167,2),
+ (793,584,168,2),
+ (800,591,172,2),
+ (711,502,174,2),
+ (741,532,174,2),
+ (691,482,175,2),
+ (721,512,175,2),
+ (754,545,178,2),
+ (694,485,179,2),
+ (724,515,179,2),
+ (776,567,181,2),
+ (763,554,182,2),
+ (698,489,184,2),
+ (728,519,184,2),
+ (769,560,185,2),
+ (715,506,188,2),
+ (745,536,188,2),
+ (798,589,189,2),
+ (768,559,191,2),
+ (720,511,192,2),
+ (750,541,192,2),
+ (795,586,194,2),
+ (712,503,195,2),
+ (742,533,195,2),
+ (786,577,200,2),
+ (766,557,202,2);
 /*!40000 ALTER TABLE `civicrm_activity_contact` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1649,187 +1623,182 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_address` WRITE;
 /*!40000 ALTER TABLE `civicrm_address` DISABLE KEYS */;
 INSERT INTO `civicrm_address` (`id`, `contact_id`, `location_type_id`, `is_primary`, `is_billing`, `street_address`, `street_number`, `street_number_suffix`, `street_number_predirectional`, `street_name`, `street_type`, `street_number_postdirectional`, `street_unit`, `supplemental_address_1`, `supplemental_address_2`, `supplemental_address_3`, `city`, `county_id`, `state_province_id`, `postal_code_suffix`, `postal_code`, `usps_adc`, `country_id`, `geo_code_1`, `geo_code_2`, `manual_geo_code`, `timezone`, `name`, `master_id`) VALUES
- (1,76,1,1,0,'457D Dowlen Blvd NE',457,'D',NULL,'Dowlen','Blvd','NE',NULL,NULL,NULL,NULL,'Ramsey',1,1029,NULL,'07446',NULL,1228,41.058819,-74.14238,0,NULL,NULL,NULL),
- (2,79,1,1,0,'584K Beech Ave NE',584,'K',NULL,'Beech','Ave','NE',NULL,NULL,NULL,NULL,'Washington',1,1050,NULL,'20463',NULL,1228,38.893311,-77.014647,0,NULL,NULL,NULL),
- (3,170,1,1,0,'738B Caulder Way N',738,'B',NULL,'Caulder','Way','N',NULL,NULL,NULL,NULL,'Pomona',1,1012,NULL,'62975',NULL,1228,37.618822,-89.3617,0,NULL,NULL,NULL),
- (4,95,1,1,0,'561G Maple Rd E',561,'G',NULL,'Maple','Rd','E',NULL,NULL,NULL,NULL,'Kansas City',1,1024,NULL,'64139',NULL,1228,38.959277,-94.40868,0,NULL,NULL,NULL),
- (5,58,1,1,0,'226P Martin Luther King Pl N',226,'P',NULL,'Martin Luther King','Pl','N',NULL,NULL,NULL,NULL,'Rochester',1,1031,NULL,'14645',NULL,1228,43.286024,-77.684264,0,NULL,NULL,NULL),
- (6,71,1,1,0,'17O Van Ness Dr NE',17,'O',NULL,'Van Ness','Dr','NE',NULL,NULL,NULL,NULL,'Wilmore',1,1015,NULL,'67155',NULL,1228,37.34323,-99.14364,0,NULL,NULL,NULL),
- (7,162,1,1,0,'530I Maple Ln N',530,'I',NULL,'Maple','Ln','N',NULL,NULL,NULL,NULL,'Bartlett',1,1034,NULL,'45713',NULL,1228,39.419647,-81.8164,0,NULL,NULL,NULL),
- (8,197,1,1,0,'12K Second Ln SE',12,'K',NULL,'Second','Ln','SE',NULL,NULL,NULL,NULL,'Phoenix',1,1002,NULL,'85042',NULL,1228,33.381234,-112.027663,0,NULL,NULL,NULL),
- (9,200,1,1,0,'785S Main Dr W',785,'S',NULL,'Main','Dr','W',NULL,NULL,NULL,NULL,'Hospers',1,1014,NULL,'51238',NULL,1228,43.072732,-95.89855,0,NULL,NULL,NULL),
- (10,7,1,1,0,'102P Caulder Ln SE',102,'P',NULL,'Caulder','Ln','SE',NULL,NULL,NULL,NULL,'Karlsruhe',1,1033,NULL,'58744',NULL,1228,48.102064,-100.61537,0,NULL,NULL,NULL),
- (11,111,1,1,0,'291O Main Ln E',291,'O',NULL,'Main','Ln','E',NULL,NULL,NULL,NULL,'Madison',1,1048,NULL,'53794',NULL,1228,43.06956,-89.423861,0,NULL,NULL,NULL),
- (12,9,1,1,0,'50K El Camino Ave W',50,'K',NULL,'El Camino','Ave','W',NULL,NULL,NULL,NULL,'Laingsburg',1,1021,NULL,'48848',NULL,1228,42.884921,-84.3569,0,NULL,NULL,NULL),
- (13,147,1,1,0,'374X Pine Way S',374,'X',NULL,'Pine','Way','S',NULL,NULL,NULL,NULL,'Greenville',1,1031,NULL,'12083',NULL,1228,42.430684,-74.03728,0,NULL,NULL,NULL),
- (14,130,1,1,0,'69B Cadell Dr SW',69,'B',NULL,'Cadell','Dr','SW',NULL,NULL,NULL,NULL,'Pageton',1,1047,NULL,'24871',NULL,1228,37.325163,-81.47554,0,NULL,NULL,NULL),
- (15,15,1,1,0,'316T Dowlen Ave SW',316,'T',NULL,'Dowlen','Ave','SW',NULL,NULL,NULL,NULL,'White Earth',1,1022,NULL,'56591',NULL,1228,46.933961,-95.678375,0,NULL,NULL,NULL),
- (16,106,1,1,0,'734D Dowlen Rd NW',734,'D',NULL,'Dowlen','Rd','NW',NULL,NULL,NULL,NULL,'Bentonville',1,1003,NULL,'72712',NULL,1228,36.362525,-94.23308,0,NULL,NULL,NULL),
- (17,112,1,1,0,'225Q Woodbridge Path E',225,'Q',NULL,'Woodbridge','Path','E',NULL,NULL,NULL,NULL,'Dover Foxcroft',1,1018,NULL,'04426',NULL,1228,45.195052,-69.18861,0,NULL,NULL,NULL),
- (18,171,1,1,0,'93I Lincoln Blvd E',93,'I',NULL,'Lincoln','Blvd','E',NULL,NULL,NULL,NULL,'Millport',1,1000,NULL,'35576',NULL,1228,33.581135,-88.10835,0,NULL,NULL,NULL),
- (19,157,1,1,0,'33C Dowlen Dr W',33,'C',NULL,'Dowlen','Dr','W',NULL,NULL,NULL,NULL,'Pittsburgh',1,1037,NULL,'15268',NULL,1228,40.434436,-80.024817,0,NULL,NULL,NULL),
- (20,128,1,1,0,'749A College Dr NW',749,'A',NULL,'College','Dr','NW',NULL,NULL,NULL,NULL,'Manila',1,1003,NULL,'72442',NULL,1228,35.83821,-90.17029,0,NULL,NULL,NULL),
- (21,84,1,1,0,'754O Dowlen Ln SE',754,'O',NULL,'Dowlen','Ln','SE',NULL,NULL,NULL,NULL,'Fargo',1,1033,NULL,'58104',NULL,1228,46.812118,-96.839,0,NULL,NULL,NULL),
- (22,180,1,1,0,'820P Cadell Dr NW',820,'P',NULL,'Cadell','Dr','NW',NULL,NULL,NULL,NULL,'Herrin',1,1012,NULL,'62648',NULL,1228,37.803216,-89.058643,0,NULL,NULL,NULL),
- (23,118,1,1,0,'682J Beech Ave S',682,'J',NULL,'Beech','Ave','S',NULL,NULL,NULL,NULL,'McCrory',1,1003,NULL,'72189',NULL,1228,35.179148,-91.259428,0,NULL,NULL,NULL),
- (24,61,1,1,0,'901Z Dowlen Pl NW',901,'Z',NULL,'Dowlen','Pl','NW',NULL,NULL,NULL,NULL,'Mount Sterling',1,1048,NULL,'54645',NULL,1228,43.31493,-90.9287,0,NULL,NULL,NULL),
- (25,174,1,1,0,'687R Beech Dr NE',687,'R',NULL,'Beech','Dr','NE',NULL,NULL,NULL,NULL,'Edwards',1,1023,NULL,'39066',NULL,1228,32.295098,-90.60286,0,NULL,NULL,NULL),
- (26,107,1,1,0,'869V Woodbridge Rd NE',869,'V',NULL,'Woodbridge','Rd','NE',NULL,NULL,NULL,NULL,'Dayton',1,1034,NULL,'45402',NULL,1228,39.757758,-84.18848,0,NULL,NULL,NULL),
- (27,80,1,1,0,'833I Second Ave S',833,'I',NULL,'Second','Ave','S',NULL,NULL,NULL,NULL,'Rapidan',1,1045,NULL,'22733',NULL,1228,38.324175,-78.05877,0,NULL,NULL,NULL),
- (28,198,1,1,0,'106M Dowlen Ave E',106,'M',NULL,'Dowlen','Ave','E',NULL,NULL,NULL,NULL,'Detroit',1,1021,NULL,'48231',NULL,1228,42.239933,-83.150823,0,NULL,NULL,NULL),
- (29,149,1,1,0,'326Y El Camino Way NE',326,'Y',NULL,'El Camino','Way','NE',NULL,NULL,NULL,NULL,'Madison',1,1048,NULL,'53787',NULL,1228,43.06956,-89.423861,0,NULL,NULL,NULL),
- (30,96,1,1,0,'789X College Way NW',789,'X',NULL,'College','Way','NW',NULL,NULL,NULL,NULL,'Hancock',1,1018,NULL,'04640',NULL,1228,44.524526,-68.28298,0,NULL,NULL,NULL),
- (31,188,1,1,0,'152O Pine Ave NW',152,'O',NULL,'Pine','Ave','NW',NULL,NULL,NULL,NULL,'Sauquoit',1,1031,NULL,'13456',NULL,1228,43.005669,-75.26202,0,NULL,NULL,NULL),
- (32,97,1,1,0,'471W Northpoint Path SW',471,'W',NULL,'Northpoint','Path','SW',NULL,NULL,NULL,NULL,'Storrie',1,1004,NULL,'95980',NULL,1228,39.918503,-121.337404,0,NULL,NULL,NULL),
- (33,4,1,1,0,'171J Van Ness Pl SE',171,'J',NULL,'Van Ness','Pl','SE',NULL,NULL,NULL,NULL,'Juana Diaz',1,1056,NULL,'00795',NULL,1228,18.036253,-66.50289,0,NULL,NULL,NULL),
- (34,49,1,1,0,'400X Van Ness Blvd N',400,'X',NULL,'Van Ness','Blvd','N',NULL,NULL,NULL,NULL,'Lakeside',1,1025,NULL,'59922',NULL,1228,48.005656,-114.24184,0,NULL,NULL,NULL),
- (35,68,1,1,0,'403T Van Ness Ave E',403,'T',NULL,'Van Ness','Ave','E',NULL,NULL,NULL,NULL,'Lincoln',1,1030,NULL,'88338',NULL,1228,33.479136,-105.35812,0,NULL,NULL,NULL),
- (36,63,1,1,0,'49Q Caulder Dr NE',49,'Q',NULL,'Caulder','Dr','NE',NULL,NULL,NULL,NULL,'Spring',1,1042,NULL,'77379',NULL,1228,30.024749,-95.53215,0,NULL,NULL,NULL),
- (37,92,1,1,0,'676P Beech Rd N',676,'P',NULL,'Beech','Rd','N',NULL,NULL,NULL,NULL,'Locust Grove',1,1035,NULL,'74352',NULL,1228,36.148065,-95.16801,0,NULL,NULL,NULL),
- (38,138,1,1,0,'985J Jackson Dr E',985,'J',NULL,'Jackson','Dr','E',NULL,NULL,NULL,NULL,'Washington',1,1050,NULL,'20350',NULL,1228,38.893311,-77.014647,0,NULL,NULL,NULL),
- (39,83,1,1,0,'827T States Ln SE',827,'T',NULL,'States','Ln','SE',NULL,NULL,NULL,NULL,'Lamont',1,1021,NULL,'49430',NULL,1228,43.010337,-85.89754,0,NULL,NULL,NULL),
- (40,13,1,1,0,'54P Northpoint Blvd SW',54,'P',NULL,'Northpoint','Blvd','SW',NULL,NULL,NULL,NULL,'Paradis',1,1017,NULL,'70080',NULL,1228,29.878373,-90.43063,0,NULL,NULL,NULL),
- (41,98,1,1,0,'539Z Second St SW',539,'Z',NULL,'Second','St','SW',NULL,NULL,NULL,NULL,'Zavalla',1,1042,NULL,'75980',NULL,1228,31.154673,-94.363,0,NULL,NULL,NULL),
- (42,103,1,1,0,'786W Jackson Ln SW',786,'W',NULL,'Jackson','Ln','SW',NULL,NULL,NULL,NULL,'Everton',1,1003,NULL,'72633',NULL,1228,36.150276,-92.89576,0,NULL,NULL,NULL),
- (43,105,1,1,0,'236Q Caulder Way SE',236,'Q',NULL,'Caulder','Way','SE',NULL,NULL,NULL,NULL,'Chambersburg',1,1012,NULL,'62323',NULL,1228,39.817702,-90.66923,0,NULL,NULL,NULL),
- (44,183,1,1,0,'468S Woodbridge Dr NE',468,'S',NULL,'Woodbridge','Dr','NE',NULL,NULL,NULL,NULL,'Van Nuys',1,1004,NULL,'91482',NULL,1228,33.786594,-118.298662,0,NULL,NULL,NULL),
- (45,119,1,1,0,'13X Bay Ave SW',13,'X',NULL,'Bay','Ave','SW',NULL,NULL,NULL,NULL,'Norwood',1,1031,NULL,'13668',NULL,1228,44.752355,-74.98906,0,NULL,NULL,NULL),
- (46,20,1,1,0,'997N Woodbridge Way N',997,'N',NULL,'Woodbridge','Way','N',NULL,NULL,NULL,NULL,'Dwight',1,1015,NULL,'66849',NULL,1228,38.877563,-96.58981,0,NULL,NULL,NULL),
- (47,161,1,1,0,'307V Cadell Path S',307,'V',NULL,'Cadell','Path','S',NULL,NULL,NULL,NULL,'Luning',1,1027,NULL,'89420',NULL,1228,38.555308,-118.21818,0,NULL,NULL,NULL),
- (48,44,1,1,0,'727I Van Ness Dr S',727,'I',NULL,'Van Ness','Dr','S',NULL,NULL,NULL,NULL,'Madison',1,1048,NULL,'53787',NULL,1228,43.06956,-89.423861,0,NULL,NULL,NULL),
- (49,201,1,1,0,'556E Second Path E',556,'E',NULL,'Second','Path','E',NULL,NULL,NULL,NULL,'Coats',1,1015,NULL,'67028',NULL,1228,37.469499,-98.93543,0,NULL,NULL,NULL),
- (50,124,1,1,0,'292S Green Path S',292,'S',NULL,'Green','Path','S',NULL,NULL,NULL,NULL,'Palestine',1,1042,NULL,'75803',NULL,1228,31.760418,-95.656779,0,NULL,NULL,NULL),
- (51,151,1,1,0,'905W Cadell St W',905,'W',NULL,'Cadell','St','W',NULL,NULL,NULL,NULL,'Brooksville',1,1008,NULL,'34610',NULL,1228,28.397791,-82.53084,0,NULL,NULL,NULL),
- (52,90,1,1,0,'733X Caulder Ln SE',733,'X',NULL,'Caulder','Ln','SE',NULL,NULL,NULL,NULL,'Alabaster',1,1000,NULL,'35007',NULL,1228,33.232422,-86.80871,0,NULL,NULL,NULL),
- (53,78,1,1,0,'79S Lincoln Ave SE',79,'S',NULL,'Lincoln','Ave','SE',NULL,NULL,NULL,NULL,'Flint',1,1021,NULL,'48550',NULL,1228,43.034927,-83.688706,0,NULL,NULL,NULL),
- (54,131,1,1,0,'702I Cadell Pl N',702,'I',NULL,'Cadell','Pl','N',NULL,NULL,NULL,NULL,'New Britain',1,1006,NULL,'06052',NULL,1228,41.659099,-72.80129,0,NULL,NULL,NULL),
- (55,32,1,1,0,'79L Caulder Rd W',79,'L',NULL,'Caulder','Rd','W',NULL,NULL,NULL,NULL,'Chattahoochee',1,1008,NULL,'32324',NULL,1228,30.687983,-84.8218,0,NULL,NULL,NULL),
- (56,132,1,1,0,'810I Cadell Ave NE',810,'I',NULL,'Cadell','Ave','NE',NULL,NULL,NULL,NULL,'Sioux Falls',1,1040,NULL,'57196',NULL,1228,43.674582,-96.79134,0,NULL,NULL,NULL),
- (57,153,1,1,0,'47H College Ave NW',47,'H',NULL,'College','Ave','NW',NULL,NULL,NULL,NULL,'South Shore',1,1016,NULL,'41175',NULL,1228,38.676695,-82.9686,0,NULL,NULL,NULL),
- (58,37,1,1,0,'316W El Camino Way NE',316,'W',NULL,'El Camino','Way','NE',NULL,NULL,NULL,NULL,'Glenwood',1,1012,NULL,'60425',NULL,1228,41.544584,-87.61289,0,NULL,NULL,NULL),
- (59,169,1,1,0,'13D Caulder Ln S',13,'D',NULL,'Caulder','Ln','S',NULL,NULL,NULL,NULL,'Mobile',1,1000,NULL,'36695',NULL,1228,30.646415,-88.23657,0,NULL,NULL,NULL),
- (60,67,1,1,0,'4B Lincoln Ln S',4,'B',NULL,'Lincoln','Ln','S',NULL,NULL,NULL,NULL,'Elizabeth City',1,1032,NULL,'27907',NULL,1228,36.285026,-76.255312,0,NULL,NULL,NULL),
- (61,94,1,1,0,'208V Pine Pl E',208,'V',NULL,'Pine','Pl','E',NULL,NULL,NULL,NULL,'Sandy',1,1043,NULL,'84070',NULL,1228,40.581595,-111.88821,0,NULL,NULL,NULL),
- (62,129,1,1,0,'920P Caulder Path S',920,'P',NULL,'Caulder','Path','S',NULL,NULL,NULL,NULL,'Perry',1,1040,NULL,'57309',NULL,1228,43.383541,-96.806422,0,NULL,NULL,NULL),
- (63,25,1,1,0,'408O Beech Path S',408,'O',NULL,'Beech','Path','S',NULL,NULL,NULL,NULL,'Crawfordville',1,1009,NULL,'30631',NULL,1228,33.570317,-82.88542,0,NULL,NULL,NULL),
- (64,10,1,1,0,'581S Bay Ln N',581,'S',NULL,'Bay','Ln','N',NULL,NULL,NULL,NULL,'Woodland',1,1048,NULL,'53099',NULL,1228,43.414202,-88.704914,0,NULL,NULL,NULL),
- (65,43,1,1,0,'24H States Path S',24,'H',NULL,'States','Path','S',NULL,NULL,NULL,NULL,'Allensville',1,1016,NULL,'42204',NULL,1228,36.70996,-87.07105,0,NULL,NULL,NULL),
- (66,141,1,1,0,'608F Woodbridge Pl NE',608,'F',NULL,'Woodbridge','Pl','NE',NULL,NULL,NULL,NULL,'Brownell',1,1015,NULL,'67521',NULL,1228,38.618706,-99.74865,0,NULL,NULL,NULL),
- (67,177,1,1,0,'227K Woodbridge St S',227,'K',NULL,'Woodbridge','St','S',NULL,NULL,NULL,NULL,'Brookfield',1,1012,NULL,'60513',NULL,1228,41.822681,-87.84753,0,NULL,NULL,NULL),
- (68,116,3,1,0,'96U States St E',96,'U',NULL,'States','St','E',NULL,'Cuffe Parade',NULL,NULL,'Bradley',1,1003,NULL,'71826',NULL,1228,33.102083,-93.67372,0,NULL,NULL,NULL),
- (69,17,3,1,0,'887G Lincoln Ln SW',887,'G',NULL,'Lincoln','Ln','SW',NULL,'Subscriptions Dept',NULL,NULL,'Kinsman',1,1034,NULL,'44428',NULL,1228,41.443358,-80.58862,0,NULL,NULL,NULL),
- (70,19,2,1,0,'887G Lincoln Ln SW',887,'G',NULL,'Lincoln','Ln','SW',NULL,'Subscriptions Dept',NULL,NULL,'Kinsman',1,1034,NULL,'44428',NULL,1228,41.443358,-80.58862,0,NULL,NULL,69),
- (71,115,3,1,0,'376N Maple Ln NW',376,'N',NULL,'Maple','Ln','NW',NULL,'Receiving',NULL,NULL,'Inkster',1,1033,NULL,'58244',NULL,1228,48.144073,-97.63321,0,NULL,NULL,NULL),
- (72,136,2,1,0,'376N Maple Ln NW',376,'N',NULL,'Maple','Ln','NW',NULL,'Receiving',NULL,NULL,'Inkster',1,1033,NULL,'58244',NULL,1228,48.144073,-97.63321,0,NULL,NULL,71),
- (73,102,3,1,0,'806Q States Path NW',806,'Q',NULL,'States','Path','NW',NULL,'Receiving',NULL,NULL,'Caguas',1,1056,NULL,'00625',NULL,1228,18.232109,-66.039087,0,NULL,NULL,NULL),
- (74,76,2,0,0,'806Q States Path NW',806,'Q',NULL,'States','Path','NW',NULL,'Receiving',NULL,NULL,'Caguas',1,1056,NULL,'00625',NULL,1228,18.232109,-66.039087,0,NULL,NULL,73),
- (75,187,3,1,0,'511K Cadell Path NE',511,'K',NULL,'Cadell','Path','NE',NULL,'Community Relations',NULL,NULL,'Libby',1,1025,NULL,'59923',NULL,1228,48.309374,-115.3286,0,NULL,NULL,NULL),
- (76,195,3,1,0,'899O Van Ness Pl N',899,'O',NULL,'Van Ness','Pl','N',NULL,'Editorial Dept',NULL,NULL,'Watertown',1,1031,NULL,'13603',NULL,1228,44.030204,-75.81845,0,NULL,NULL,NULL),
- (77,28,2,1,0,'899O Van Ness Pl N',899,'O',NULL,'Van Ness','Pl','N',NULL,'Editorial Dept',NULL,NULL,'Watertown',1,1031,NULL,'13603',NULL,1228,44.030204,-75.81845,0,NULL,NULL,76),
- (78,101,3,1,0,'161F Van Ness Blvd NW',161,'F',NULL,'Van Ness','Blvd','NW',NULL,'Community Relations',NULL,NULL,'Orlando',1,1008,NULL,'32867',NULL,1228,28.566338,-81.260818,0,NULL,NULL,NULL),
- (79,98,2,0,0,'161F Van Ness Blvd NW',161,'F',NULL,'Van Ness','Blvd','NW',NULL,'Community Relations',NULL,NULL,'Orlando',1,1008,NULL,'32867',NULL,1228,28.566338,-81.260818,0,NULL,NULL,78),
- (80,21,3,1,0,'181Y College Dr NE',181,'Y',NULL,'College','Dr','NE',NULL,'Receiving',NULL,NULL,'Crosslake',1,1022,NULL,'56442',NULL,1228,46.67066,-94.10686,0,NULL,NULL,NULL),
- (81,126,2,1,0,'181Y College Dr NE',181,'Y',NULL,'College','Dr','NE',NULL,'Receiving',NULL,NULL,'Crosslake',1,1022,NULL,'56442',NULL,1228,46.67066,-94.10686,0,NULL,NULL,80),
- (82,18,3,1,0,'743C Van Ness Dr SW',743,'C',NULL,'Van Ness','Dr','SW',NULL,'Community Relations',NULL,NULL,'Delphos',1,1034,NULL,'45833',NULL,1228,40.841409,-84.34178,0,NULL,NULL,NULL),
- (83,36,2,1,0,'743C Van Ness Dr SW',743,'C',NULL,'Van Ness','Dr','SW',NULL,'Community Relations',NULL,NULL,'Delphos',1,1034,NULL,'45833',NULL,1228,40.841409,-84.34178,0,NULL,NULL,82),
- (84,109,3,1,0,'71Y Main Ave S',71,'Y',NULL,'Main','Ave','S',NULL,'Community Relations',NULL,NULL,'El Paso',1,1042,NULL,'88550',NULL,1228,31.694842,-106.299987,0,NULL,NULL,NULL),
- (85,155,2,1,0,'71Y Main Ave S',71,'Y',NULL,'Main','Ave','S',NULL,'Community Relations',NULL,NULL,'El Paso',1,1042,NULL,'88550',NULL,1228,31.694842,-106.299987,0,NULL,NULL,84),
- (86,93,3,1,0,'192I Woodbridge Path NW',192,'I',NULL,'Woodbridge','Path','NW',NULL,'c/o OPDC',NULL,NULL,'Sanibel',1,1008,NULL,'33957',NULL,1228,26.439608,-82.08045,0,NULL,NULL,NULL),
- (87,135,2,1,0,'192I Woodbridge Path NW',192,'I',NULL,'Woodbridge','Path','NW',NULL,'c/o OPDC',NULL,NULL,'Sanibel',1,1008,NULL,'33957',NULL,1228,26.439608,-82.08045,0,NULL,NULL,86),
- (88,33,3,1,0,'658M Bay St NW',658,'M',NULL,'Bay','St','NW',NULL,'c/o PO Plus',NULL,NULL,'Oakesdale',1,1046,NULL,'99158',NULL,1228,47.136249,-117.25463,0,NULL,NULL,NULL),
- (89,166,3,1,0,'25A Main Ln W',25,'A',NULL,'Main','Ln','W',NULL,'Attn: Development',NULL,NULL,'Tolley',1,1033,NULL,'58787',NULL,1228,48.76715,-101.81935,0,NULL,NULL,NULL),
- (90,56,3,1,0,'772G Woodbridge Rd SE',772,'G',NULL,'Woodbridge','Rd','SE',NULL,'Churchgate',NULL,NULL,'Los Angeles',1,1004,NULL,'90102',NULL,1228,33.786594,-118.298662,0,NULL,NULL,NULL),
- (91,178,3,1,0,'684A Northpoint St SE',684,'A',NULL,'Northpoint','St','SE',NULL,'Editorial Dept',NULL,NULL,'Kulpsville',1,1037,NULL,'19443',NULL,1228,40.241004,-75.34392,0,NULL,NULL,NULL),
- (92,184,3,1,0,'80X Bay Dr NE',80,'X',NULL,'Bay','Dr','NE',NULL,'Subscriptions Dept',NULL,NULL,'Carlinville',1,1012,NULL,'62626',NULL,1228,39.280289,-89.8757,0,NULL,NULL,NULL),
- (93,11,3,1,0,'997G Northpoint Blvd NW',997,'G',NULL,'Northpoint','Blvd','NW',NULL,'Attn: Accounting',NULL,NULL,'Padroni',1,1005,NULL,'80745',NULL,1228,40.825947,-103.27669,0,NULL,NULL,NULL),
- (94,173,3,1,0,'899M Beech Rd NW',899,'M',NULL,'Beech','Rd','NW',NULL,'Urgent',NULL,NULL,'Alcova',1,1049,NULL,'82620',NULL,1228,42.65723,-107.12523,0,NULL,NULL,NULL),
- (95,86,2,1,0,'899M Beech Rd NW',899,'M',NULL,'Beech','Rd','NW',NULL,'Urgent',NULL,NULL,'Alcova',1,1049,NULL,'82620',NULL,1228,42.65723,-107.12523,0,NULL,NULL,94),
- (96,120,3,1,0,'522Y Van Ness Ave W',522,'Y',NULL,'Van Ness','Ave','W',NULL,'Attn: Accounting',NULL,NULL,'Passadumkeag',1,1018,NULL,'04475',NULL,1228,45.191812,-68.58953,0,NULL,NULL,NULL),
- (97,96,2,0,0,'522Y Van Ness Ave W',522,'Y',NULL,'Van Ness','Ave','W',NULL,'Attn: Accounting',NULL,NULL,'Passadumkeag',1,1018,NULL,'04475',NULL,1228,45.191812,-68.58953,0,NULL,NULL,96),
- (98,42,3,1,0,'464Q Van Ness Ln SW',464,'Q',NULL,'Van Ness','Ln','SW',NULL,'Donor Relations',NULL,NULL,'Waggoner',1,1012,NULL,'62572',NULL,1228,39.370091,-89.67132,0,NULL,NULL,NULL),
- (99,110,1,1,0,'727I Van Ness Dr S',727,'I',NULL,'Van Ness','Dr','S',NULL,NULL,NULL,NULL,'Madison',1,1048,NULL,'53787',NULL,1228,43.06956,-89.423861,0,NULL,NULL,48),
- (100,121,1,1,0,'727I Van Ness Dr S',727,'I',NULL,'Van Ness','Dr','S',NULL,NULL,NULL,NULL,'Madison',1,1048,NULL,'53787',NULL,1228,43.06956,-89.423861,0,NULL,NULL,48),
- (101,122,1,1,0,'727I Van Ness Dr S',727,'I',NULL,'Van Ness','Dr','S',NULL,NULL,NULL,NULL,'Madison',1,1048,NULL,'53787',NULL,1228,43.06956,-89.423861,0,NULL,NULL,48),
- (102,35,1,1,0,'595E Maple Blvd SW',595,'E',NULL,'Maple','Blvd','SW',NULL,NULL,NULL,NULL,'Meade',1,1015,NULL,'67864',NULL,1228,37.21313,-100.34464,0,NULL,NULL,NULL),
- (103,143,1,1,0,'556E Second Path E',556,'E',NULL,'Second','Path','E',NULL,NULL,NULL,NULL,'Coats',1,1015,NULL,'67028',NULL,1228,37.469499,-98.93543,0,NULL,NULL,49),
- (104,52,1,1,0,'556E Second Path E',556,'E',NULL,'Second','Path','E',NULL,NULL,NULL,NULL,'Coats',1,1015,NULL,'67028',NULL,1228,37.469499,-98.93543,0,NULL,NULL,49),
- (105,50,1,1,0,'556E Second Path E',556,'E',NULL,'Second','Path','E',NULL,NULL,NULL,NULL,'Coats',1,1015,NULL,'67028',NULL,1228,37.469499,-98.93543,0,NULL,NULL,49),
- (106,156,1,1,0,'949M Beech Path NE',949,'M',NULL,'Beech','Path','NE',NULL,NULL,NULL,NULL,'Herndon',1,1045,NULL,'22092',NULL,1228,38.831813,-77.288755,0,NULL,NULL,NULL),
- (107,82,1,1,0,'292S Green Path S',292,'S',NULL,'Green','Path','S',NULL,NULL,NULL,NULL,'Palestine',1,1042,NULL,'75803',NULL,1228,31.760418,-95.656779,0,NULL,NULL,50),
- (108,165,1,1,0,'292S Green Path S',292,'S',NULL,'Green','Path','S',NULL,NULL,NULL,NULL,'Palestine',1,1042,NULL,'75803',NULL,1228,31.760418,-95.656779,0,NULL,NULL,50),
- (109,127,1,1,0,'292S Green Path S',292,'S',NULL,'Green','Path','S',NULL,NULL,NULL,NULL,'Palestine',1,1042,NULL,'75803',NULL,1228,31.760418,-95.656779,0,NULL,NULL,50),
- (110,146,1,1,0,'712S Cadell Dr S',712,'S',NULL,'Cadell','Dr','S',NULL,NULL,NULL,NULL,'Williston',1,1033,NULL,'58801',NULL,1228,48.20496,-103.71908,0,NULL,NULL,NULL),
- (111,59,1,1,0,'905W Cadell St W',905,'W',NULL,'Cadell','St','W',NULL,NULL,NULL,NULL,'Brooksville',1,1008,NULL,'34610',NULL,1228,28.397791,-82.53084,0,NULL,NULL,51),
- (112,72,1,1,0,'905W Cadell St W',905,'W',NULL,'Cadell','St','W',NULL,NULL,NULL,NULL,'Brooksville',1,1008,NULL,'34610',NULL,1228,28.397791,-82.53084,0,NULL,NULL,51),
- (113,108,1,1,0,'905W Cadell St W',905,'W',NULL,'Cadell','St','W',NULL,NULL,NULL,NULL,'Brooksville',1,1008,NULL,'34610',NULL,1228,28.397791,-82.53084,0,NULL,NULL,51),
- (114,190,1,1,0,'905W Cadell St W',905,'W',NULL,'Cadell','St','W',NULL,NULL,NULL,NULL,'Brooksville',1,1008,NULL,'34610',NULL,1228,28.397791,-82.53084,0,NULL,NULL,51),
- (115,65,1,1,0,'733X Caulder Ln SE',733,'X',NULL,'Caulder','Ln','SE',NULL,NULL,NULL,NULL,'Alabaster',1,1000,NULL,'35007',NULL,1228,33.232422,-86.80871,0,NULL,NULL,52),
- (116,189,1,1,0,'733X Caulder Ln SE',733,'X',NULL,'Caulder','Ln','SE',NULL,NULL,NULL,NULL,'Alabaster',1,1000,NULL,'35007',NULL,1228,33.232422,-86.80871,0,NULL,NULL,52),
- (117,88,1,1,0,'733X Caulder Ln SE',733,'X',NULL,'Caulder','Ln','SE',NULL,NULL,NULL,NULL,'Alabaster',1,1000,NULL,'35007',NULL,1228,33.232422,-86.80871,0,NULL,NULL,52),
- (118,81,1,1,0,'823Y Caulder Way SE',823,'Y',NULL,'Caulder','Way','SE',NULL,NULL,NULL,NULL,'Honolulu',1,1010,NULL,'96845',NULL,1228,24.859832,-168.021815,0,NULL,NULL,NULL),
- (119,19,1,0,0,'79S Lincoln Ave SE',79,'S',NULL,'Lincoln','Ave','SE',NULL,NULL,NULL,NULL,'Flint',1,1021,NULL,'48550',NULL,1228,43.034927,-83.688706,0,NULL,NULL,53),
- (120,186,1,1,0,'79S Lincoln Ave SE',79,'S',NULL,'Lincoln','Ave','SE',NULL,NULL,NULL,NULL,'Flint',1,1021,NULL,'48550',NULL,1228,43.034927,-83.688706,0,NULL,NULL,53),
- (121,136,1,0,0,'79S Lincoln Ave SE',79,'S',NULL,'Lincoln','Ave','SE',NULL,NULL,NULL,NULL,'Flint',1,1021,NULL,'48550',NULL,1228,43.034927,-83.688706,0,NULL,NULL,53),
- (122,196,1,1,0,'79S Lincoln Ave SE',79,'S',NULL,'Lincoln','Ave','SE',NULL,NULL,NULL,NULL,'Flint',1,1021,NULL,'48550',NULL,1228,43.034927,-83.688706,0,NULL,NULL,53),
- (123,154,1,1,0,'702I Cadell Pl N',702,'I',NULL,'Cadell','Pl','N',NULL,NULL,NULL,NULL,'New Britain',1,1006,NULL,'06052',NULL,1228,41.659099,-72.80129,0,NULL,NULL,54),
- (124,176,1,1,0,'702I Cadell Pl N',702,'I',NULL,'Cadell','Pl','N',NULL,NULL,NULL,NULL,'New Britain',1,1006,NULL,'06052',NULL,1228,41.659099,-72.80129,0,NULL,NULL,54),
- (125,77,1,1,0,'702I Cadell Pl N',702,'I',NULL,'Cadell','Pl','N',NULL,NULL,NULL,NULL,'New Britain',1,1006,NULL,'06052',NULL,1228,41.659099,-72.80129,0,NULL,NULL,54),
- (126,134,1,1,0,'702I Cadell Pl N',702,'I',NULL,'Cadell','Pl','N',NULL,NULL,NULL,NULL,'New Britain',1,1006,NULL,'06052',NULL,1228,41.659099,-72.80129,0,NULL,NULL,54),
- (127,27,1,1,0,'79L Caulder Rd W',79,'L',NULL,'Caulder','Rd','W',NULL,NULL,NULL,NULL,'Chattahoochee',1,1008,NULL,'32324',NULL,1228,30.687983,-84.8218,0,NULL,NULL,55),
- (128,47,1,1,0,'79L Caulder Rd W',79,'L',NULL,'Caulder','Rd','W',NULL,NULL,NULL,NULL,'Chattahoochee',1,1008,NULL,'32324',NULL,1228,30.687983,-84.8218,0,NULL,NULL,55),
- (129,55,1,1,0,'79L Caulder Rd W',79,'L',NULL,'Caulder','Rd','W',NULL,NULL,NULL,NULL,'Chattahoochee',1,1008,NULL,'32324',NULL,1228,30.687983,-84.8218,0,NULL,NULL,55),
- (130,193,1,1,0,'8Q Maple Pl NW',8,'Q',NULL,'Maple','Pl','NW',NULL,NULL,NULL,NULL,'Centuria',1,1048,NULL,'54824',NULL,1228,45.454867,-92.52701,0,NULL,NULL,NULL),
- (131,53,1,1,0,'810I Cadell Ave NE',810,'I',NULL,'Cadell','Ave','NE',NULL,NULL,NULL,NULL,'Sioux Falls',1,1040,NULL,'57196',NULL,1228,43.674582,-96.79134,0,NULL,NULL,56),
- (132,114,1,1,0,'810I Cadell Ave NE',810,'I',NULL,'Cadell','Ave','NE',NULL,NULL,NULL,NULL,'Sioux Falls',1,1040,NULL,'57196',NULL,1228,43.674582,-96.79134,0,NULL,NULL,56),
- (133,125,1,1,0,'810I Cadell Ave NE',810,'I',NULL,'Cadell','Ave','NE',NULL,NULL,NULL,NULL,'Sioux Falls',1,1040,NULL,'57196',NULL,1228,43.674582,-96.79134,0,NULL,NULL,56),
- (134,182,1,1,0,'573Z Dowlen St S',573,'Z',NULL,'Dowlen','St','S',NULL,NULL,NULL,NULL,'Battleboro',1,1032,NULL,'27809',NULL,1228,36.032405,-77.78636,0,NULL,NULL,NULL),
- (135,24,1,1,0,'47H College Ave NW',47,'H',NULL,'College','Ave','NW',NULL,NULL,NULL,NULL,'South Shore',1,1016,NULL,'41175',NULL,1228,38.676695,-82.9686,0,NULL,NULL,57),
- (136,85,1,1,0,'47H College Ave NW',47,'H',NULL,'College','Ave','NW',NULL,NULL,NULL,NULL,'South Shore',1,1016,NULL,'41175',NULL,1228,38.676695,-82.9686,0,NULL,NULL,57),
- (137,133,1,1,0,'47H College Ave NW',47,'H',NULL,'College','Ave','NW',NULL,NULL,NULL,NULL,'South Shore',1,1016,NULL,'41175',NULL,1228,38.676695,-82.9686,0,NULL,NULL,57),
- (138,139,1,1,0,'724W Beech Blvd W',724,'W',NULL,'Beech','Blvd','W',NULL,NULL,NULL,NULL,'Fort Wainwright',1,1001,NULL,'99703',NULL,1228,64.827164,-147.6265,0,NULL,NULL,NULL),
- (139,123,1,1,0,'316W El Camino Way NE',316,'W',NULL,'El Camino','Way','NE',NULL,NULL,NULL,NULL,'Glenwood',1,1012,NULL,'60425',NULL,1228,41.544584,-87.61289,0,NULL,NULL,58),
- (140,87,1,1,0,'316W El Camino Way NE',316,'W',NULL,'El Camino','Way','NE',NULL,NULL,NULL,NULL,'Glenwood',1,1012,NULL,'60425',NULL,1228,41.544584,-87.61289,0,NULL,NULL,58),
- (141,86,1,0,0,'316W El Camino Way NE',316,'W',NULL,'El Camino','Way','NE',NULL,NULL,NULL,NULL,'Glenwood',1,1012,NULL,'60425',NULL,1228,41.544584,-87.61289,0,NULL,NULL,58),
- (142,155,1,0,0,'316W El Camino Way NE',316,'W',NULL,'El Camino','Way','NE',NULL,NULL,NULL,NULL,'Glenwood',1,1012,NULL,'60425',NULL,1228,41.544584,-87.61289,0,NULL,NULL,58),
- (143,117,1,1,0,'13D Caulder Ln S',13,'D',NULL,'Caulder','Ln','S',NULL,NULL,NULL,NULL,'Mobile',1,1000,NULL,'36695',NULL,1228,30.646415,-88.23657,0,NULL,NULL,59),
- (144,16,1,1,0,'13D Caulder Ln S',13,'D',NULL,'Caulder','Ln','S',NULL,NULL,NULL,NULL,'Mobile',1,1000,NULL,'36695',NULL,1228,30.646415,-88.23657,0,NULL,NULL,59),
- (145,26,1,1,0,'13D Caulder Ln S',13,'D',NULL,'Caulder','Ln','S',NULL,NULL,NULL,NULL,'Mobile',1,1000,NULL,'36695',NULL,1228,30.646415,-88.23657,0,NULL,NULL,59),
- (146,75,1,1,0,'618M College Blvd N',618,'M',NULL,'College','Blvd','N',NULL,NULL,NULL,NULL,'New Auburn',1,1022,NULL,'55366',NULL,1228,44.673454,-94.229311,0,NULL,NULL,NULL),
- (147,36,1,0,0,'4B Lincoln Ln S',4,'B',NULL,'Lincoln','Ln','S',NULL,NULL,NULL,NULL,'Elizabeth City',1,1032,NULL,'27907',NULL,1228,36.285026,-76.255312,0,NULL,NULL,60),
- (148,181,1,1,0,'4B Lincoln Ln S',4,'B',NULL,'Lincoln','Ln','S',NULL,NULL,NULL,NULL,'Elizabeth City',1,1032,NULL,'27907',NULL,1228,36.285026,-76.255312,0,NULL,NULL,60),
- (149,199,1,1,0,'4B Lincoln Ln S',4,'B',NULL,'Lincoln','Ln','S',NULL,NULL,NULL,NULL,'Elizabeth City',1,1032,NULL,'27907',NULL,1228,36.285026,-76.255312,0,NULL,NULL,60),
- (150,6,1,1,0,'4B Lincoln Ln S',4,'B',NULL,'Lincoln','Ln','S',NULL,NULL,NULL,NULL,'Elizabeth City',1,1032,NULL,'27907',NULL,1228,36.285026,-76.255312,0,NULL,NULL,60),
- (151,31,1,1,0,'208V Pine Pl E',208,'V',NULL,'Pine','Pl','E',NULL,NULL,NULL,NULL,'Sandy',1,1043,NULL,'84070',NULL,1228,40.581595,-111.88821,0,NULL,NULL,61),
- (152,179,1,1,0,'208V Pine Pl E',208,'V',NULL,'Pine','Pl','E',NULL,NULL,NULL,NULL,'Sandy',1,1043,NULL,'84070',NULL,1228,40.581595,-111.88821,0,NULL,NULL,61),
- (153,145,1,1,0,'208V Pine Pl E',208,'V',NULL,'Pine','Pl','E',NULL,NULL,NULL,NULL,'Sandy',1,1043,NULL,'84070',NULL,1228,40.581595,-111.88821,0,NULL,NULL,61),
- (154,51,1,1,0,'208V Pine Pl E',208,'V',NULL,'Pine','Pl','E',NULL,NULL,NULL,NULL,'Sandy',1,1043,NULL,'84070',NULL,1228,40.581595,-111.88821,0,NULL,NULL,61),
- (155,74,1,1,0,'920P Caulder Path S',920,'P',NULL,'Caulder','Path','S',NULL,NULL,NULL,NULL,'Perry',1,1040,NULL,'57309',NULL,1228,43.383541,-96.806422,0,NULL,NULL,62),
- (156,41,1,1,0,'920P Caulder Path S',920,'P',NULL,'Caulder','Path','S',NULL,NULL,NULL,NULL,'Perry',1,1040,NULL,'57309',NULL,1228,43.383541,-96.806422,0,NULL,NULL,62),
- (157,28,1,0,0,'920P Caulder Path S',920,'P',NULL,'Caulder','Path','S',NULL,NULL,NULL,NULL,'Perry',1,1040,NULL,'57309',NULL,1228,43.383541,-96.806422,0,NULL,NULL,62),
- (158,163,1,1,0,'788D Van Ness St E',788,'D',NULL,'Van Ness','St','E',NULL,NULL,NULL,NULL,'Rockville',1,1019,NULL,'20848',NULL,1228,39.143979,-77.207617,0,NULL,NULL,NULL),
- (159,45,1,1,0,'408O Beech Path S',408,'O',NULL,'Beech','Path','S',NULL,NULL,NULL,NULL,'Crawfordville',1,1009,NULL,'30631',NULL,1228,33.570317,-82.88542,0,NULL,NULL,63),
- (160,8,1,1,0,'408O Beech Path S',408,'O',NULL,'Beech','Path','S',NULL,NULL,NULL,NULL,'Crawfordville',1,1009,NULL,'30631',NULL,1228,33.570317,-82.88542,0,NULL,NULL,63),
- (161,69,1,1,0,'408O Beech Path S',408,'O',NULL,'Beech','Path','S',NULL,NULL,NULL,NULL,'Crawfordville',1,1009,NULL,'30631',NULL,1228,33.570317,-82.88542,0,NULL,NULL,63),
- (162,191,1,1,0,'386Z Northpoint Blvd NW',386,'Z',NULL,'Northpoint','Blvd','NW',NULL,NULL,NULL,NULL,'Dupont',1,1005,NULL,'80024',NULL,1228,39.844685,-104.91851,0,NULL,NULL,NULL),
- (163,5,1,1,0,'581S Bay Ln N',581,'S',NULL,'Bay','Ln','N',NULL,NULL,NULL,NULL,'Woodland',1,1048,NULL,'53099',NULL,1228,43.414202,-88.704914,0,NULL,NULL,64),
- (164,152,1,1,0,'581S Bay Ln N',581,'S',NULL,'Bay','Ln','N',NULL,NULL,NULL,NULL,'Woodland',1,1048,NULL,'53099',NULL,1228,43.414202,-88.704914,0,NULL,NULL,64),
- (165,140,1,1,0,'581S Bay Ln N',581,'S',NULL,'Bay','Ln','N',NULL,NULL,NULL,NULL,'Woodland',1,1048,NULL,'53099',NULL,1228,43.414202,-88.704914,0,NULL,NULL,64),
- (166,159,1,1,0,'581S Bay Ln N',581,'S',NULL,'Bay','Ln','N',NULL,NULL,NULL,NULL,'Woodland',1,1048,NULL,'53099',NULL,1228,43.414202,-88.704914,0,NULL,NULL,64),
- (167,3,1,1,0,'24H States Path S',24,'H',NULL,'States','Path','S',NULL,NULL,NULL,NULL,'Allensville',1,1016,NULL,'42204',NULL,1228,36.70996,-87.07105,0,NULL,NULL,65),
- (168,22,1,1,0,'24H States Path S',24,'H',NULL,'States','Path','S',NULL,NULL,NULL,NULL,'Allensville',1,1016,NULL,'42204',NULL,1228,36.70996,-87.07105,0,NULL,NULL,65),
- (169,29,1,1,0,'24H States Path S',24,'H',NULL,'States','Path','S',NULL,NULL,NULL,NULL,'Allensville',1,1016,NULL,'42204',NULL,1228,36.70996,-87.07105,0,NULL,NULL,65),
- (170,99,1,1,0,'24H States Path S',24,'H',NULL,'States','Path','S',NULL,NULL,NULL,NULL,'Allensville',1,1016,NULL,'42204',NULL,1228,36.70996,-87.07105,0,NULL,NULL,65),
- (171,23,1,1,0,'608F Woodbridge Pl NE',608,'F',NULL,'Woodbridge','Pl','NE',NULL,NULL,NULL,NULL,'Brownell',1,1015,NULL,'67521',NULL,1228,38.618706,-99.74865,0,NULL,NULL,66),
- (172,175,1,1,0,'608F Woodbridge Pl NE',608,'F',NULL,'Woodbridge','Pl','NE',NULL,NULL,NULL,NULL,'Brownell',1,1015,NULL,'67521',NULL,1228,38.618706,-99.74865,0,NULL,NULL,66),
- (173,73,1,1,0,'608F Woodbridge Pl NE',608,'F',NULL,'Woodbridge','Pl','NE',NULL,NULL,NULL,NULL,'Brownell',1,1015,NULL,'67521',NULL,1228,38.618706,-99.74865,0,NULL,NULL,66),
- (174,66,1,1,0,'608F Woodbridge Pl NE',608,'F',NULL,'Woodbridge','Pl','NE',NULL,NULL,NULL,NULL,'Brownell',1,1015,NULL,'67521',NULL,1228,38.618706,-99.74865,0,NULL,NULL,66),
- (175,160,1,1,0,'227K Woodbridge St S',227,'K',NULL,'Woodbridge','St','S',NULL,NULL,NULL,NULL,'Brookfield',1,1012,NULL,'60513',NULL,1228,41.822681,-87.84753,0,NULL,NULL,67),
- (176,137,1,1,0,'227K Woodbridge St S',227,'K',NULL,'Woodbridge','St','S',NULL,NULL,NULL,NULL,'Brookfield',1,1012,NULL,'60513',NULL,1228,41.822681,-87.84753,0,NULL,NULL,67),
- (177,104,1,1,0,'227K Woodbridge St S',227,'K',NULL,'Woodbridge','St','S',NULL,NULL,NULL,NULL,'Brookfield',1,1012,NULL,'60513',NULL,1228,41.822681,-87.84753,0,NULL,NULL,67),
- (178,38,1,1,0,'532W Woodbridge Ln SW',532,'W',NULL,'Woodbridge','Ln','SW',NULL,NULL,NULL,NULL,'Sayre',1,1000,NULL,'35139',NULL,1228,33.712204,-86.97203,0,NULL,NULL,NULL),
- (179,NULL,1,1,1,'14S El Camino Way E',14,'S',NULL,'El Camino','Way',NULL,NULL,NULL,NULL,NULL,'Collinsville',NULL,1006,NULL,'6022',NULL,1228,41.8328,-72.9253,0,NULL,NULL,NULL),
- (180,NULL,1,1,1,'11B Woodbridge Path SW',11,'B',NULL,'Woodbridge','Path',NULL,NULL,NULL,NULL,NULL,'Dayton',NULL,1034,NULL,'45417',NULL,1228,39.7531,-84.2471,0,NULL,NULL,NULL),
- (181,NULL,1,1,1,'581O Lincoln Dr SW',581,'O',NULL,'Lincoln','Dr',NULL,NULL,NULL,NULL,NULL,'Santa Fe',NULL,1030,NULL,'87594',NULL,1228,35.5212,-105.982,0,NULL,NULL,NULL);
+ (1,125,1,1,0,'134B Pine Ave E',134,'B',NULL,'Pine','Ave','E',NULL,NULL,NULL,NULL,'Cleveland',1,1023,NULL,'38732',NULL,1228,33.749149,-90.71329,0,NULL,NULL,NULL),
+ (2,104,1,1,0,'151S States Ln W',151,'S',NULL,'States','Ln','W',NULL,NULL,NULL,NULL,'Crab Orchard',1,1047,NULL,'25827',NULL,1228,37.733391,-81.23769,0,NULL,NULL,NULL),
+ (3,116,1,1,0,'550C Second Path SE',550,'C',NULL,'Second','Path','SE',NULL,NULL,NULL,NULL,'Chicago',1,1012,NULL,'60674',NULL,1228,41.811929,-87.68732,0,NULL,NULL,NULL),
+ (4,151,1,1,0,'859I States Rd SE',859,'I',NULL,'States','Rd','SE',NULL,NULL,NULL,NULL,'Houston',1,1042,NULL,'77206',NULL,1228,29.83399,-95.434241,0,NULL,NULL,NULL),
+ (5,182,1,1,0,'695S Martin Luther King Rd SE',695,'S',NULL,'Martin Luther King','Rd','SE',NULL,NULL,NULL,NULL,'Monitor',1,1046,NULL,'98836',NULL,1228,47.481133,-120.41354,0,NULL,NULL,NULL),
+ (6,140,1,1,0,'182Q Pine Pl E',182,'Q',NULL,'Pine','Pl','E',NULL,NULL,NULL,NULL,'Corpus Christi',1,1042,NULL,'78468',NULL,1228,27.777,-97.463213,0,NULL,NULL,NULL),
+ (7,76,1,1,0,'207T El Camino St W',207,'T',NULL,'El Camino','St','W',NULL,NULL,NULL,NULL,'Tulsa',1,1035,NULL,'74186',NULL,1228,36.139826,-96.029725,0,NULL,NULL,NULL),
+ (8,121,1,1,0,'39Y Second Pl W',39,'Y',NULL,'Second','Pl','W',NULL,NULL,NULL,NULL,'Mansfield',1,1034,NULL,'44999',NULL,1228,40.772874,-82.532057,0,NULL,NULL,NULL),
+ (9,99,1,1,0,'865T Northpoint Path W',865,'T',NULL,'Northpoint','Path','W',NULL,NULL,NULL,NULL,'Sumneytown',1,1037,NULL,'18084',NULL,1228,40.327782,-75.454043,0,NULL,NULL,NULL),
+ (10,199,1,1,0,'714Q Woodbridge Ln E',714,'Q',NULL,'Woodbridge','Ln','E',NULL,NULL,NULL,NULL,'Saginaw',1,1021,NULL,'48601',NULL,1228,43.413975,-83.91427,0,NULL,NULL,NULL),
+ (11,126,1,1,0,'489S Caulder Ave S',489,'S',NULL,'Caulder','Ave','S',NULL,NULL,NULL,NULL,'Las Vegas',1,1027,NULL,'89125',NULL,1228,36.223528,-115.265529,0,NULL,NULL,NULL),
+ (12,9,1,1,0,'967Y College Blvd NW',967,'Y',NULL,'College','Blvd','NW',NULL,NULL,NULL,NULL,'Rome',1,1023,NULL,'38768',NULL,1228,33.965488,-90.52646,0,NULL,NULL,NULL),
+ (13,105,1,1,0,'770I Main Ave W',770,'I',NULL,'Main','Ave','W',NULL,NULL,NULL,NULL,'Skipwith',1,1045,NULL,'23968',NULL,1228,36.702863,-78.51218,0,NULL,NULL,NULL),
+ (14,119,1,1,0,'522I Bay Dr S',522,'I',NULL,'Bay','Dr','S',NULL,NULL,NULL,NULL,'Petersburg',1,1045,NULL,'23805',NULL,1228,37.174217,-77.39008,0,NULL,NULL,NULL),
+ (15,122,1,1,0,'506N Pine Way N',506,'N',NULL,'Pine','Way','N',NULL,NULL,NULL,NULL,'Dow',1,1012,NULL,'62022',NULL,1228,38.997296,-90.3405,0,NULL,NULL,NULL),
+ (16,127,1,1,0,'318B Woodbridge Dr N',318,'B',NULL,'Woodbridge','Dr','N',NULL,NULL,NULL,NULL,'Boston',1,1020,NULL,'02102',NULL,1228,42.338947,-70.919635,0,NULL,NULL,NULL),
+ (17,115,1,1,0,'461T Beech Dr SE',461,'T',NULL,'Beech','Dr','SE',NULL,NULL,NULL,NULL,'Keeling',1,1045,NULL,'24566',NULL,1228,36.726236,-79.26279,0,NULL,NULL,NULL),
+ (18,2,1,1,0,'701Q Jackson Ave E',701,'Q',NULL,'Jackson','Ave','E',NULL,NULL,NULL,NULL,'Butte',1,1026,NULL,'68722',NULL,1228,42.923088,-98.85921,0,NULL,NULL,NULL),
+ (19,117,1,1,0,'843W Bay Dr NE',843,'W',NULL,'Bay','Dr','NE',NULL,NULL,NULL,NULL,'Newark',1,1007,NULL,'19713',NULL,1228,39.669211,-75.71796,0,NULL,NULL,NULL),
+ (20,79,1,1,0,'914E Second Ave NW',914,'E',NULL,'Second','Ave','NW',NULL,NULL,NULL,NULL,'Wayside',1,1042,NULL,'79094',NULL,1228,34.965329,-101.357838,0,NULL,NULL,NULL),
+ (21,179,1,1,0,'74H Lincoln Blvd SW',74,'H',NULL,'Lincoln','Blvd','SW',NULL,NULL,NULL,NULL,'Fort Lauderdale',1,1008,NULL,'33320',NULL,1228,26.162462,-80.25822,0,NULL,NULL,NULL),
+ (22,11,1,1,0,'98M El Camino Ln S',98,'M',NULL,'El Camino','Ln','S',NULL,NULL,NULL,NULL,'Franklin',1,1041,NULL,'37068',NULL,1228,35.874553,-86.907565,0,NULL,NULL,NULL),
+ (23,72,1,1,0,'151X Martin Luther King St SW',151,'X',NULL,'Martin Luther King','St','SW',NULL,NULL,NULL,NULL,'Valley',1,1046,NULL,'99181',NULL,1228,48.144634,-117.74564,0,NULL,NULL,NULL),
+ (24,178,1,1,0,'955W Martin Luther King Rd NW',955,'W',NULL,'Martin Luther King','Rd','NW',NULL,NULL,NULL,NULL,'Lindside',1,1047,NULL,'24951',NULL,1228,37.485348,-80.64293,0,NULL,NULL,NULL),
+ (25,193,1,1,0,'792O Van Ness Pl SE',792,'O',NULL,'Van Ness','Pl','SE',NULL,NULL,NULL,NULL,'Washington',1,1050,NULL,'20575',NULL,1228,38.893311,-77.014647,0,NULL,NULL,NULL),
+ (26,195,1,1,0,'890Y Main Dr NW',890,'Y',NULL,'Main','Dr','NW',NULL,NULL,NULL,NULL,'Youngstown',1,1034,NULL,'44512',NULL,1228,41.032675,-80.66467,0,NULL,NULL,NULL),
+ (27,64,1,1,0,'723U States Dr S',723,'U',NULL,'States','Dr','S',NULL,NULL,NULL,NULL,'Greensboro',1,1044,NULL,'05841',NULL,1228,44.599177,-72.31179,0,NULL,NULL,NULL),
+ (28,103,1,1,0,'202G Martin Luther King Pl E',202,'G',NULL,'Martin Luther King','Pl','E',NULL,NULL,NULL,NULL,'Houston',1,1042,NULL,'77031',NULL,1228,29.654132,-95.54311,0,NULL,NULL,NULL),
+ (29,184,1,1,0,'611I Van Ness Pl SW',611,'I',NULL,'Van Ness','Pl','SW',NULL,NULL,NULL,NULL,'Ten Mile',1,1041,NULL,'37880',NULL,1228,35.684788,-84.67782,0,NULL,NULL,NULL),
+ (30,138,1,1,0,'188G Lincoln St NW',188,'G',NULL,'Lincoln','St','NW',NULL,NULL,NULL,NULL,'Anchorage',1,1001,NULL,'99524',NULL,1228,61.108864,-149.440311,0,NULL,NULL,NULL),
+ (31,112,1,1,0,'861P States Way NE',861,'P',NULL,'States','Way','NE',NULL,NULL,NULL,NULL,'Livingston',1,1041,NULL,'38570',NULL,1228,36.376289,-85.32585,0,NULL,NULL,NULL),
+ (32,27,1,1,0,'338V Cadell Ave NW',338,'V',NULL,'Cadell','Ave','NW',NULL,NULL,NULL,NULL,'Sunland Park',1,1030,NULL,'88018',NULL,1228,31.840649,-106.615936,0,NULL,NULL,NULL),
+ (33,124,1,1,0,'813W Woodbridge Rd NE',813,'W',NULL,'Woodbridge','Rd','NE',NULL,NULL,NULL,NULL,'University',1,1023,NULL,'38677',NULL,1228,34.366302,-89.53721,0,NULL,NULL,NULL),
+ (34,111,1,1,0,'594K Second Path SW',594,'K',NULL,'Second','Path','SW',NULL,NULL,NULL,NULL,'New Boston',1,1024,NULL,'63557',NULL,1228,39.963355,-92.88684,0,NULL,NULL,NULL),
+ (35,145,1,1,0,'342Z Lincoln Path SE',342,'Z',NULL,'Lincoln','Path','SE',NULL,NULL,NULL,NULL,'Atwater',1,1034,NULL,'44201',NULL,1228,41.020057,-81.20037,0,NULL,NULL,NULL),
+ (36,74,1,1,0,'623Y Jackson Ave E',623,'Y',NULL,'Jackson','Ave','E',NULL,NULL,NULL,NULL,'Davenport',1,1014,NULL,'52801',NULL,1228,41.522832,-90.57503,0,NULL,NULL,NULL),
+ (37,14,1,1,0,'44M College Ave E',44,'M',NULL,'College','Ave','E',NULL,NULL,NULL,NULL,'Findlay',1,1034,NULL,'45840',NULL,1228,41.037325,-83.64576,0,NULL,NULL,NULL),
+ (38,26,1,1,0,'25H Pine Way N',25,'H',NULL,'Pine','Way','N',NULL,NULL,NULL,NULL,'Swampscott',1,1020,NULL,'01907',NULL,1228,42.474409,-70.90588,0,NULL,NULL,NULL),
+ (39,173,1,1,0,'704X Martin Luther King Pl W',704,'X',NULL,'Martin Luther King','Pl','W',NULL,NULL,NULL,NULL,'Olivehill',1,1041,NULL,'38475',NULL,1228,35.270793,-88.01666,0,NULL,NULL,NULL),
+ (40,78,1,1,0,'509T States Blvd N',509,'T',NULL,'States','Blvd','N',NULL,NULL,NULL,NULL,'Albert Lea',1,1022,NULL,'56007',NULL,1228,43.652042,-93.36916,0,NULL,NULL,NULL),
+ (41,98,1,1,0,'593Q Beech St NE',593,'Q',NULL,'Beech','St','NE',NULL,NULL,NULL,NULL,'Kalamazoo',1,1021,NULL,'49009',NULL,1228,42.272538,-85.69255,0,NULL,NULL,NULL),
+ (42,130,1,1,0,'447H Van Ness St NE',447,'H',NULL,'Van Ness','St','NE',NULL,NULL,NULL,NULL,'Fort Pierce',1,1008,NULL,'34946',NULL,1228,27.485272,-80.35243,0,NULL,NULL,NULL),
+ (43,71,1,1,0,'954R Bay Way N',954,'R',NULL,'Bay','Way','N',NULL,NULL,NULL,NULL,'Colonial Beach',1,1045,NULL,'22443',NULL,1228,38.22653,-76.97442,0,NULL,NULL,NULL),
+ (44,41,1,1,0,'150O Pine Path E',150,'O',NULL,'Pine','Path','E',NULL,NULL,NULL,NULL,'Alamosa',1,1005,NULL,'81102',NULL,1228,37.476026,-105.881779,0,NULL,NULL,NULL),
+ (45,172,1,1,0,'160S Bay Rd SW',160,'S',NULL,'Bay','Rd','SW',NULL,NULL,NULL,NULL,'Honolulu',1,1010,NULL,'96813',NULL,1228,21.313033,-157.85615,0,NULL,NULL,NULL),
+ (46,162,1,1,0,'295H Woodbridge Way NW',295,'H',NULL,'Woodbridge','Way','NW',NULL,NULL,NULL,NULL,'Ward Cove',1,1001,NULL,'99928',NULL,1228,55.395359,-131.67537,0,NULL,NULL,NULL),
+ (47,161,1,1,0,'505L Beech Pl E',505,'L',NULL,'Beech','Pl','E',NULL,NULL,NULL,NULL,'Shaver Lake',1,1004,NULL,'93664',NULL,1228,37.103957,-119.2644,0,NULL,NULL,NULL),
+ (48,42,1,1,0,'114U Lincoln Pl W',114,'U',NULL,'Lincoln','Pl','W',NULL,NULL,NULL,NULL,'Huntsville',1,1000,NULL,'35895',NULL,1228,34.733964,-86.522913,0,NULL,NULL,NULL),
+ (49,44,1,1,0,'822G Main Ave SW',822,'G',NULL,'Main','Ave','SW',NULL,NULL,NULL,NULL,'Nottoway',1,1045,NULL,'23955',NULL,1228,37.116094,-78.057832,0,NULL,NULL,NULL),
+ (50,35,1,1,0,'130X Northpoint Pl W',130,'X',NULL,'Northpoint','Pl','W',NULL,NULL,NULL,NULL,'Gallup',1,1030,NULL,'87301',NULL,1228,35.534253,-108.84857,0,NULL,NULL,NULL),
+ (51,108,1,1,0,'455P Northpoint Rd E',455,'P',NULL,'Northpoint','Rd','E',NULL,NULL,NULL,NULL,'Waltham',1,1020,NULL,'02454',NULL,1228,42.356719,-71.250479,0,NULL,NULL,NULL),
+ (52,88,1,1,0,'444E Dowlen Blvd S',444,'E',NULL,'Dowlen','Blvd','S',NULL,NULL,NULL,NULL,'Creighton',1,1040,NULL,'57729',NULL,1228,44.308909,-102.09713,0,NULL,NULL,NULL),
+ (53,93,1,1,0,'864S El Camino Ln W',864,'S',NULL,'El Camino','Ln','W',NULL,NULL,NULL,NULL,'Antelope',1,1004,NULL,'95843',NULL,1228,38.716874,-121.3698,0,NULL,NULL,NULL),
+ (54,102,1,1,0,'969Q Northpoint Ave SW',969,'Q',NULL,'Northpoint','Ave','SW',NULL,NULL,NULL,NULL,'Nortonville',1,1015,NULL,'66060',NULL,1228,39.415907,-95.32966,0,NULL,NULL,NULL),
+ (55,87,1,1,0,'148V Pine Path NW',148,'V',NULL,'Pine','Path','NW',NULL,NULL,NULL,NULL,'Dalton',1,1024,NULL,'65246',NULL,1228,39.370265,-92.99396,0,NULL,NULL,NULL),
+ (56,38,1,1,0,'316J Van Ness Ln SW',316,'J',NULL,'Van Ness','Ln','SW',NULL,NULL,NULL,NULL,'Wallace',1,1015,NULL,'67761',NULL,1228,38.912898,-101.50937,0,NULL,NULL,NULL),
+ (57,110,1,1,0,'974C Jackson St W',974,'C',NULL,'Jackson','St','W',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'88573',NULL,1228,31.694842,-106.299987,0,NULL,NULL,NULL),
+ (58,135,1,1,0,'275H Jackson Rd SE',275,'H',NULL,'Jackson','Rd','SE',NULL,NULL,NULL,NULL,'Pueblo Of Acoma',1,1030,NULL,'87034',NULL,1228,34.900203,-107.65365,0,NULL,NULL,NULL),
+ (59,8,1,1,0,'348Y Woodbridge Ave S',348,'Y',NULL,'Woodbridge','Ave','S',NULL,NULL,NULL,NULL,'Port Salerno',1,1008,NULL,'34992',NULL,1228,27.110182,-80.454196,0,NULL,NULL,NULL),
+ (60,133,1,1,0,'522D Caulder Rd S',522,'D',NULL,'Caulder','Rd','S',NULL,NULL,NULL,NULL,'Las Vegas',1,1027,NULL,'89170',NULL,1228,35.927901,-114.972061,0,NULL,NULL,NULL),
+ (61,190,1,1,0,'724Y Lincoln Ave W',724,'Y',NULL,'Lincoln','Ave','W',NULL,NULL,NULL,NULL,'Buda',1,1042,NULL,'78610',NULL,1228,30.07703,-97.8178,0,NULL,NULL,NULL),
+ (62,123,3,1,0,'284L Jackson Rd NE',284,'L',NULL,'Jackson','Rd','NE',NULL,'Donor Relations',NULL,NULL,'Atchison',1,1015,NULL,'66002',NULL,1228,39.553786,-95.13472,0,NULL,NULL,NULL),
+ (63,83,3,1,0,'292R Maple Path N',292,'R',NULL,'Maple','Path','N',NULL,'Editorial Dept',NULL,NULL,'Glen Wild',1,1031,NULL,'12738',NULL,1228,41.648888,-74.57064,0,NULL,NULL,NULL),
+ (64,77,3,1,0,'756B Martin Luther King Dr W',756,'B',NULL,'Martin Luther King','Dr','W',NULL,'Attn: Accounting',NULL,NULL,'Houston',1,1042,NULL,'77266',NULL,1228,29.83399,-95.434241,0,NULL,NULL,NULL),
+ (65,169,2,1,0,'756B Martin Luther King Dr W',756,'B',NULL,'Martin Luther King','Dr','W',NULL,'Attn: Accounting',NULL,NULL,'Houston',1,1042,NULL,'77266',NULL,1228,29.83399,-95.434241,0,NULL,NULL,64),
+ (66,139,3,1,0,'639Z Northpoint Blvd SE',639,'Z',NULL,'Northpoint','Blvd','SE',NULL,'Subscriptions Dept',NULL,NULL,'Oxford',1,1014,NULL,'52322',NULL,1228,41.6896,-91.76183,0,NULL,NULL,NULL),
+ (67,43,3,1,0,'881M Main Pl NE',881,'M',NULL,'Main','Pl','NE',NULL,'Payables Dept.',NULL,NULL,'Gibbon',1,1022,NULL,'55335',NULL,1228,44.527707,-94.53092,0,NULL,NULL,NULL),
+ (68,22,3,1,0,'367N Second Path NW',367,'N',NULL,'Second','Path','NW',NULL,'Cuffe Parade',NULL,NULL,'Dickinson',1,1042,NULL,'77537',NULL,1228,29.469835,-95.005317,0,NULL,NULL,NULL),
+ (69,119,2,0,0,'367N Second Path NW',367,'N',NULL,'Second','Path','NW',NULL,'Cuffe Parade',NULL,NULL,'Dickinson',1,1042,NULL,'77537',NULL,1228,29.469835,-95.005317,0,NULL,NULL,68),
+ (70,153,3,1,0,'190Q Woodbridge Pl NW',190,'Q',NULL,'Woodbridge','Pl','NW',NULL,'Donor Relations',NULL,NULL,'Evanston',1,1012,NULL,'60202',NULL,1228,42.030327,-87.68828,0,NULL,NULL,NULL),
+ (71,27,2,0,0,'190Q Woodbridge Pl NW',190,'Q',NULL,'Woodbridge','Pl','NW',NULL,'Donor Relations',NULL,NULL,'Evanston',1,1012,NULL,'60202',NULL,1228,42.030327,-87.68828,0,NULL,NULL,70),
+ (72,58,3,1,0,'775Q Woodbridge Rd W',775,'Q',NULL,'Woodbridge','Rd','W',NULL,'Mailstop 101',NULL,NULL,'Houston',1,1042,NULL,'77289',NULL,1228,29.83399,-95.434241,0,NULL,NULL,NULL),
+ (73,36,2,1,0,'775Q Woodbridge Rd W',775,'Q',NULL,'Woodbridge','Rd','W',NULL,'Mailstop 101',NULL,NULL,'Houston',1,1042,NULL,'77289',NULL,1228,29.83399,-95.434241,0,NULL,NULL,72),
+ (74,142,3,1,0,'373H Lincoln Ln SW',373,'H',NULL,'Lincoln','Ln','SW',NULL,'Attn: Accounting',NULL,NULL,'Harmon',1,1017,NULL,'71036',NULL,1228,32.062391,-93.367949,0,NULL,NULL,NULL),
+ (75,143,2,1,0,'373H Lincoln Ln SW',373,'H',NULL,'Lincoln','Ln','SW',NULL,'Attn: Accounting',NULL,NULL,'Harmon',1,1017,NULL,'71036',NULL,1228,32.062391,-93.367949,0,NULL,NULL,74),
+ (76,191,3,1,0,'642M Caulder St SE',642,'M',NULL,'Caulder','St','SE',NULL,'Receiving',NULL,NULL,'Nashville',1,1041,NULL,'37222',NULL,1228,36.056164,-86.980116,0,NULL,NULL,NULL),
+ (77,199,2,0,0,'642M Caulder St SE',642,'M',NULL,'Caulder','St','SE',NULL,'Receiving',NULL,NULL,'Nashville',1,1041,NULL,'37222',NULL,1228,36.056164,-86.980116,0,NULL,NULL,76),
+ (78,25,3,1,0,'896I Woodbridge Way W',896,'I',NULL,'Woodbridge','Way','W',NULL,'Donor Relations',NULL,NULL,'Bristol',1,1041,NULL,'37620',NULL,1228,36.561341,-82.16869,0,NULL,NULL,NULL),
+ (79,128,2,1,0,'896I Woodbridge Way W',896,'I',NULL,'Woodbridge','Way','W',NULL,'Donor Relations',NULL,NULL,'Bristol',1,1041,NULL,'37620',NULL,1228,36.561341,-82.16869,0,NULL,NULL,78),
+ (80,166,3,1,0,'463P Bay Pl NW',463,'P',NULL,'Bay','Pl','NW',NULL,'Subscriptions Dept',NULL,NULL,'Nacogdoches',1,1042,NULL,'75965',NULL,1228,31.649582,-94.638278,0,NULL,NULL,NULL),
+ (81,60,3,1,0,'706Y College Rd NE',706,'Y',NULL,'College','Rd','NE',NULL,'Receiving',NULL,NULL,'Cotopaxi',1,1005,NULL,'81223',NULL,1228,38.357344,-105.53192,0,NULL,NULL,NULL),
+ (82,75,2,1,0,'706Y College Rd NE',706,'Y',NULL,'College','Rd','NE',NULL,'Receiving',NULL,NULL,'Cotopaxi',1,1005,NULL,'81223',NULL,1228,38.357344,-105.53192,0,NULL,NULL,81),
+ (83,54,3,1,0,'469N Lincoln St NE',469,'N',NULL,'Lincoln','St','NE',NULL,'Mailstop 101',NULL,NULL,'San Diego',1,1004,NULL,'92114',NULL,1228,32.706954,-117.0542,0,NULL,NULL,NULL),
+ (84,154,2,1,0,'469N Lincoln St NE',469,'N',NULL,'Lincoln','St','NE',NULL,'Mailstop 101',NULL,NULL,'San Diego',1,1004,NULL,'92114',NULL,1228,32.706954,-117.0542,0,NULL,NULL,83),
+ (85,37,3,1,0,'707N Dowlen Dr NE',707,'N',NULL,'Dowlen','Dr','NE',NULL,'Payables Dept.',NULL,NULL,'Elkland',1,1024,NULL,'65644',NULL,1228,37.509611,-93.03846,0,NULL,NULL,NULL),
+ (86,158,3,1,0,'409C Lincoln Ave SW',409,'C',NULL,'Lincoln','Ave','SW',NULL,'Receiving',NULL,NULL,'Fajardo',1,1056,NULL,'00648',NULL,1228,18.333038,-65.656182,0,NULL,NULL,NULL),
+ (87,32,2,1,0,'409C Lincoln Ave SW',409,'C',NULL,'Lincoln','Ave','SW',NULL,'Receiving',NULL,NULL,'Fajardo',1,1056,NULL,'00648',NULL,1228,18.333038,-65.656182,0,NULL,NULL,86),
+ (88,92,3,1,0,'384G States Ln S',384,'G',NULL,'States','Ln','S',NULL,'c/o PO Plus',NULL,NULL,'Banner Elk',1,1032,NULL,'28604',NULL,1228,36.166515,-81.84672,0,NULL,NULL,NULL),
+ (89,114,3,1,0,'714Y Lincoln St E',714,'Y',NULL,'Lincoln','St','E',NULL,'Donor Relations',NULL,NULL,'Waterford',1,1006,NULL,'06385',NULL,1228,41.347948,-72.14762,0,NULL,NULL,NULL),
+ (90,33,3,1,0,'678R Lincoln Way NE',678,'R',NULL,'Lincoln','Way','NE',NULL,'c/o OPDC',NULL,NULL,'Austin',1,1042,NULL,'78760',NULL,1228,30.326374,-97.771258,0,NULL,NULL,NULL),
+ (91,19,2,1,0,'678R Lincoln Way NE',678,'R',NULL,'Lincoln','Way','NE',NULL,'c/o OPDC',NULL,NULL,'Austin',1,1042,NULL,'78760',NULL,1228,30.326374,-97.771258,0,NULL,NULL,90),
+ (92,23,3,1,0,'434L El Camino Ave SW',434,'L',NULL,'El Camino','Ave','SW',NULL,'Urgent',NULL,NULL,'Fort Myers',1,1008,NULL,'33994',NULL,1228,26.552895,-81.94861,0,NULL,NULL,NULL),
+ (93,186,2,1,0,'434L El Camino Ave SW',434,'L',NULL,'El Camino','Ave','SW',NULL,'Urgent',NULL,NULL,'Fort Myers',1,1008,NULL,'33994',NULL,1228,26.552895,-81.94861,0,NULL,NULL,92),
+ (94,169,1,0,0,'447H Van Ness St NE',447,'H',NULL,'Van Ness','St','NE',NULL,NULL,NULL,NULL,'Fort Pierce',1,1008,NULL,'34946',NULL,1228,27.485272,-80.35243,0,NULL,NULL,42),
+ (95,57,1,1,0,'447H Van Ness St NE',447,'H',NULL,'Van Ness','St','NE',NULL,NULL,NULL,NULL,'Fort Pierce',1,1008,NULL,'34946',NULL,1228,27.485272,-80.35243,0,NULL,NULL,42),
+ (96,15,1,1,0,'447H Van Ness St NE',447,'H',NULL,'Van Ness','St','NE',NULL,NULL,NULL,NULL,'Fort Pierce',1,1008,NULL,'34946',NULL,1228,27.485272,-80.35243,0,NULL,NULL,42),
+ (97,106,1,1,0,'320P Bay Path E',320,'P',NULL,'Bay','Path','E',NULL,NULL,NULL,NULL,'Sanbornville',1,1028,NULL,'03872',NULL,1228,43.564008,-71.03405,0,NULL,NULL,NULL),
+ (98,63,1,1,0,'954R Bay Way N',954,'R',NULL,'Bay','Way','N',NULL,NULL,NULL,NULL,'Colonial Beach',1,1045,NULL,'22443',NULL,1228,38.22653,-76.97442,0,NULL,NULL,43),
+ (99,196,1,1,0,'954R Bay Way N',954,'R',NULL,'Bay','Way','N',NULL,NULL,NULL,NULL,'Colonial Beach',1,1045,NULL,'22443',NULL,1228,38.22653,-76.97442,0,NULL,NULL,43),
+ (100,6,1,1,0,'954R Bay Way N',954,'R',NULL,'Bay','Way','N',NULL,NULL,NULL,NULL,'Colonial Beach',1,1045,NULL,'22443',NULL,1228,38.22653,-76.97442,0,NULL,NULL,43),
+ (101,160,1,1,0,'954R Bay Way N',954,'R',NULL,'Bay','Way','N',NULL,NULL,NULL,NULL,'Colonial Beach',1,1045,NULL,'22443',NULL,1228,38.22653,-76.97442,0,NULL,NULL,43),
+ (102,120,1,1,0,'150O Pine Path E',150,'O',NULL,'Pine','Path','E',NULL,NULL,NULL,NULL,'Alamosa',1,1005,NULL,'81102',NULL,1228,37.476026,-105.881779,0,NULL,NULL,44),
+ (103,18,1,1,0,'150O Pine Path E',150,'O',NULL,'Pine','Path','E',NULL,NULL,NULL,NULL,'Alamosa',1,1005,NULL,'81102',NULL,1228,37.476026,-105.881779,0,NULL,NULL,44),
+ (104,12,1,1,0,'150O Pine Path E',150,'O',NULL,'Pine','Path','E',NULL,NULL,NULL,NULL,'Alamosa',1,1005,NULL,'81102',NULL,1228,37.476026,-105.881779,0,NULL,NULL,44),
+ (105,157,1,1,0,'150O Pine Path E',150,'O',NULL,'Pine','Path','E',NULL,NULL,NULL,NULL,'Alamosa',1,1005,NULL,'81102',NULL,1228,37.476026,-105.881779,0,NULL,NULL,44),
+ (106,181,1,1,0,'160S Bay Rd SW',160,'S',NULL,'Bay','Rd','SW',NULL,NULL,NULL,NULL,'Honolulu',1,1010,NULL,'96813',NULL,1228,21.313033,-157.85615,0,NULL,NULL,45),
+ (107,118,1,1,0,'160S Bay Rd SW',160,'S',NULL,'Bay','Rd','SW',NULL,NULL,NULL,NULL,'Honolulu',1,1010,NULL,'96813',NULL,1228,21.313033,-157.85615,0,NULL,NULL,45),
+ (108,176,1,1,0,'160S Bay Rd SW',160,'S',NULL,'Bay','Rd','SW',NULL,NULL,NULL,NULL,'Honolulu',1,1010,NULL,'96813',NULL,1228,21.313033,-157.85615,0,NULL,NULL,45),
+ (109,36,1,0,0,'160S Bay Rd SW',160,'S',NULL,'Bay','Rd','SW',NULL,NULL,NULL,NULL,'Honolulu',1,1010,NULL,'96813',NULL,1228,21.313033,-157.85615,0,NULL,NULL,45),
+ (110,75,1,0,0,'295H Woodbridge Way NW',295,'H',NULL,'Woodbridge','Way','NW',NULL,NULL,NULL,NULL,'Ward Cove',1,1001,NULL,'99928',NULL,1228,55.395359,-131.67537,0,NULL,NULL,46),
+ (111,3,1,1,0,'295H Woodbridge Way NW',295,'H',NULL,'Woodbridge','Way','NW',NULL,NULL,NULL,NULL,'Ward Cove',1,1001,NULL,'99928',NULL,1228,55.395359,-131.67537,0,NULL,NULL,46),
+ (112,149,1,1,0,'295H Woodbridge Way NW',295,'H',NULL,'Woodbridge','Way','NW',NULL,NULL,NULL,NULL,'Ward Cove',1,1001,NULL,'99928',NULL,1228,55.395359,-131.67537,0,NULL,NULL,46),
+ (113,5,1,1,0,'900H Martin Luther King Ave NW',900,'H',NULL,'Martin Luther King','Ave','NW',NULL,NULL,NULL,NULL,'Wannaska',1,1022,NULL,'56761',NULL,1228,48.609478,-95.6602,0,NULL,NULL,NULL),
+ (114,82,1,1,0,'505L Beech Pl E',505,'L',NULL,'Beech','Pl','E',NULL,NULL,NULL,NULL,'Shaver Lake',1,1004,NULL,'93664',NULL,1228,37.103957,-119.2644,0,NULL,NULL,47),
+ (115,146,1,1,0,'505L Beech Pl E',505,'L',NULL,'Beech','Pl','E',NULL,NULL,NULL,NULL,'Shaver Lake',1,1004,NULL,'93664',NULL,1228,37.103957,-119.2644,0,NULL,NULL,47),
+ (116,159,1,1,0,'505L Beech Pl E',505,'L',NULL,'Beech','Pl','E',NULL,NULL,NULL,NULL,'Shaver Lake',1,1004,NULL,'93664',NULL,1228,37.103957,-119.2644,0,NULL,NULL,47),
+ (117,192,1,1,0,'505L Beech Pl E',505,'L',NULL,'Beech','Pl','E',NULL,NULL,NULL,NULL,'Shaver Lake',1,1004,NULL,'93664',NULL,1228,37.103957,-119.2644,0,NULL,NULL,47),
+ (118,198,1,1,0,'114U Lincoln Pl W',114,'U',NULL,'Lincoln','Pl','W',NULL,NULL,NULL,NULL,'Huntsville',1,1000,NULL,'35895',NULL,1228,34.733964,-86.522913,0,NULL,NULL,48),
+ (119,84,1,1,0,'114U Lincoln Pl W',114,'U',NULL,'Lincoln','Pl','W',NULL,NULL,NULL,NULL,'Huntsville',1,1000,NULL,'35895',NULL,1228,34.733964,-86.522913,0,NULL,NULL,48),
+ (120,90,1,1,0,'114U Lincoln Pl W',114,'U',NULL,'Lincoln','Pl','W',NULL,NULL,NULL,NULL,'Huntsville',1,1000,NULL,'35895',NULL,1228,34.733964,-86.522913,0,NULL,NULL,48),
+ (121,183,1,1,0,'114U Lincoln Pl W',114,'U',NULL,'Lincoln','Pl','W',NULL,NULL,NULL,NULL,'Huntsville',1,1000,NULL,'35895',NULL,1228,34.733964,-86.522913,0,NULL,NULL,48),
+ (122,49,1,1,0,'822G Main Ave SW',822,'G',NULL,'Main','Ave','SW',NULL,NULL,NULL,NULL,'Nottoway',1,1045,NULL,'23955',NULL,1228,37.116094,-78.057832,0,NULL,NULL,49),
+ (123,39,1,1,0,'822G Main Ave SW',822,'G',NULL,'Main','Ave','SW',NULL,NULL,NULL,NULL,'Nottoway',1,1045,NULL,'23955',NULL,1228,37.116094,-78.057832,0,NULL,NULL,49),
+ (124,32,1,0,0,'822G Main Ave SW',822,'G',NULL,'Main','Ave','SW',NULL,NULL,NULL,NULL,'Nottoway',1,1045,NULL,'23955',NULL,1228,37.116094,-78.057832,0,NULL,NULL,49),
+ (125,24,1,1,0,'653H Second Dr NE',653,'H',NULL,'Second','Dr','NE',NULL,NULL,NULL,NULL,'Coldwater',1,1023,NULL,'38618',NULL,1228,34.699588,-89.95004,0,NULL,NULL,NULL),
+ (126,168,1,1,0,'130X Northpoint Pl W',130,'X',NULL,'Northpoint','Pl','W',NULL,NULL,NULL,NULL,'Gallup',1,1030,NULL,'87301',NULL,1228,35.534253,-108.84857,0,NULL,NULL,50),
+ (127,150,1,1,0,'130X Northpoint Pl W',130,'X',NULL,'Northpoint','Pl','W',NULL,NULL,NULL,NULL,'Gallup',1,1030,NULL,'87301',NULL,1228,35.534253,-108.84857,0,NULL,NULL,50),
+ (128,180,1,1,0,'130X Northpoint Pl W',130,'X',NULL,'Northpoint','Pl','W',NULL,NULL,NULL,NULL,'Gallup',1,1030,NULL,'87301',NULL,1228,35.534253,-108.84857,0,NULL,NULL,50),
+ (129,62,1,1,0,'525F Jackson Ln SE',525,'F',NULL,'Jackson','Ln','SE',NULL,NULL,NULL,NULL,'Boon',1,1021,NULL,'49618',NULL,1228,44.306885,-85.60119,0,NULL,NULL,NULL),
+ (130,152,1,1,0,'455P Northpoint Rd E',455,'P',NULL,'Northpoint','Rd','E',NULL,NULL,NULL,NULL,'Waltham',1,1020,NULL,'02454',NULL,1228,42.356719,-71.250479,0,NULL,NULL,51),
+ (131,167,1,1,0,'455P Northpoint Rd E',455,'P',NULL,'Northpoint','Rd','E',NULL,NULL,NULL,NULL,'Waltham',1,1020,NULL,'02454',NULL,1228,42.356719,-71.250479,0,NULL,NULL,51),
+ (132,65,1,1,0,'455P Northpoint Rd E',455,'P',NULL,'Northpoint','Rd','E',NULL,NULL,NULL,NULL,'Waltham',1,1020,NULL,'02454',NULL,1228,42.356719,-71.250479,0,NULL,NULL,51),
+ (133,175,1,1,0,'242N Woodbridge Way N',242,'N',NULL,'Woodbridge','Way','N',NULL,NULL,NULL,NULL,'Grant Park',1,1012,NULL,'60940',NULL,1228,41.244016,-87.64464,0,NULL,NULL,NULL),
+ (134,107,1,1,0,'444E Dowlen Blvd S',444,'E',NULL,'Dowlen','Blvd','S',NULL,NULL,NULL,NULL,'Creighton',1,1040,NULL,'57729',NULL,1228,44.308909,-102.09713,0,NULL,NULL,52),
+ (135,13,1,1,0,'444E Dowlen Blvd S',444,'E',NULL,'Dowlen','Blvd','S',NULL,NULL,NULL,NULL,'Creighton',1,1040,NULL,'57729',NULL,1228,44.308909,-102.09713,0,NULL,NULL,52),
+ (136,141,1,1,0,'444E Dowlen Blvd S',444,'E',NULL,'Dowlen','Blvd','S',NULL,NULL,NULL,NULL,'Creighton',1,1040,NULL,'57729',NULL,1228,44.308909,-102.09713,0,NULL,NULL,52),
+ (137,148,1,1,0,'444E Dowlen Blvd S',444,'E',NULL,'Dowlen','Blvd','S',NULL,NULL,NULL,NULL,'Creighton',1,1040,NULL,'57729',NULL,1228,44.308909,-102.09713,0,NULL,NULL,52),
+ (138,20,1,1,0,'864S El Camino Ln W',864,'S',NULL,'El Camino','Ln','W',NULL,NULL,NULL,NULL,'Antelope',1,1004,NULL,'95843',NULL,1228,38.716874,-121.3698,0,NULL,NULL,53),
+ (139,81,1,1,0,'864S El Camino Ln W',864,'S',NULL,'El Camino','Ln','W',NULL,NULL,NULL,NULL,'Antelope',1,1004,NULL,'95843',NULL,1228,38.716874,-121.3698,0,NULL,NULL,53),
+ (140,34,1,1,0,'864S El Camino Ln W',864,'S',NULL,'El Camino','Ln','W',NULL,NULL,NULL,NULL,'Antelope',1,1004,NULL,'95843',NULL,1228,38.716874,-121.3698,0,NULL,NULL,53),
+ (141,154,1,0,0,'426Q Beech Path S',426,'Q',NULL,'Beech','Path','S',NULL,NULL,NULL,NULL,'Elizabethtown',1,1016,NULL,'42701',NULL,1228,37.704287,-85.86403,0,NULL,NULL,NULL),
+ (142,47,1,1,0,'969Q Northpoint Ave SW',969,'Q',NULL,'Northpoint','Ave','SW',NULL,NULL,NULL,NULL,'Nortonville',1,1015,NULL,'66060',NULL,1228,39.415907,-95.32966,0,NULL,NULL,54),
+ (143,17,1,1,0,'969Q Northpoint Ave SW',969,'Q',NULL,'Northpoint','Ave','SW',NULL,NULL,NULL,NULL,'Nortonville',1,1015,NULL,'66060',NULL,1228,39.415907,-95.32966,0,NULL,NULL,54),
+ (144,70,1,1,0,'969Q Northpoint Ave SW',969,'Q',NULL,'Northpoint','Ave','SW',NULL,NULL,NULL,NULL,'Nortonville',1,1015,NULL,'66060',NULL,1228,39.415907,-95.32966,0,NULL,NULL,54),
+ (145,48,1,1,0,'461W Martin Luther King Rd S',461,'W',NULL,'Martin Luther King','Rd','S',NULL,NULL,NULL,NULL,'Ione',1,1046,NULL,'99139',NULL,1228,48.736168,-117.4111,0,NULL,NULL,NULL),
+ (146,85,1,1,0,'148V Pine Path NW',148,'V',NULL,'Pine','Path','NW',NULL,NULL,NULL,NULL,'Dalton',1,1024,NULL,'65246',NULL,1228,39.370265,-92.99396,0,NULL,NULL,55),
+ (147,136,1,1,0,'148V Pine Path NW',148,'V',NULL,'Pine','Path','NW',NULL,NULL,NULL,NULL,'Dalton',1,1024,NULL,'65246',NULL,1228,39.370265,-92.99396,0,NULL,NULL,55),
+ (148,19,1,0,0,'148V Pine Path NW',148,'V',NULL,'Pine','Path','NW',NULL,NULL,NULL,NULL,'Dalton',1,1024,NULL,'65246',NULL,1228,39.370265,-92.99396,0,NULL,NULL,55),
+ (149,144,1,1,0,'148V Pine Path NW',148,'V',NULL,'Pine','Path','NW',NULL,NULL,NULL,NULL,'Dalton',1,1024,NULL,'65246',NULL,1228,39.370265,-92.99396,0,NULL,NULL,55),
+ (150,73,1,1,0,'316J Van Ness Ln SW',316,'J',NULL,'Van Ness','Ln','SW',NULL,NULL,NULL,NULL,'Wallace',1,1015,NULL,'67761',NULL,1228,38.912898,-101.50937,0,NULL,NULL,56),
+ (151,21,1,1,0,'316J Van Ness Ln SW',316,'J',NULL,'Van Ness','Ln','SW',NULL,NULL,NULL,NULL,'Wallace',1,1015,NULL,'67761',NULL,1228,38.912898,-101.50937,0,NULL,NULL,56),
+ (152,95,1,1,0,'316J Van Ness Ln SW',316,'J',NULL,'Van Ness','Ln','SW',NULL,NULL,NULL,NULL,'Wallace',1,1015,NULL,'67761',NULL,1228,38.912898,-101.50937,0,NULL,NULL,56),
+ (153,109,1,1,0,'316J Van Ness Ln SW',316,'J',NULL,'Van Ness','Ln','SW',NULL,NULL,NULL,NULL,'Wallace',1,1015,NULL,'67761',NULL,1228,38.912898,-101.50937,0,NULL,NULL,56),
+ (154,113,1,1,0,'974C Jackson St W',974,'C',NULL,'Jackson','St','W',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'88573',NULL,1228,31.694842,-106.299987,0,NULL,NULL,57),
+ (155,50,1,1,0,'974C Jackson St W',974,'C',NULL,'Jackson','St','W',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'88573',NULL,1228,31.694842,-106.299987,0,NULL,NULL,57),
+ (156,51,1,1,0,'974C Jackson St W',974,'C',NULL,'Jackson','St','W',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'88573',NULL,1228,31.694842,-106.299987,0,NULL,NULL,57),
+ (157,185,1,1,0,'974C Jackson St W',974,'C',NULL,'Jackson','St','W',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'88573',NULL,1228,31.694842,-106.299987,0,NULL,NULL,57),
+ (158,132,1,1,0,'275H Jackson Rd SE',275,'H',NULL,'Jackson','Rd','SE',NULL,NULL,NULL,NULL,'Pueblo Of Acoma',1,1030,NULL,'87034',NULL,1228,34.900203,-107.65365,0,NULL,NULL,58),
+ (159,31,1,1,0,'275H Jackson Rd SE',275,'H',NULL,'Jackson','Rd','SE',NULL,NULL,NULL,NULL,'Pueblo Of Acoma',1,1030,NULL,'87034',NULL,1228,34.900203,-107.65365,0,NULL,NULL,58),
+ (160,128,1,0,0,'275H Jackson Rd SE',275,'H',NULL,'Jackson','Rd','SE',NULL,NULL,NULL,NULL,'Pueblo Of Acoma',1,1030,NULL,'87034',NULL,1228,34.900203,-107.65365,0,NULL,NULL,58),
+ (161,147,1,1,0,'275H Jackson Rd SE',275,'H',NULL,'Jackson','Rd','SE',NULL,NULL,NULL,NULL,'Pueblo Of Acoma',1,1030,NULL,'87034',NULL,1228,34.900203,-107.65365,0,NULL,NULL,58),
+ (162,96,1,1,0,'348Y Woodbridge Ave S',348,'Y',NULL,'Woodbridge','Ave','S',NULL,NULL,NULL,NULL,'Port Salerno',1,1008,NULL,'34992',NULL,1228,27.110182,-80.454196,0,NULL,NULL,59),
+ (163,194,1,1,0,'348Y Woodbridge Ave S',348,'Y',NULL,'Woodbridge','Ave','S',NULL,NULL,NULL,NULL,'Port Salerno',1,1008,NULL,'34992',NULL,1228,27.110182,-80.454196,0,NULL,NULL,59),
+ (164,89,1,1,0,'348Y Woodbridge Ave S',348,'Y',NULL,'Woodbridge','Ave','S',NULL,NULL,NULL,NULL,'Port Salerno',1,1008,NULL,'34992',NULL,1228,27.110182,-80.454196,0,NULL,NULL,59),
+ (165,94,1,1,0,'740B Dowlen Pl NW',740,'B',NULL,'Dowlen','Pl','NW',NULL,NULL,NULL,NULL,'North Grosvenordale',1,1006,NULL,'06255',NULL,1228,41.989579,-71.89659,0,NULL,NULL,NULL),
+ (166,7,1,1,0,'522D Caulder Rd S',522,'D',NULL,'Caulder','Rd','S',NULL,NULL,NULL,NULL,'Las Vegas',1,1027,NULL,'89170',NULL,1228,35.927901,-114.972061,0,NULL,NULL,60),
+ (167,4,1,1,0,'522D Caulder Rd S',522,'D',NULL,'Caulder','Rd','S',NULL,NULL,NULL,NULL,'Las Vegas',1,1027,NULL,'89170',NULL,1228,35.927901,-114.972061,0,NULL,NULL,60),
+ (168,189,1,1,0,'522D Caulder Rd S',522,'D',NULL,'Caulder','Rd','S',NULL,NULL,NULL,NULL,'Las Vegas',1,1027,NULL,'89170',NULL,1228,35.927901,-114.972061,0,NULL,NULL,60),
+ (169,16,1,1,0,'522D Caulder Rd S',522,'D',NULL,'Caulder','Rd','S',NULL,NULL,NULL,NULL,'Las Vegas',1,1027,NULL,'89170',NULL,1228,35.927901,-114.972061,0,NULL,NULL,60),
+ (170,97,1,1,0,'724Y Lincoln Ave W',724,'Y',NULL,'Lincoln','Ave','W',NULL,NULL,NULL,NULL,'Buda',1,1042,NULL,'78610',NULL,1228,30.07703,-97.8178,0,NULL,NULL,61),
+ (171,91,1,1,0,'724Y Lincoln Ave W',724,'Y',NULL,'Lincoln','Ave','W',NULL,NULL,NULL,NULL,'Buda',1,1042,NULL,'78610',NULL,1228,30.07703,-97.8178,0,NULL,NULL,61),
+ (172,156,1,1,0,'724Y Lincoln Ave W',724,'Y',NULL,'Lincoln','Ave','W',NULL,NULL,NULL,NULL,'Buda',1,1042,NULL,'78610',NULL,1228,30.07703,-97.8178,0,NULL,NULL,61),
+ (173,40,1,1,0,'724Y Lincoln Ave W',724,'Y',NULL,'Lincoln','Ave','W',NULL,NULL,NULL,NULL,'Buda',1,1042,NULL,'78610',NULL,1228,30.07703,-97.8178,0,NULL,NULL,61),
+ (174,NULL,1,1,1,'14S El Camino Way E',14,'S',NULL,'El Camino','Way',NULL,NULL,NULL,NULL,NULL,'Collinsville',NULL,1006,NULL,'6022',NULL,1228,41.8328,-72.9253,0,NULL,NULL,NULL),
+ (175,NULL,1,1,1,'11B Woodbridge Path SW',11,'B',NULL,'Woodbridge','Path',NULL,NULL,NULL,NULL,NULL,'Dayton',NULL,1034,NULL,'45417',NULL,1228,39.7531,-84.2471,0,NULL,NULL,NULL),
+ (176,NULL,1,1,1,'581O Lincoln Dr SW',581,'O',NULL,'Lincoln','Dr',NULL,NULL,NULL,NULL,NULL,'Santa Fe',NULL,1030,NULL,'87594',NULL,1228,35.5212,-105.982,0,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_address` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1925,7 +1894,6 @@ INSERT INTO `civicrm_component` (`id`, `name`, `namespace`) VALUES
  (2,'CiviContribute','CRM_Contribute'),
  (3,'CiviMember','CRM_Member'),
  (4,'CiviMail','CRM_Mailing'),
- (5,'CiviGrant','CRM_Grant'),
  (6,'CiviPledge','CRM_Pledge'),
  (7,'CiviCase','CRM_Case'),
  (8,'CiviReport','CRM_Report'),
@@ -1940,208 +1908,208 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_contact` WRITE;
 /*!40000 ALTER TABLE `civicrm_contact` DISABLE KEYS */;
 INSERT INTO `civicrm_contact` (`id`, `contact_type`, `contact_sub_type`, `do_not_email`, `do_not_phone`, `do_not_mail`, `do_not_sms`, `do_not_trade`, `is_opt_out`, `legal_identifier`, `external_identifier`, `sort_name`, `display_name`, `nick_name`, `legal_name`, `image_URL`, `preferred_communication_method`, `preferred_language`, `preferred_mail_format`, `hash`, `api_key`, `source`, `first_name`, `middle_name`, `last_name`, `prefix_id`, `suffix_id`, `formal_title`, `communication_style_id`, `email_greeting_id`, `email_greeting_custom`, `email_greeting_display`, `postal_greeting_id`, `postal_greeting_custom`, `postal_greeting_display`, `addressee_id`, `addressee_custom`, `addressee_display`, `job_title`, `gender_id`, `birth_date`, `is_deceased`, `deceased_date`, `household_name`, `primary_contact_id`, `organization_name`, `sic_code`, `user_unique_id`, `employer_id`, `is_deleted`, `created_date`, `modified_date`) VALUES
- (1,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Default Organization','Default Organization',NULL,'Default Organization',NULL,NULL,NULL,'Both',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,'Default Organization',NULL,NULL,NULL,0,NULL,'2022-01-05 03:20:32'),
- (2,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Terry, Landon','Mr. Landon Terry Jr.',NULL,NULL,NULL,NULL,NULL,'Both','530631152',NULL,'Sample Data','Landon','','Terry',3,1,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Mr. Landon Terry Jr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:41'),
- (3,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Princess','Mrs. Princess Ivanov',NULL,NULL,NULL,'2',NULL,'Both','3366449477',NULL,'Sample Data','Princess','','Ivanov',1,NULL,NULL,NULL,1,NULL,'Dear Princess',1,NULL,'Dear Princess',1,NULL,'Mrs. Princess Ivanov',NULL,1,'1981-05-12',0,NULL,NULL,NULL,'Northpoint Legal Partners',NULL,NULL,178,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (4,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Barkley, Heidi','Heidi Barkley',NULL,NULL,NULL,NULL,NULL,'Both','1854810222',NULL,'Sample Data','Heidi','P','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Heidi',1,NULL,'Dear Heidi',1,NULL,'Heidi Barkley',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (5,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'junkonielsen46@testing.info','junkonielsen46@testing.info',NULL,NULL,NULL,NULL,NULL,'Both','2970103870',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear junkonielsen46@testing.info',1,NULL,'Dear junkonielsen46@testing.info',1,NULL,'junkonielsen46@testing.info',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (6,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski, Sherman','Sherman Łąchowski III',NULL,NULL,NULL,'5',NULL,'Both','2261039855',NULL,'Sample Data','Sherman','M','Łąchowski',NULL,4,NULL,NULL,1,NULL,'Dear Sherman',1,NULL,'Dear Sherman',1,NULL,'Sherman Łąchowski III',NULL,2,'1981-04-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (7,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Roberts, Troy','Troy Roberts',NULL,NULL,NULL,'3',NULL,'Both','1104419313',NULL,'Sample Data','Troy','','Roberts',NULL,NULL,NULL,NULL,1,NULL,'Dear Troy',1,NULL,'Dear Troy',1,NULL,'Troy Roberts',NULL,2,'1938-06-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (8,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley, Beula','Beula Barkley',NULL,NULL,NULL,'1',NULL,'Both','4143999201',NULL,'Sample Data','Beula','U','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Beula',1,NULL,'Dear Beula',1,NULL,'Beula Barkley',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (9,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Sanford','Mr. Sanford Dimitrov II',NULL,NULL,NULL,'2',NULL,'Both','1968408302',NULL,'Sample Data','Sanford','','Dimitrov',3,3,NULL,NULL,1,NULL,'Dear Sanford',1,NULL,'Dear Sanford',1,NULL,'Mr. Sanford Dimitrov II',NULL,2,'1996-04-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (10,'Household',NULL,1,1,0,0,0,0,NULL,NULL,'Nielsen family','Nielsen family',NULL,NULL,NULL,'3',NULL,'Both','766698874',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Nielsen family',5,NULL,'Dear Nielsen family',2,NULL,'Nielsen family',NULL,NULL,NULL,0,NULL,'Nielsen family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (11,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Padroni Sports Center','Padroni Sports Center',NULL,NULL,NULL,'4',NULL,'Both','3097465836',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Padroni Sports Center',NULL,NULL,NULL,0,NULL,NULL,NULL,'Padroni Sports Center',NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (12,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Kacey','Mrs. Kacey Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','1510706462',NULL,'Sample Data','Kacey','','Jacobs',1,NULL,NULL,NULL,1,NULL,'Dear Kacey',1,NULL,'Dear Kacey',1,NULL,'Mrs. Kacey Jacobs',NULL,1,'1944-04-01',1,'2021-06-19',NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (13,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav, Ashley','Ashley Yadav',NULL,NULL,NULL,'2',NULL,'Both','4195605846',NULL,'Sample Data','Ashley','','Yadav',NULL,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Ashley Yadav',NULL,2,'1960-01-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (14,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Sharyn','Sharyn Terry',NULL,NULL,NULL,'3',NULL,'Both','3160433036',NULL,'Sample Data','Sharyn','N','Terry',NULL,NULL,NULL,NULL,1,NULL,'Dear Sharyn',1,NULL,'Dear Sharyn',1,NULL,'Sharyn Terry',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (15,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'nielsen.arlyne@mymail.biz','nielsen.arlyne@mymail.biz',NULL,NULL,NULL,NULL,NULL,'Both','3863994425',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear nielsen.arlyne@mymail.biz',1,NULL,'Dear nielsen.arlyne@mymail.biz',1,NULL,'nielsen.arlyne@mymail.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (16,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Terry, Allen','Mr. Allen Terry',NULL,NULL,NULL,NULL,NULL,'Both','306325326',NULL,'Sample Data','Allen','','Terry',3,NULL,NULL,NULL,1,NULL,'Dear Allen',1,NULL,'Dear Allen',1,NULL,'Mr. Allen Terry',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (17,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Kinsman Education Fund','Kinsman Education Fund',NULL,NULL,NULL,NULL,NULL,'Both','1450763161',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Kinsman Education Fund',NULL,NULL,NULL,0,NULL,NULL,19,'Kinsman Education Fund',NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (18,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Ohio Arts School','Ohio Arts School',NULL,NULL,NULL,'5',NULL,'Both','939927449',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Ohio Arts School',NULL,NULL,NULL,0,NULL,NULL,36,'Ohio Arts School',NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (19,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'lee.w.princess@fakemail.org','lee.w.princess@fakemail.org',NULL,NULL,NULL,'2',NULL,'Both','1395382497',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear lee.w.princess@fakemail.org',1,NULL,'Dear lee.w.princess@fakemail.org',1,NULL,'lee.w.princess@fakemail.org',NULL,NULL,NULL,0,NULL,NULL,NULL,'Kinsman Education Fund',NULL,NULL,17,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (20,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Jacobs, Claudio','Mr. Claudio Jacobs Sr.',NULL,NULL,NULL,'1',NULL,'Both','3740618228',NULL,'Sample Data','Claudio','','Jacobs',3,2,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Mr. Claudio Jacobs Sr.',NULL,2,'1957-05-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:41'),
- (21,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Sierra Wellness Academy','Sierra Wellness Academy',NULL,NULL,NULL,'1',NULL,'Both','1562583221',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Sierra Wellness Academy',NULL,NULL,NULL,0,NULL,NULL,126,'Sierra Wellness Academy',NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (22,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Kiara','Kiara Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','1100955182',NULL,'Sample Data','Kiara','','Ivanov',NULL,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Kiara Ivanov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (23,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Wagner-Patel, Ivey','Ivey Wagner-Patel',NULL,NULL,NULL,NULL,NULL,'Both','3501242494',NULL,'Sample Data','Ivey','','Wagner-Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Ivey Wagner-Patel',NULL,1,'1967-08-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (24,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry-Jensen, Lawerence','Mr. Lawerence Terry-Jensen',NULL,NULL,NULL,NULL,NULL,'Both','1368815489',NULL,'Sample Data','Lawerence','F','Terry-Jensen',3,NULL,NULL,NULL,1,NULL,'Dear Lawerence',1,NULL,'Dear Lawerence',1,NULL,'Mr. Lawerence Terry-Jensen',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (25,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley family','Barkley family',NULL,NULL,NULL,NULL,NULL,'Both','2888062109',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Barkley family',5,NULL,'Dear Barkley family',2,NULL,'Barkley family',NULL,NULL,NULL,0,NULL,'Barkley family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (26,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Terry, Truman','Mr. Truman Terry III',NULL,NULL,NULL,NULL,NULL,'Both','3241108171',NULL,'Sample Data','Truman','','Terry',3,4,NULL,NULL,1,NULL,'Dear Truman',1,NULL,'Dear Truman',1,NULL,'Mr. Truman Terry III',NULL,2,'1994-12-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (27,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'kathlynparker25@spamalot.co.nz','kathlynparker25@spamalot.co.nz',NULL,NULL,NULL,'1',NULL,'Both','1472887439',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear kathlynparker25@spamalot.co.nz',1,NULL,'Dear kathlynparker25@spamalot.co.nz',1,NULL,'kathlynparker25@spamalot.co.nz',NULL,NULL,NULL,0,NULL,NULL,NULL,'Van Ness Empowerment Academy',NULL,NULL,42,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (28,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Arlyne','Arlyne Olsen',NULL,NULL,NULL,'5',NULL,'Both','3061476892',NULL,'Sample Data','Arlyne','','Olsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Arlyne',1,NULL,'Dear Arlyne',1,NULL,'Arlyne Olsen',NULL,NULL,NULL,0,NULL,NULL,NULL,'Watertown Food Partnership',NULL,NULL,195,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (29,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'ivanovj28@lol.co.uk','ivanovj28@lol.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','1155920004',NULL,'Sample Data',NULL,NULL,NULL,3,2,NULL,NULL,1,NULL,'Dear ivanovj28@lol.co.uk',1,NULL,'Dear ivanovj28@lol.co.uk',1,NULL,'ivanovj28@lol.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (30,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Adams, Maxwell','Maxwell Adams',NULL,NULL,NULL,NULL,NULL,'Both','1901327060',NULL,'Sample Data','Maxwell','V','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Maxwell Adams',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (31,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs-Wilson, Elizabeth','Elizabeth Jacobs-Wilson',NULL,NULL,NULL,'1',NULL,'Both','915483770',NULL,'Sample Data','Elizabeth','','Jacobs-Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Elizabeth Jacobs-Wilson',NULL,1,'1969-08-27',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (32,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'González-Parker family','González-Parker family',NULL,NULL,NULL,NULL,NULL,'Both','2006835638',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear González-Parker family',5,NULL,'Dear González-Parker family',2,NULL,'González-Parker family',NULL,NULL,NULL,0,NULL,'González-Parker family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (33,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Bay Poetry Academy','Bay Poetry Academy',NULL,NULL,NULL,'3',NULL,'Both','3389890417',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Bay Poetry Academy',NULL,NULL,NULL,0,NULL,NULL,NULL,'Bay Poetry Academy',NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (34,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jacobs, Juliann','Juliann Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','3009811288',NULL,'Sample Data','Juliann','','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Juliann Jacobs',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (35,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Bachman, Landon','Dr. Landon Bachman Sr.',NULL,NULL,NULL,'4',NULL,'Both','1765533665',NULL,'Sample Data','Landon','','Bachman',4,2,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Dr. Landon Bachman Sr.',NULL,2,'1941-06-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (36,'Individual',NULL,1,1,0,0,1,0,NULL,NULL,'Łąchowski, Margaret','Margaret Łąchowski',NULL,NULL,NULL,'1',NULL,'Both','1214338746',NULL,'Sample Data','Margaret','Z','Łąchowski',NULL,NULL,NULL,NULL,1,NULL,'Dear Margaret',1,NULL,'Dear Margaret',1,NULL,'Margaret Łąchowski',NULL,1,'1971-06-29',0,NULL,NULL,NULL,'Ohio Arts School',NULL,NULL,18,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (37,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Müller family','Müller family',NULL,NULL,NULL,'4',NULL,'Both','1144797465',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Müller family',5,NULL,'Dear Müller family',2,NULL,'Müller family',NULL,NULL,NULL,0,NULL,'Müller family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (38,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Rosario','Dr. Rosario Zope III',NULL,NULL,NULL,'4',NULL,'Both','2088711675',NULL,'Sample Data','Rosario','T','Zope',4,4,NULL,NULL,1,NULL,'Dear Rosario',1,NULL,'Dear Rosario',1,NULL,'Dr. Rosario Zope III',NULL,2,'1969-11-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:45'),
- (39,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Terry, Alida','Mrs. Alida Terry',NULL,NULL,NULL,NULL,NULL,'Both','2637023605',NULL,'Sample Data','Alida','J','Terry',1,NULL,NULL,NULL,1,NULL,'Dear Alida',1,NULL,'Dear Alida',1,NULL,'Mrs. Alida Terry',NULL,1,'1952-02-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (40,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Prentice, Jina','Jina Prentice',NULL,NULL,NULL,'2',NULL,'Both','3574120172',NULL,'Sample Data','Jina','N','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Jina',1,NULL,'Dear Jina',1,NULL,'Jina Prentice',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (41,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Kathleen','Dr. Kathleen Olsen',NULL,NULL,NULL,'2',NULL,'Both','1625164526',NULL,'Sample Data','Kathleen','Z','Olsen',4,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Dr. Kathleen Olsen',NULL,NULL,'1988-02-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (42,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Van Ness Empowerment Academy','Van Ness Empowerment Academy',NULL,NULL,NULL,'2',NULL,'Both','1843564597',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Van Ness Empowerment Academy',NULL,NULL,NULL,0,NULL,NULL,27,'Van Ness Empowerment Academy',NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (43,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Ivanov family','Ivanov family',NULL,NULL,NULL,NULL,NULL,'Both','2450779112',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Ivanov family',5,NULL,'Dear Ivanov family',2,NULL,'Ivanov family',NULL,NULL,NULL,0,NULL,'Ivanov family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (44,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Samuels family','Samuels family',NULL,NULL,NULL,NULL,NULL,'Both','350459294',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Samuels family',5,NULL,'Dear Samuels family',2,NULL,'Samuels family',NULL,NULL,NULL,0,NULL,'Samuels family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (45,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Barkley, Rebekah','Rebekah Barkley',NULL,NULL,NULL,NULL,NULL,'Both','3218825396',NULL,'Sample Data','Rebekah','','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Rebekah Barkley',NULL,1,'1997-01-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (46,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Irvin','Dr. Irvin Jacobs',NULL,NULL,NULL,'5',NULL,'Both','1475120479',NULL,'Sample Data','Irvin','Z','Jacobs',4,NULL,NULL,NULL,1,NULL,'Dear Irvin',1,NULL,'Dear Irvin',1,NULL,'Dr. Irvin Jacobs',NULL,2,'1959-12-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (47,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'González-Parker, Scott','Dr. Scott González-Parker',NULL,NULL,NULL,'3',NULL,'Both','2854577712',NULL,'Sample Data','Scott','S','González-Parker',4,NULL,NULL,NULL,1,NULL,'Dear Scott',1,NULL,'Dear Scott',1,NULL,'Dr. Scott González-Parker',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (48,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jensen, Jackson','Jackson Jensen',NULL,NULL,NULL,NULL,NULL,'Both','2839026195',NULL,'Sample Data','Jackson','','Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Jackson Jensen',NULL,NULL,'1938-07-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (49,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'patel.kathleen@sample.co.pl','patel.kathleen@sample.co.pl',NULL,NULL,NULL,NULL,NULL,'Both','2203789168',NULL,'Sample Data',NULL,NULL,NULL,1,NULL,NULL,NULL,1,NULL,'Dear patel.kathleen@sample.co.pl',1,NULL,'Dear patel.kathleen@sample.co.pl',1,NULL,'patel.kathleen@sample.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (50,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'terry.iris@sample.co.in','terry.iris@sample.co.in',NULL,NULL,NULL,NULL,NULL,'Both','3878254899',NULL,'Sample Data',NULL,NULL,NULL,1,NULL,NULL,NULL,1,NULL,'Dear terry.iris@sample.co.in',1,NULL,'Dear terry.iris@sample.co.in',1,NULL,'terry.iris@sample.co.in',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (51,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wilson, Shad','Mr. Shad Wilson II',NULL,NULL,NULL,NULL,NULL,'Both','3505548330',NULL,'Sample Data','Shad','','Wilson',3,3,NULL,NULL,1,NULL,'Dear Shad',1,NULL,'Dear Shad',1,NULL,'Mr. Shad Wilson II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (52,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Jackson','Jackson Terry III',NULL,NULL,NULL,NULL,NULL,'Both','179207055',NULL,'Sample Data','Jackson','','Terry',NULL,4,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Jackson Terry III',NULL,NULL,'1994-11-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (53,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Patel, Sharyn','Sharyn Patel',NULL,NULL,NULL,NULL,NULL,'Both','3025102729',NULL,'Sample Data','Sharyn','','Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Sharyn',1,NULL,'Dear Sharyn',1,NULL,'Sharyn Patel',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (54,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jensen, Felisha','Ms. Felisha Jensen',NULL,NULL,NULL,NULL,NULL,'Both','45016701',NULL,'Sample Data','Felisha','X','Jensen',2,NULL,NULL,NULL,1,NULL,'Dear Felisha',1,NULL,'Dear Felisha',1,NULL,'Ms. Felisha Jensen',NULL,1,'1971-02-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (55,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'González-Parker, Maxwell','Maxwell González-Parker',NULL,NULL,NULL,'2',NULL,'Both','280635455',NULL,'Sample Data','Maxwell','','González-Parker',NULL,NULL,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Maxwell González-Parker',NULL,NULL,'1986-09-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (56,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Woodbridge Health Initiative','Woodbridge Health Initiative',NULL,NULL,NULL,'5',NULL,'Both','1096893299',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Woodbridge Health Initiative',NULL,NULL,NULL,0,NULL,NULL,NULL,'Woodbridge Health Initiative',NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (57,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'bachman.lincoln97@example.org','bachman.lincoln97@example.org',NULL,NULL,NULL,'5',NULL,'Both','2092938162',NULL,'Sample Data',NULL,NULL,NULL,4,3,NULL,NULL,1,NULL,'Dear bachman.lincoln97@example.org',1,NULL,'Dear bachman.lincoln97@example.org',1,NULL,'bachman.lincoln97@example.org',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (58,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Cooper, Jackson','Dr. Jackson Cooper III',NULL,NULL,NULL,'1',NULL,'Both','2598878708',NULL,'Sample Data','Jackson','R','Cooper',4,4,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Dr. Jackson Cooper III',NULL,2,'1949-04-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (59,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Reynolds, Felisha','Mrs. Felisha Reynolds',NULL,NULL,NULL,NULL,NULL,'Both','3817317933',NULL,'Sample Data','Felisha','','Reynolds',1,NULL,NULL,NULL,1,NULL,'Dear Felisha',1,NULL,'Dear Felisha',1,NULL,'Mrs. Felisha Reynolds',NULL,NULL,'1982-12-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (60,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jacobs, Santina','Santina Jacobs',NULL,NULL,NULL,'1',NULL,'Both','2675448515',NULL,'Sample Data','Santina','Z','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Santina Jacobs',NULL,1,'1965-12-27',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (61,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman, Damaris','Ms. Damaris Bachman',NULL,NULL,NULL,'2',NULL,'Both','3561243747',NULL,'Sample Data','Damaris','S','Bachman',2,NULL,NULL,NULL,1,NULL,'Dear Damaris',1,NULL,'Dear Damaris',1,NULL,'Ms. Damaris Bachman',NULL,1,'1966-01-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (62,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'ru.dimitrov@lol.com','ru.dimitrov@lol.com',NULL,NULL,NULL,NULL,NULL,'Both','3334233470',NULL,'Sample Data',NULL,NULL,NULL,3,NULL,NULL,NULL,1,NULL,'Dear ru.dimitrov@lol.com',1,NULL,'Dear ru.dimitrov@lol.com',1,NULL,'ru.dimitrov@lol.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (63,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Brent','Dr. Brent Ivanov II',NULL,NULL,NULL,'5',NULL,'Both','1194630571',NULL,'Sample Data','Brent','','Ivanov',4,3,NULL,NULL,1,NULL,'Dear Brent',1,NULL,'Dear Brent',1,NULL,'Dr. Brent Ivanov II',NULL,NULL,'1971-12-27',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (64,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Lawerence','Lawerence Zope',NULL,NULL,NULL,'4',NULL,'Both','3328706365',NULL,'Sample Data','Lawerence','F','Zope',NULL,NULL,NULL,NULL,1,NULL,'Dear Lawerence',1,NULL,'Dear Lawerence',1,NULL,'Lawerence Zope',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (65,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Cooper, Alexia','Ms. Alexia Cooper',NULL,NULL,NULL,'2',NULL,'Both','2846725010',NULL,'Sample Data','Alexia','','Cooper',2,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Ms. Alexia Cooper',NULL,1,'1975-08-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (66,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Patel, Troy','Troy Patel',NULL,NULL,NULL,NULL,NULL,'Both','1028090211',NULL,'Sample Data','Troy','C','Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Troy',1,NULL,'Dear Troy',1,NULL,'Troy Patel',NULL,2,'1979-06-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:45'),
- (67,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski family','Łąchowski family',NULL,NULL,NULL,NULL,NULL,'Both','2407077255',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Łąchowski family',5,NULL,'Dear Łąchowski family',2,NULL,'Łąchowski family',NULL,NULL,NULL,0,NULL,'Łąchowski family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (68,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terrell, Shad','Mr. Shad Terrell',NULL,NULL,NULL,'3',NULL,'Both','3876111966',NULL,'Sample Data','Shad','','Terrell',3,NULL,NULL,NULL,1,NULL,'Dear Shad',1,NULL,'Dear Shad',1,NULL,'Mr. Shad Terrell',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (69,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'barkleyd@infomail.co.pl','barkleyd@infomail.co.pl',NULL,NULL,NULL,'3',NULL,'Both','1368772469',NULL,'Sample Data',NULL,NULL,NULL,1,NULL,NULL,NULL,1,NULL,'Dear barkleyd@infomail.co.pl',1,NULL,'Dear barkleyd@infomail.co.pl',1,NULL,'barkleyd@infomail.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (70,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'barrycooper@example.info','barrycooper@example.info',NULL,NULL,NULL,NULL,NULL,'Both','1068322748',NULL,'Sample Data',NULL,NULL,NULL,4,2,NULL,NULL,1,NULL,'Dear barrycooper@example.info',1,NULL,'Dear barrycooper@example.info',1,NULL,'barrycooper@example.info',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (71,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Eleonor','Dr. Eleonor Terry',NULL,NULL,NULL,NULL,NULL,'Both','1084560931',NULL,'Sample Data','Eleonor','','Terry',4,NULL,NULL,NULL,1,NULL,'Dear Eleonor',1,NULL,'Dear Eleonor',1,NULL,'Dr. Eleonor Terry',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (72,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Reynolds, Alexia','Alexia Reynolds',NULL,NULL,NULL,'1',NULL,'Both','1389353396',NULL,'Sample Data','Alexia','O','Reynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Alexia Reynolds',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (73,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Patel, Rebekah','Rebekah Patel',NULL,NULL,NULL,'4',NULL,'Both','218502217',NULL,'Sample Data','Rebekah','J','Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Rebekah Patel',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (74,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Deforest-Olsen, Valene','Valene Deforest-Olsen',NULL,NULL,NULL,'4',NULL,'Both','2378094084',NULL,'Sample Data','Valene','','Deforest-Olsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Valene',1,NULL,'Dear Valene',1,NULL,'Valene Deforest-Olsen',NULL,1,'1987-04-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (75,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Barry','Dr. Barry Terry Sr.',NULL,NULL,NULL,'5',NULL,'Both','929041000',NULL,'Sample Data','Barry','Y','Terry',4,2,NULL,NULL,1,NULL,'Dear Barry',1,NULL,'Dear Barry',1,NULL,'Dr. Barry Terry Sr.',NULL,NULL,'1977-06-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (76,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Samson, Claudio','Claudio Samson Sr.',NULL,NULL,NULL,'5',NULL,'Both','114634310',NULL,'Sample Data','Claudio','','Samson',NULL,2,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Claudio Samson Sr.',NULL,2,NULL,1,NULL,NULL,NULL,'Urban Legal School',NULL,NULL,102,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (77,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Jina','Jina Díaz',NULL,NULL,NULL,'1',NULL,'Both','484938112',NULL,'Sample Data','Jina','','Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Jina',1,NULL,'Dear Jina',1,NULL,'Jina Díaz',NULL,1,'2013-07-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (78,'Household',NULL,0,1,0,0,1,0,NULL,NULL,'Robertson-Lee family','Robertson-Lee family',NULL,NULL,NULL,'4',NULL,'Both','1803684713',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Robertson-Lee family',5,NULL,'Dear Robertson-Lee family',2,NULL,'Robertson-Lee family',NULL,NULL,NULL,0,NULL,'Robertson-Lee family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (79,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Grant, Rosario','Dr. Rosario Grant',NULL,NULL,NULL,'3',NULL,'Both','2992904466',NULL,'Sample Data','Rosario','','Grant',4,NULL,NULL,NULL,1,NULL,'Dear Rosario',1,NULL,'Dear Rosario',1,NULL,'Dr. Rosario Grant',NULL,2,'1957-06-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (80,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav, Norris','Dr. Norris Yadav Sr.',NULL,NULL,NULL,NULL,NULL,'Both','3408497299',NULL,'Sample Data','Norris','T','Yadav',4,2,NULL,NULL,1,NULL,'Dear Norris',1,NULL,'Dear Norris',1,NULL,'Dr. Norris Yadav Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (81,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Shad','Shad Cooper Jr.',NULL,NULL,NULL,'2',NULL,'Both','3562872158',NULL,'Sample Data','Shad','O','Cooper',NULL,1,NULL,NULL,1,NULL,'Dear Shad',1,NULL,'Dear Shad',1,NULL,'Shad Cooper Jr.',NULL,2,'1960-09-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (82,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Dimitrov, Carylon','Mrs. Carylon Dimitrov',NULL,NULL,NULL,'2',NULL,'Both','2719489073',NULL,'Sample Data','Carylon','','Dimitrov',1,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Mrs. Carylon Dimitrov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (83,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Jameson, Ashley','Ashley Jameson',NULL,NULL,NULL,'2',NULL,'Both','3561508179',NULL,'Sample Data','Ashley','','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Ashley Jameson',NULL,1,'1979-10-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (84,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Cooper, Andrew','Mr. Andrew Cooper Jr.',NULL,NULL,NULL,NULL,NULL,'Both','1042798620',NULL,'Sample Data','Andrew','','Cooper',3,1,NULL,NULL,1,NULL,'Dear Andrew',1,NULL,'Dear Andrew',1,NULL,'Mr. Andrew Cooper Jr.',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (85,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Beula','Beula Jensen',NULL,NULL,NULL,'2',NULL,'Both','1956895432',NULL,'Sample Data','Beula','','Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Beula',1,NULL,'Dear Beula',1,NULL,'Beula Jensen',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (86,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Kathleen','Kathleen Müller',NULL,NULL,NULL,'2',NULL,'Both','74249251',NULL,'Sample Data','Kathleen','X','Müller',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Kathleen Müller',NULL,1,NULL,0,NULL,NULL,NULL,'Progressive Peace Initiative',NULL,NULL,173,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (87,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Errol','Errol Müller',NULL,NULL,NULL,'2',NULL,'Both','807767976',NULL,'Sample Data','Errol','','Müller',NULL,NULL,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Errol Müller',NULL,NULL,'1987-05-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (88,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Cooper, Winford','Winford Cooper II',NULL,NULL,NULL,'2',NULL,'Both','1891762669',NULL,'Sample Data','Winford','','Cooper',NULL,3,NULL,NULL,1,NULL,'Dear Winford',1,NULL,'Dear Winford',1,NULL,'Winford Cooper II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (89,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Ivanov, Russell','Dr. Russell Ivanov II',NULL,NULL,NULL,NULL,NULL,'Both','624189081',NULL,'Sample Data','Russell','U','Ivanov',4,3,NULL,NULL,1,NULL,'Dear Russell',1,NULL,'Dear Russell',1,NULL,'Dr. Russell Ivanov II',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (90,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper family','Cooper family',NULL,NULL,NULL,'5',NULL,'Both','1133003930',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Cooper family',5,NULL,'Dear Cooper family',2,NULL,'Cooper family',NULL,NULL,NULL,0,NULL,'Cooper family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (91,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Robertson, Justina','Justina Robertson',NULL,NULL,NULL,'4',NULL,'Both','1484862490',NULL,'Sample Data','Justina','L','Robertson',NULL,NULL,NULL,NULL,1,NULL,'Dear Justina',1,NULL,'Dear Justina',1,NULL,'Justina Robertson',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (92,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Reynolds, Heidi','Dr. Heidi Reynolds',NULL,NULL,NULL,NULL,NULL,'Both','925137718',NULL,'Sample Data','Heidi','','Reynolds',4,NULL,NULL,NULL,1,NULL,'Dear Heidi',1,NULL,'Dear Heidi',1,NULL,'Dr. Heidi Reynolds',NULL,1,'1965-09-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (93,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Woodbridge Food Systems','Woodbridge Food Systems',NULL,NULL,NULL,'5',NULL,'Both','1773946033',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Woodbridge Food Systems',NULL,NULL,NULL,0,NULL,NULL,135,'Woodbridge Food Systems',NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (94,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Wilson family','Wilson family',NULL,NULL,NULL,'5',NULL,'Both','350510798',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Wilson family',5,NULL,'Dear Wilson family',2,NULL,'Wilson family',NULL,NULL,NULL,0,NULL,'Wilson family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (95,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Ivey','Ivey Jameson',NULL,NULL,NULL,'3',NULL,'Both','3123658938',NULL,'Sample Data','Ivey','','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Ivey Jameson',NULL,NULL,'1957-08-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (96,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Clint','Clint Nielsen',NULL,NULL,NULL,NULL,NULL,'Both','2083087169',NULL,'Sample Data','Clint','','Nielsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Clint',1,NULL,'Dear Clint',1,NULL,'Clint Nielsen',NULL,2,'1950-04-12',0,NULL,NULL,NULL,'Passadumkeag Agriculture Partnership',NULL,NULL,120,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (97,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Rebekah','Rebekah Blackwell',NULL,NULL,NULL,'2',NULL,'Both','982789307',NULL,'Sample Data','Rebekah','','Blackwell',NULL,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Rebekah Blackwell',NULL,1,'1940-12-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (98,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson, Jacob','Mr. Jacob Samson',NULL,NULL,NULL,NULL,NULL,'Both','1567006775',NULL,'Sample Data','Jacob','','Samson',3,NULL,NULL,NULL,1,NULL,'Dear Jacob',1,NULL,'Dear Jacob',1,NULL,'Mr. Jacob Samson',NULL,2,NULL,0,NULL,NULL,NULL,'Orlando Food Fellowship',NULL,NULL,101,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (99,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Jay','Jay Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','2669174964',NULL,'Sample Data','Jay','','Ivanov',NULL,NULL,NULL,NULL,1,NULL,'Dear Jay',1,NULL,'Dear Jay',1,NULL,'Jay Ivanov',NULL,2,'1963-07-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (100,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Müller, Maxwell','Mr. Maxwell Müller',NULL,NULL,NULL,NULL,NULL,'Both','2972574046',NULL,'Sample Data','Maxwell','J','Müller',3,NULL,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Mr. Maxwell Müller',NULL,2,'1949-07-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (101,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Orlando Food Fellowship','Orlando Food Fellowship',NULL,NULL,NULL,NULL,NULL,'Both','4205977670',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Orlando Food Fellowship',NULL,NULL,NULL,0,NULL,NULL,98,'Orlando Food Fellowship',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (102,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Urban Legal School','Urban Legal School',NULL,NULL,NULL,'1',NULL,'Both','2107360118',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Urban Legal School',NULL,NULL,NULL,0,NULL,NULL,76,'Urban Legal School',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (103,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Esta','Esta Olsen',NULL,NULL,NULL,NULL,NULL,'Both','1433708351',NULL,'Sample Data','Esta','B','Olsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Esta Olsen',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (104,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Zope, Tanya','Mrs. Tanya Zope',NULL,NULL,NULL,NULL,NULL,'Both','2120997971',NULL,'Sample Data','Tanya','Q','Zope',1,NULL,NULL,NULL,1,NULL,'Dear Tanya',1,NULL,'Dear Tanya',1,NULL,'Mrs. Tanya Zope',NULL,1,'2000-05-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:45'),
- (105,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Scott','Dr. Scott Jensen',NULL,NULL,NULL,'1',NULL,'Both','4064239922',NULL,'Sample Data','Scott','C','Jensen',4,NULL,NULL,NULL,1,NULL,'Dear Scott',1,NULL,'Dear Scott',1,NULL,'Dr. Scott Jensen',NULL,2,'1982-08-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (106,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'norrist@lol.info','norrist@lol.info',NULL,NULL,NULL,'2',NULL,'Both','3504108889',NULL,'Sample Data',NULL,NULL,NULL,4,2,NULL,NULL,1,NULL,'Dear norrist@lol.info',1,NULL,'Dear norrist@lol.info',1,NULL,'norrist@lol.info',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (107,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'mroberts64@example.biz','mroberts64@example.biz',NULL,NULL,NULL,NULL,NULL,'Both','2597750349',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear mroberts64@example.biz',1,NULL,'Dear mroberts64@example.biz',1,NULL,'mroberts64@example.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (108,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Reynolds, Carylon','Carylon Reynolds',NULL,NULL,NULL,'2',NULL,'Both','1835260667',NULL,'Sample Data','Carylon','','Reynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Carylon Reynolds',NULL,1,'2014-04-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (109,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Global Empowerment Fellowship','Global Empowerment Fellowship',NULL,NULL,NULL,NULL,NULL,'Both','3733414552',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Global Empowerment Fellowship',NULL,NULL,NULL,0,NULL,NULL,155,'Global Empowerment Fellowship',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (110,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Samuels, Carylon','Mrs. Carylon Samuels',NULL,NULL,NULL,'4',NULL,'Both','707612001',NULL,'Sample Data','Carylon','','Samuels',1,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Mrs. Carylon Samuels',NULL,1,'1963-11-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (111,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Łąchowski, Maria','Dr. Maria Łąchowski II',NULL,NULL,NULL,NULL,NULL,'Both','2706885565',NULL,'Sample Data','Maria','','Łąchowski',4,3,NULL,NULL,1,NULL,'Dear Maria',1,NULL,'Dear Maria',1,NULL,'Dr. Maria Łąchowski II',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (112,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Nielsen, Landon','Mr. Landon Nielsen III',NULL,NULL,NULL,NULL,NULL,'Both','1226832678',NULL,'Sample Data','Landon','','Nielsen',3,4,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Mr. Landon Nielsen III',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (113,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Ashley','Dr. Ashley Lee',NULL,NULL,NULL,NULL,NULL,'Both','66160538',NULL,'Sample Data','Ashley','','Lee',4,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Dr. Ashley Lee',NULL,2,'1999-11-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (114,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Prentice-Patel, Juliann','Ms. Juliann Prentice-Patel',NULL,NULL,NULL,NULL,NULL,'Both','4018811170',NULL,'Sample Data','Juliann','D','Prentice-Patel',2,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Ms. Juliann Prentice-Patel',NULL,1,'1980-11-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (115,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'North Dakota Education Fund','North Dakota Education Fund',NULL,NULL,NULL,NULL,NULL,'Both','125532294',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'North Dakota Education Fund',NULL,NULL,NULL,0,NULL,NULL,136,'North Dakota Education Fund',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (116,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Creative Food Systems','Creative Food Systems',NULL,NULL,NULL,'5',NULL,'Both','223552429',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Creative Food Systems',NULL,NULL,NULL,0,NULL,NULL,NULL,'Creative Food Systems',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (117,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Terry, Juliann','Juliann Terry',NULL,NULL,NULL,'2',NULL,'Both','3154715143',NULL,'Sample Data','Juliann','I','Terry',NULL,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Juliann Terry',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (118,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Blackwell, Errol','Errol Blackwell Jr.',NULL,NULL,NULL,NULL,NULL,'Both','3418432727',NULL,'Sample Data','Errol','','Blackwell',NULL,1,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Errol Blackwell Jr.',NULL,2,'1946-02-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (119,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Kiara','Kiara Jensen',NULL,NULL,NULL,'3',NULL,'Both','4228592498',NULL,'Sample Data','Kiara','L','Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Kiara Jensen',NULL,1,'1936-09-21',0,NULL,NULL,NULL,'Bay Health School',NULL,NULL,184,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (120,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Passadumkeag Agriculture Partnership','Passadumkeag Agriculture Partnership',NULL,NULL,NULL,'1',NULL,'Both','1997663399',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Passadumkeag Agriculture Partnership',NULL,NULL,NULL,0,NULL,NULL,96,'Passadumkeag Agriculture Partnership',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (121,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'kaceysamuels16@example.com','kaceysamuels16@example.com',NULL,NULL,NULL,NULL,NULL,'Both','2929451038',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear kaceysamuels16@example.com',1,NULL,'Dear kaceysamuels16@example.com',1,NULL,'kaceysamuels16@example.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (122,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samuels, Teresa','Dr. Teresa Samuels',NULL,NULL,NULL,'5',NULL,'Both','2575395037',NULL,'Sample Data','Teresa','','Samuels',4,NULL,NULL,NULL,1,NULL,'Dear Teresa',1,NULL,'Dear Teresa',1,NULL,'Dr. Teresa Samuels',NULL,1,'1988-06-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (123,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Magan','Dr. Magan Müller',NULL,NULL,NULL,NULL,NULL,'Both','681120033',NULL,'Sample Data','Magan','','Müller',4,NULL,NULL,NULL,1,NULL,'Dear Magan',1,NULL,'Dear Magan',1,NULL,'Dr. Magan Müller',NULL,1,'1969-11-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (124,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Dimitrov family','Dimitrov family',NULL,NULL,NULL,'3',NULL,'Both','3351288571',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Dimitrov family',5,NULL,'Dear Dimitrov family',2,NULL,'Dimitrov family',NULL,NULL,NULL,0,NULL,'Dimitrov family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (125,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'cs.prentice-patel39@infomail.org','cs.prentice-patel39@infomail.org',NULL,NULL,NULL,'4',NULL,'Both','4139266989',NULL,'Sample Data',NULL,NULL,NULL,NULL,4,NULL,NULL,1,NULL,'Dear cs.prentice-patel39@infomail.org',1,NULL,'Dear cs.prentice-patel39@infomail.org',1,NULL,'cs.prentice-patel39@infomail.org',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (126,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Shauna','Shauna Jones',NULL,NULL,NULL,NULL,NULL,'Both','2088102406',NULL,'Sample Data','Shauna','','Jones',NULL,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Shauna Jones',NULL,NULL,'1957-08-19',0,NULL,NULL,NULL,'Sierra Wellness Academy',NULL,NULL,21,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (127,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Dimitrov, Scott','Scott Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','444079485',NULL,'Sample Data','Scott','','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Scott',1,NULL,'Dear Scott',1,NULL,'Scott Dimitrov',NULL,2,'1992-05-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (128,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jones, Margaret','Dr. Margaret Jones',NULL,NULL,NULL,NULL,NULL,'Both','1031157711',NULL,'Sample Data','Margaret','','Jones',4,NULL,NULL,NULL,1,NULL,'Dear Margaret',1,NULL,'Dear Margaret',1,NULL,'Dr. Margaret Jones',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (129,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Olsen family','Olsen family',NULL,NULL,NULL,NULL,NULL,'Both','1990073228',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Olsen family',5,NULL,'Dear Olsen family',2,NULL,'Olsen family',NULL,NULL,NULL,0,NULL,'Olsen family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (130,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Jensen, Esta','Dr. Esta Jensen',NULL,NULL,NULL,NULL,NULL,'Both','4290021443',NULL,'Sample Data','Esta','','Jensen',4,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Dr. Esta Jensen',NULL,1,'1940-02-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (131,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz family','Díaz family',NULL,NULL,NULL,NULL,NULL,'Both','2169249835',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Díaz family',5,NULL,'Dear Díaz family',2,NULL,'Díaz family',NULL,NULL,NULL,0,NULL,'Díaz family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (132,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Prentice-Patel family','Prentice-Patel family',NULL,NULL,NULL,NULL,NULL,'Both','346950560',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Prentice-Patel family',5,NULL,'Dear Prentice-Patel family',2,NULL,'Prentice-Patel family',NULL,NULL,NULL,0,NULL,'Prentice-Patel family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (133,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Lou','Lou Jensen',NULL,NULL,NULL,NULL,NULL,'Both','707335642',NULL,'Sample Data','Lou','','Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Lou',1,NULL,'Dear Lou',1,NULL,'Lou Jensen',NULL,2,'1999-01-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (134,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Claudio','Claudio Díaz',NULL,NULL,NULL,'5',NULL,'Both','4140974764',NULL,'Sample Data','Claudio','O','Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Claudio Díaz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (135,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Yadav, Winford','Dr. Winford Yadav',NULL,NULL,NULL,'3',NULL,'Both','3002231808',NULL,'Sample Data','Winford','C','Yadav',4,NULL,NULL,NULL,1,NULL,'Dear Winford',1,NULL,'Dear Winford',1,NULL,'Dr. Winford Yadav',NULL,2,'1973-03-22',0,NULL,NULL,NULL,'Woodbridge Food Systems',NULL,NULL,93,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (136,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Robertson-Lee, Ivey','Ivey Robertson-Lee',NULL,NULL,NULL,NULL,NULL,'Both','4074561594',NULL,'Sample Data','Ivey','V','Robertson-Lee',NULL,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Ivey Robertson-Lee',NULL,NULL,NULL,0,NULL,NULL,NULL,'North Dakota Education Fund',NULL,NULL,115,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (137,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'zope.jacob@airmail.com','zope.jacob@airmail.com',NULL,NULL,NULL,NULL,NULL,'Both','2287501513',NULL,'Sample Data',NULL,NULL,NULL,NULL,3,NULL,NULL,1,NULL,'Dear zope.jacob@airmail.com',1,NULL,'Dear zope.jacob@airmail.com',1,NULL,'zope.jacob@airmail.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:45'),
- (138,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'McReynolds, Jina','Jina McReynolds',NULL,NULL,NULL,NULL,NULL,'Both','644172968',NULL,'Sample Data','Jina','B','McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Jina',1,NULL,'Dear Jina',1,NULL,'Jina McReynolds',NULL,NULL,'1996-10-31',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (139,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'rodrigojensen@airmail.com','rodrigojensen@airmail.com',NULL,NULL,NULL,NULL,NULL,'Both','4041959983',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear rodrigojensen@airmail.com',1,NULL,'Dear rodrigojensen@airmail.com',1,NULL,'rodrigojensen@airmail.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (140,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Jackson','Jackson Nielsen Sr.',NULL,NULL,NULL,NULL,NULL,'Both','1699263324',NULL,'Sample Data','Jackson','','Nielsen',NULL,2,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Jackson Nielsen Sr.',NULL,2,'2003-04-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (141,'Household',NULL,0,1,0,0,1,0,NULL,NULL,'Patel family','Patel family',NULL,NULL,NULL,'5',NULL,'Both','1669281794',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Patel family',5,NULL,'Dear Patel family',2,NULL,'Patel family',NULL,NULL,NULL,0,NULL,'Patel family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (142,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Santina','Dr. Santina Dimitrov',NULL,NULL,NULL,'1',NULL,'Both','500419738',NULL,'Sample Data','Santina','L','Dimitrov',4,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Dr. Santina Dimitrov',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (143,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Rebekah','Mrs. Rebekah Terry',NULL,NULL,NULL,'2',NULL,'Both','2103758784',NULL,'Sample Data','Rebekah','C','Terry',1,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Mrs. Rebekah Terry',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (144,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jensen, Alida','Alida Jensen',NULL,NULL,NULL,'5',NULL,'Both','2481864590',NULL,'Sample Data','Alida','','Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Alida',1,NULL,'Dear Alida',1,NULL,'Alida Jensen',NULL,1,'1939-06-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (145,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wilson, Margaret','Margaret Wilson',NULL,NULL,NULL,NULL,NULL,'Both','2853804377',NULL,'Sample Data','Margaret','R','Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Margaret',1,NULL,'Dear Margaret',1,NULL,'Margaret Wilson',NULL,1,'1980-10-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (146,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Dimitrov, Clint','Clint Dimitrov Sr.',NULL,NULL,NULL,NULL,NULL,'Both','2522553536',NULL,'Sample Data','Clint','V','Dimitrov',NULL,2,NULL,NULL,1,NULL,'Dear Clint',1,NULL,'Dear Clint',1,NULL,'Clint Dimitrov Sr.',NULL,NULL,'1984-09-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (147,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Beula','Ms. Beula Müller',NULL,NULL,NULL,'1',NULL,'Both','521667941',NULL,'Sample Data','Beula','','Müller',2,NULL,NULL,NULL,1,NULL,'Dear Beula',1,NULL,'Dear Beula',1,NULL,'Ms. Beula Müller',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (148,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'McReynolds, Teresa','Teresa McReynolds',NULL,NULL,NULL,NULL,NULL,'Both','2267068970',NULL,'Sample Data','Teresa','','McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Teresa',1,NULL,'Dear Teresa',1,NULL,'Teresa McReynolds',NULL,NULL,'1965-06-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (149,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'tzope@airmail.org','tzope@airmail.org',NULL,NULL,NULL,'5',NULL,'Both','2427648729',NULL,'Sample Data',NULL,NULL,NULL,3,4,NULL,NULL,1,NULL,'Dear tzope@airmail.org',1,NULL,'Dear tzope@airmail.org',1,NULL,'tzope@airmail.org',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (150,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Russell','Dr. Russell Blackwell II',NULL,NULL,NULL,NULL,NULL,'Both','2850885391',NULL,'Sample Data','Russell','','Blackwell',4,3,NULL,NULL,1,NULL,'Dear Russell',1,NULL,'Dear Russell',1,NULL,'Dr. Russell Blackwell II',NULL,2,'1971-03-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:41'),
- (151,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Reynolds family','Reynolds family',NULL,NULL,NULL,NULL,NULL,'Both','4119726021',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Reynolds family',5,NULL,'Dear Reynolds family',2,NULL,'Reynolds family',NULL,NULL,NULL,0,NULL,'Reynolds family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (152,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Nielsen, Sharyn','Sharyn Nielsen',NULL,NULL,NULL,'2',NULL,'Both','3940504410',NULL,'Sample Data','Sharyn','','Nielsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Sharyn',1,NULL,'Dear Sharyn',1,NULL,'Sharyn Nielsen',NULL,1,'1983-12-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (153,'Household',NULL,1,1,0,0,0,0,NULL,NULL,'Jensen family','Jensen family',NULL,NULL,NULL,NULL,NULL,'Both','797435572',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jensen family',5,NULL,'Dear Jensen family',2,NULL,'Jensen family',NULL,NULL,NULL,0,NULL,'Jensen family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (154,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Robertson-Díaz, Margaret','Dr. Margaret Robertson-Díaz',NULL,NULL,NULL,'1',NULL,'Both','1384250054',NULL,'Sample Data','Margaret','','Robertson-Díaz',4,NULL,NULL,NULL,1,NULL,'Dear Margaret',1,NULL,'Dear Margaret',1,NULL,'Dr. Margaret Robertson-Díaz',NULL,1,'1976-02-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (155,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Landon','Landon Müller II',NULL,NULL,NULL,NULL,NULL,'Both','2647475480',NULL,'Sample Data','Landon','Z','Müller',NULL,3,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Landon Müller II',NULL,2,'1993-10-09',0,NULL,NULL,NULL,'Global Empowerment Fellowship',NULL,NULL,109,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (156,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Jed','Jed Terry III',NULL,NULL,NULL,NULL,NULL,'Both','2004213447',NULL,'Sample Data','Jed','','Terry',NULL,4,NULL,NULL,1,NULL,'Dear Jed',1,NULL,'Dear Jed',1,NULL,'Jed Terry III',NULL,2,'1966-12-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (157,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Lou','Lou Lee Jr.',NULL,NULL,NULL,NULL,NULL,'Both','2234392100',NULL,'Sample Data','Lou','L','Lee',NULL,1,NULL,NULL,1,NULL,'Dear Lou',1,NULL,'Dear Lou',1,NULL,'Lou Lee Jr.',NULL,2,'1952-02-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (158,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav, Rosario','Dr. Rosario Yadav',NULL,NULL,NULL,'4',NULL,'Both','422504705',NULL,'Sample Data','Rosario','','Yadav',4,NULL,NULL,NULL,1,NULL,'Dear Rosario',1,NULL,'Dear Rosario',1,NULL,'Dr. Rosario Yadav',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (159,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Nielsen, Carlos','Carlos Nielsen Jr.',NULL,NULL,NULL,NULL,NULL,'Both','3482557621',NULL,'Sample Data','Carlos','','Nielsen',NULL,1,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Carlos Nielsen Jr.',NULL,2,'1966-01-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (160,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Elina','Elina Zope',NULL,NULL,NULL,NULL,NULL,'Both','3511494831',NULL,'Sample Data','Elina','','Zope',NULL,NULL,NULL,NULL,1,NULL,'Dear Elina',1,NULL,'Dear Elina',1,NULL,'Elina Zope',NULL,1,'1965-08-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:45'),
- (161,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'kandacer@example.co.nz','kandacer@example.co.nz',NULL,NULL,NULL,NULL,NULL,'Both','1963558050',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear kandacer@example.co.nz',1,NULL,'Dear kandacer@example.co.nz',1,NULL,'kandacer@example.co.nz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:41'),
- (162,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Robertson, Andrew','Andrew Robertson',NULL,NULL,NULL,'2',NULL,'Both','2591611250',NULL,'Sample Data','Andrew','W','Robertson',NULL,NULL,NULL,NULL,1,NULL,'Dear Andrew',1,NULL,'Dear Andrew',1,NULL,'Andrew Robertson',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (163,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Olsen, Jerome','Mr. Jerome Olsen II',NULL,NULL,NULL,'2',NULL,'Both','2369616352',NULL,'Sample Data','Jerome','O','Olsen',3,3,NULL,NULL,1,NULL,'Dear Jerome',1,NULL,'Dear Jerome',1,NULL,'Mr. Jerome Olsen II',NULL,NULL,'1963-03-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (164,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Terry, Kathleen','Mrs. Kathleen Terry',NULL,NULL,NULL,'3',NULL,'Both','1992671393',NULL,'Sample Data','Kathleen','G','Terry',1,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Mrs. Kathleen Terry',NULL,1,'1979-02-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (165,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Dimitrov, Jay','Jay Dimitrov III',NULL,NULL,NULL,'1',NULL,'Both','512179988',NULL,'Sample Data','Jay','X','Dimitrov',NULL,4,NULL,NULL,1,NULL,'Dear Jay',1,NULL,'Dear Jay',1,NULL,'Jay Dimitrov III',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (166,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Main Sustainability Systems','Main Sustainability Systems',NULL,NULL,NULL,NULL,NULL,'Both','2655669025',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Main Sustainability Systems',NULL,NULL,NULL,0,NULL,NULL,NULL,'Main Sustainability Systems',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (167,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'González, Elbert','Elbert González III',NULL,NULL,NULL,'3',NULL,'Both','672613238',NULL,'Sample Data','Elbert','Y','González',NULL,4,NULL,NULL,1,NULL,'Dear Elbert',1,NULL,'Dear Elbert',1,NULL,'Elbert González III',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (168,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Parker, Elizabeth','Dr. Elizabeth Parker',NULL,NULL,NULL,NULL,NULL,'Both','3038072630',NULL,'Sample Data','Elizabeth','D','Parker',4,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Dr. Elizabeth Parker',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (169,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Terry family','Terry family',NULL,NULL,NULL,'5',NULL,'Both','558108751',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Terry family',5,NULL,'Dear Terry family',2,NULL,'Terry family',NULL,NULL,NULL,0,NULL,'Terry family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (170,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Merrie','Mrs. Merrie Nielsen',NULL,NULL,NULL,NULL,NULL,'Both','3023030184',NULL,'Sample Data','Merrie','','Nielsen',1,NULL,NULL,NULL,1,NULL,'Dear Merrie',1,NULL,'Dear Merrie',1,NULL,'Mrs. Merrie Nielsen',NULL,1,'1986-07-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (171,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Díaz, Clint','Dr. Clint Díaz',NULL,NULL,NULL,NULL,NULL,'Both','3503793680',NULL,'Sample Data','Clint','U','Díaz',4,NULL,NULL,NULL,1,NULL,'Dear Clint',1,NULL,'Dear Clint',1,NULL,'Dr. Clint Díaz',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (172,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'jacobs.arlyne@notmail.co.pl','jacobs.arlyne@notmail.co.pl',NULL,NULL,NULL,NULL,NULL,'Both','2319530401',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear jacobs.arlyne@notmail.co.pl',1,NULL,'Dear jacobs.arlyne@notmail.co.pl',1,NULL,'jacobs.arlyne@notmail.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (173,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Progressive Peace Initiative','Progressive Peace Initiative',NULL,NULL,NULL,'3',NULL,'Both','1955301488',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Progressive Peace Initiative',NULL,NULL,NULL,0,NULL,NULL,86,'Progressive Peace Initiative',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (174,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Lee, Irvin','Irvin Lee Sr.',NULL,NULL,NULL,'5',NULL,'Both','1021209038',NULL,'Sample Data','Irvin','','Lee',NULL,2,NULL,NULL,1,NULL,'Dear Irvin',1,NULL,'Dear Irvin',1,NULL,'Irvin Lee Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (175,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Patel, Herminia','Mrs. Herminia Patel',NULL,NULL,NULL,NULL,NULL,'Both','2166987565',NULL,'Sample Data','Herminia','T','Patel',1,NULL,NULL,NULL,1,NULL,'Dear Herminia',1,NULL,'Dear Herminia',1,NULL,'Mrs. Herminia Patel',NULL,1,'1991-09-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (176,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Díaz, Jackson','Jackson Díaz II',NULL,NULL,NULL,'4',NULL,'Both','770065800',NULL,'Sample Data','Jackson','','Díaz',NULL,3,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Jackson Díaz II',NULL,2,'1987-03-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (177,'Household',NULL,0,0,0,0,1,0,NULL,NULL,'Zope family','Zope family',NULL,NULL,NULL,'4',NULL,'Both','1649131487',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Zope family',5,NULL,'Dear Zope family',2,NULL,'Zope family',NULL,NULL,NULL,0,NULL,'Zope family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (178,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Northpoint Legal Partners','Northpoint Legal Partners',NULL,NULL,NULL,NULL,NULL,'Both','4066741361',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Northpoint Legal Partners',NULL,NULL,NULL,0,NULL,NULL,3,'Northpoint Legal Partners',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (179,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Wilson, Norris','Norris Wilson',NULL,NULL,NULL,'1',NULL,'Both','1089092056',NULL,'Sample Data','Norris','','Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Norris',1,NULL,'Dear Norris',1,NULL,'Norris Wilson',NULL,NULL,'1993-02-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (180,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Yadav, Mei','Mrs. Mei Yadav',NULL,NULL,NULL,NULL,NULL,'Both','3106759273',NULL,'Sample Data','Mei','R','Yadav',1,NULL,NULL,NULL,1,NULL,'Dear Mei',1,NULL,'Dear Mei',1,NULL,'Mrs. Mei Yadav',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (181,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Łąchowski, Kathlyn','Kathlyn Łąchowski',NULL,NULL,NULL,'3',NULL,'Both','336052777',NULL,'Sample Data','Kathlyn','H','Łąchowski',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathlyn',1,NULL,'Dear Kathlyn',1,NULL,'Kathlyn Łąchowski',NULL,NULL,'1988-04-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (182,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Prentice, Claudio','Mr. Claudio Prentice II',NULL,NULL,NULL,'2',NULL,'Both','2511779749',NULL,'Sample Data','Claudio','Q','Prentice',3,3,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Mr. Claudio Prentice II',NULL,2,'1986-09-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (183,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'syadav@example.net','syadav@example.net',NULL,NULL,NULL,NULL,NULL,'Both','1847437029',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear syadav@example.net',1,NULL,'Dear syadav@example.net',1,NULL,'syadav@example.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (184,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Bay Health School','Bay Health School',NULL,NULL,NULL,NULL,NULL,'Both','1225013054',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Bay Health School',NULL,NULL,NULL,0,NULL,NULL,119,'Bay Health School',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (185,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Ivey','Ivey Smith',NULL,NULL,NULL,'3',NULL,'Both','4175270008',NULL,'Sample Data','Ivey','','Smith',NULL,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Ivey Smith',NULL,1,NULL,1,'2021-05-27',NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (186,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Robertson-Lee, Ivey','Ivey Robertson-Lee',NULL,NULL,NULL,'4',NULL,'Both','4074561594',NULL,'Sample Data','Ivey','','Robertson-Lee',NULL,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Ivey Robertson-Lee',NULL,NULL,'2018-03-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (187,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Global Food Fellowship','Global Food Fellowship',NULL,NULL,NULL,NULL,NULL,'Both','2000763259',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Global Food Fellowship',NULL,NULL,NULL,0,NULL,NULL,NULL,'Global Food Fellowship',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (188,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'McReynolds, Ashley','Ashley McReynolds',NULL,NULL,NULL,NULL,NULL,'Both','68872917',NULL,'Sample Data','Ashley','K','McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Ashley McReynolds',NULL,1,'1985-04-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (189,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'ts.cooper1@infomail.co.uk','ts.cooper1@infomail.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','211386836',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear ts.cooper1@infomail.co.uk',1,NULL,'Dear ts.cooper1@infomail.co.uk',1,NULL,'ts.cooper1@infomail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (190,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'reynolds.omar75@mymail.com','reynolds.omar75@mymail.com',NULL,NULL,NULL,NULL,NULL,'Both','3353202690',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear reynolds.omar75@mymail.com',1,NULL,'Dear reynolds.omar75@mymail.com',1,NULL,'reynolds.omar75@mymail.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (191,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Barkley, Roland','Roland Barkley Sr.',NULL,NULL,NULL,'4',NULL,'Both','2752517625',NULL,'Sample Data','Roland','P','Barkley',NULL,2,NULL,NULL,1,NULL,'Dear Roland',1,NULL,'Dear Roland',1,NULL,'Roland Barkley Sr.',NULL,NULL,'1994-12-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (192,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Bob','Dr. Bob Cooper',NULL,NULL,NULL,NULL,NULL,'Both','585875995',NULL,'Sample Data','Bob','B','Cooper',4,NULL,NULL,NULL,1,NULL,'Dear Bob',1,NULL,'Dear Bob',1,NULL,'Dr. Bob Cooper',NULL,2,'1961-10-31',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (193,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'González, Rodrigo','Mr. Rodrigo González',NULL,NULL,NULL,NULL,NULL,'Both','2713589605',NULL,'Sample Data','Rodrigo','N','González',3,NULL,NULL,NULL,1,NULL,'Dear Rodrigo',1,NULL,'Dear Rodrigo',1,NULL,'Mr. Rodrigo González',NULL,2,'1983-11-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (194,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Grant, Andrew','Andrew Grant',NULL,NULL,NULL,'2',NULL,'Both','1115216015',NULL,'Sample Data','Andrew','','Grant',NULL,NULL,NULL,NULL,1,NULL,'Dear Andrew',1,NULL,'Dear Andrew',1,NULL,'Andrew Grant',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (195,'Organization',NULL,0,1,0,0,1,0,NULL,NULL,'Watertown Food Partnership','Watertown Food Partnership',NULL,NULL,NULL,NULL,NULL,'Both','2806884581',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Watertown Food Partnership',NULL,NULL,NULL,0,NULL,NULL,28,'Watertown Food Partnership',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (196,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Robertson, Ray','Ray Robertson III',NULL,NULL,NULL,NULL,NULL,'Both','2006955715',NULL,'Sample Data','Ray','A','Robertson',NULL,4,NULL,NULL,1,NULL,'Dear Ray',1,NULL,'Dear Ray',1,NULL,'Ray Robertson III',NULL,2,'1960-07-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (197,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Terrell, Mei','Mei Terrell',NULL,NULL,NULL,'1',NULL,'Both','306991433',NULL,'Sample Data','Mei','H','Terrell',NULL,NULL,NULL,NULL,1,NULL,'Dear Mei',1,NULL,'Dear Mei',1,NULL,'Mei Terrell',NULL,1,'1996-07-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (198,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'McReynolds, Shauna','Shauna McReynolds',NULL,NULL,NULL,'4',NULL,'Both','3277027646',NULL,'Sample Data','Shauna','O','McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Shauna McReynolds',NULL,NULL,'1981-11-13',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (199,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski, Sherman','Sherman Łąchowski II',NULL,NULL,NULL,NULL,NULL,'Both','2261039855',NULL,'Sample Data','Sherman','F','Łąchowski',NULL,3,NULL,NULL,1,NULL,'Dear Sherman',1,NULL,'Dear Sherman',1,NULL,'Sherman Łąchowski II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (200,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Blackwell, Princess','Dr. Princess Blackwell',NULL,NULL,NULL,NULL,NULL,'Both','3511098981',NULL,'Sample Data','Princess','','Blackwell',4,NULL,NULL,NULL,1,NULL,'Dear Princess',1,NULL,'Dear Princess',1,NULL,'Dr. Princess Blackwell',NULL,NULL,'1948-07-16',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (201,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Terry family','Terry family',NULL,NULL,NULL,'2',NULL,'Both','558108751',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Terry family',5,NULL,'Dear Terry family',2,NULL,'Terry family',NULL,NULL,NULL,0,NULL,'Terry family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (202,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Jenny','Jenny Lee',NULL,NULL,NULL,NULL,'en_US','Both','a2a481102fae46becac85c8b5bf9c253',NULL,NULL,'Jenny',NULL,'Lee',NULL,NULL,NULL,1,1,NULL,'Dear Jenny',1,NULL,'Dear Jenny',1,NULL,'Jenny Lee','Volunteer coordinator',NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46');
+ (1,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Default Organization','Default Organization',NULL,'Default Organization',NULL,NULL,NULL,'Both',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,'Default Organization',NULL,NULL,NULL,0,NULL,'2022-02-28 22:32:34'),
+ (2,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Olsen, Elbert','Elbert Olsen Jr.',NULL,NULL,NULL,'5',NULL,'Both','2334086497',NULL,'Sample Data','Elbert','','Olsen',NULL,1,NULL,NULL,1,NULL,'Dear Elbert',1,NULL,'Dear Elbert',1,NULL,'Elbert Olsen Jr.',NULL,NULL,'1940-01-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (3,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jones, Norris','Mr. Norris Jones Jr.',NULL,NULL,NULL,NULL,NULL,'Both','2315660840',NULL,'Sample Data','Norris','','Jones',3,1,NULL,NULL,1,NULL,'Dear Norris',1,NULL,'Dear Norris',1,NULL,'Mr. Norris Jones Jr.',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (4,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wattson, Sharyn','Mrs. Sharyn Wattson',NULL,NULL,NULL,'3',NULL,'Both','2670834136',NULL,'Sample Data','Sharyn','V','Wattson',1,NULL,NULL,NULL,1,NULL,'Dear Sharyn',1,NULL,'Dear Sharyn',1,NULL,'Mrs. Sharyn Wattson',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (5,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Junko','Ms. Junko Jones',NULL,NULL,NULL,'2',NULL,'Both','3254186828',NULL,'Sample Data','Junko','','Jones',2,NULL,NULL,NULL,1,NULL,'Dear Junko',1,NULL,'Dear Junko',1,NULL,'Ms. Junko Jones',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (6,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Samson, Erik','Erik Samson',NULL,NULL,NULL,'1',NULL,'Both','3125830738',NULL,'Sample Data','Erik','L','Samson',NULL,NULL,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Erik Samson',NULL,2,'2019-11-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (7,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'González-Wattson, Kacey','Mrs. Kacey González-Wattson',NULL,NULL,NULL,NULL,NULL,'Both','1729695203',NULL,'Sample Data','Kacey','','González-Wattson',1,NULL,NULL,NULL,1,NULL,'Dear Kacey',1,NULL,'Dear Kacey',1,NULL,'Mrs. Kacey González-Wattson',NULL,NULL,'1961-07-31',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (8,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Wilson-Adams family','Wilson-Adams family',NULL,NULL,NULL,NULL,NULL,'Both','1170289372',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Wilson-Adams family',5,NULL,'Dear Wilson-Adams family',2,NULL,'Wilson-Adams family',NULL,NULL,NULL,0,NULL,'Wilson-Adams family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (9,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'rolandi29@airmail.co.nz','rolandi29@airmail.co.nz',NULL,NULL,NULL,NULL,NULL,'Both','1075511403',NULL,'Sample Data',NULL,NULL,NULL,3,NULL,NULL,NULL,1,NULL,'Dear rolandi29@airmail.co.nz',1,NULL,'Dear rolandi29@airmail.co.nz',1,NULL,'rolandi29@airmail.co.nz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (10,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jensen, Ivey','Ms. Ivey Jensen',NULL,NULL,NULL,NULL,NULL,'Both','4078718550',NULL,'Sample Data','Ivey','','Jensen',2,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Ms. Ivey Jensen',NULL,1,'1972-07-13',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (11,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Smith, Jed','Jed Smith III',NULL,NULL,NULL,'5',NULL,'Both','2767892191',NULL,'Sample Data','Jed','B','Smith',NULL,4,NULL,NULL,1,NULL,'Dear Jed',1,NULL,'Dear Jed',1,NULL,'Jed Smith III',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (12,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Truman','Truman Jameson',NULL,NULL,NULL,'5',NULL,'Both','4265431677',NULL,'Sample Data','Truman','F','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Truman',1,NULL,'Dear Truman',1,NULL,'Truman Jameson',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (13,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Angelika','Angelika Zope',NULL,NULL,NULL,NULL,NULL,'Both','797627515',NULL,'Sample Data','Angelika','V','Zope',NULL,NULL,NULL,NULL,1,NULL,'Dear Angelika',1,NULL,'Dear Angelika',1,NULL,'Angelika Zope',NULL,NULL,'1990-07-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (14,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Ivanov, Magan','Dr. Magan Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','4273390544',NULL,'Sample Data','Magan','','Ivanov',4,NULL,NULL,NULL,1,NULL,'Dear Magan',1,NULL,'Dear Magan',1,NULL,'Dr. Magan Ivanov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (15,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Jed','Mr. Jed Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','435001033',NULL,'Sample Data','Jed','C','Dimitrov',3,NULL,NULL,NULL,1,NULL,'Dear Jed',1,NULL,'Dear Jed',1,NULL,'Mr. Jed Dimitrov',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (16,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'allenw@example.co.uk','allenw@example.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','1737954341',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear allenw@example.co.uk',1,NULL,'Dear allenw@example.co.uk',1,NULL,'allenw@example.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (17,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Zope-Patel, Heidi','Mrs. Heidi Zope-Patel',NULL,NULL,NULL,'3',NULL,'Both','638560813',NULL,'Sample Data','Heidi','','Zope-Patel',1,NULL,NULL,NULL,1,NULL,'Dear Heidi',1,NULL,'Dear Heidi',1,NULL,'Mrs. Heidi Zope-Patel',NULL,NULL,'1991-08-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (18,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Shauna','Mrs. Shauna Jameson',NULL,NULL,NULL,'1',NULL,'Both','318889656',NULL,'Sample Data','Shauna','Z','Jameson',1,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Mrs. Shauna Jameson',NULL,1,'1984-11-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (19,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Grant, Jay','Dr. Jay Grant II',NULL,NULL,NULL,'2',NULL,'Both','2599662053',NULL,'Sample Data','Jay','','Grant',4,3,NULL,NULL,1,NULL,'Dear Jay',1,NULL,'Dear Jay',1,NULL,'Dr. Jay Grant II',NULL,2,'1994-07-02',0,NULL,NULL,NULL,'Texas Sports Collective',NULL,NULL,33,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (20,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Brittney','Ms. Brittney Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','3787428926',NULL,'Sample Data','Brittney','H','Ivanov',2,NULL,NULL,NULL,1,NULL,'Dear Brittney',1,NULL,'Dear Brittney',1,NULL,'Ms. Brittney Ivanov',NULL,1,'1967-05-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (21,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Nielsen, Rolando','Mr. Rolando Nielsen',NULL,NULL,NULL,'1',NULL,'Both','1720954446',NULL,'Sample Data','Rolando','','Nielsen',3,NULL,NULL,NULL,1,NULL,'Dear Rolando',1,NULL,'Dear Rolando',1,NULL,'Mr. Rolando Nielsen',NULL,2,'1985-02-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (22,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'Second Food Solutions','Second Food Solutions',NULL,NULL,NULL,'2',NULL,'Both','76406672',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Second Food Solutions',NULL,NULL,NULL,0,NULL,NULL,119,'Second Food Solutions',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (23,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'Florida Legal Solutions','Florida Legal Solutions',NULL,NULL,NULL,NULL,NULL,'Both','2442123230',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Florida Legal Solutions',NULL,NULL,NULL,0,NULL,NULL,186,'Florida Legal Solutions',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (24,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Claudio','Claudio Cooper Jr.',NULL,NULL,NULL,NULL,NULL,'Both','1104394960',NULL,'Sample Data','Claudio','T','Cooper',NULL,1,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Claudio Cooper Jr.',NULL,NULL,'1967-12-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (25,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'United Legal Collective','United Legal Collective',NULL,NULL,NULL,'1',NULL,'Both','2661317955',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'United Legal Collective',NULL,NULL,NULL,0,NULL,NULL,128,'United Legal Collective',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (26,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Prentice, Eleonor','Eleonor Prentice',NULL,NULL,NULL,NULL,NULL,'Both','76143917',NULL,'Sample Data','Eleonor','Q','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Eleonor',1,NULL,'Dear Eleonor',1,NULL,'Eleonor Prentice',NULL,1,'1979-04-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (27,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Santina','Santina Nielsen',NULL,NULL,NULL,'4',NULL,'Both','4294042447',NULL,'Sample Data','Santina','D','Nielsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Santina Nielsen',NULL,1,NULL,0,NULL,NULL,NULL,'Woodbridge Sustainability Partnership',NULL,NULL,153,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (28,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman, Laree','Laree Bachman',NULL,NULL,NULL,'5',NULL,'Both','3736989072',NULL,'Sample Data','Laree','L','Bachman',NULL,NULL,NULL,NULL,1,NULL,'Dear Laree',1,NULL,'Dear Laree',1,NULL,'Laree Bachman',NULL,1,'1989-07-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (29,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Jones, Lawerence','Lawerence Jones Sr.',NULL,NULL,NULL,NULL,NULL,'Both','267362464',NULL,'Sample Data','Lawerence','','Jones',NULL,2,NULL,NULL,1,NULL,'Dear Lawerence',1,NULL,'Dear Lawerence',1,NULL,'Lawerence Jones Sr.',NULL,NULL,'1978-04-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (30,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Toby','Mr. Toby Ivanov Jr.',NULL,NULL,NULL,'5',NULL,'Both','606506972',NULL,'Sample Data','Toby','','Ivanov',3,1,NULL,NULL,1,NULL,'Dear Toby',1,NULL,'Dear Toby',1,NULL,'Mr. Toby Ivanov Jr.',NULL,2,'1950-02-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (31,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'dimitrov.toby@spamalot.co.uk','dimitrov.toby@spamalot.co.uk',NULL,NULL,NULL,'3',NULL,'Both','476608626',NULL,'Sample Data',NULL,NULL,NULL,NULL,1,NULL,NULL,1,NULL,'Dear dimitrov.toby@spamalot.co.uk',1,NULL,'Dear dimitrov.toby@spamalot.co.uk',1,NULL,'dimitrov.toby@spamalot.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (32,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Daren','Mr. Daren Cooper Jr.',NULL,NULL,NULL,'2',NULL,'Both','1555868236',NULL,'Sample Data','Daren','','Cooper',3,1,NULL,NULL,1,NULL,'Dear Daren',1,NULL,'Dear Daren',1,NULL,'Mr. Daren Cooper Jr.',NULL,NULL,'1988-09-28',0,NULL,NULL,NULL,'Lincoln Culture Partners',NULL,NULL,158,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (33,'Organization',NULL,1,0,0,0,1,0,NULL,NULL,'Texas Sports Collective','Texas Sports Collective',NULL,NULL,NULL,'1',NULL,'Both','2525964911',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Texas Sports Collective',NULL,NULL,NULL,0,NULL,NULL,19,'Texas Sports Collective',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (34,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Kenny','Dr. Kenny Ivanov',NULL,NULL,NULL,'2',NULL,'Both','4111336352',NULL,'Sample Data','Kenny','','Ivanov',4,NULL,NULL,NULL,1,NULL,'Dear Kenny',1,NULL,'Dear Kenny',1,NULL,'Dr. Kenny Ivanov',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (35,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Prentice family','Prentice family',NULL,NULL,NULL,NULL,NULL,'Both','3313623671',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Prentice family',5,NULL,'Dear Prentice family',2,NULL,'Prentice family',NULL,NULL,NULL,0,NULL,'Prentice family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (36,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Barkley, Brent','Dr. Brent Barkley',NULL,NULL,NULL,NULL,NULL,'Both','2030248670',NULL,'Sample Data','Brent','M','Barkley',4,NULL,NULL,NULL,1,NULL,'Dear Brent',1,NULL,'Dear Brent',1,NULL,'Dr. Brent Barkley',NULL,NULL,'1966-09-13',0,NULL,NULL,NULL,'Houston Legal Association',NULL,NULL,58,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (37,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Dowlen Legal Fellowship','Dowlen Legal Fellowship',NULL,NULL,NULL,'5',NULL,'Both','2673096794',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Dowlen Legal Fellowship',NULL,NULL,NULL,0,NULL,NULL,NULL,'Dowlen Legal Fellowship',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (38,'Household',NULL,1,0,0,0,1,0,NULL,NULL,'Nielsen family','Nielsen family',NULL,NULL,NULL,NULL,NULL,'Both','766698874',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Nielsen family',5,NULL,'Dear Nielsen family',2,NULL,'Nielsen family',NULL,NULL,NULL,0,NULL,'Nielsen family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (39,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Cooper, Truman','Truman Cooper',NULL,NULL,NULL,'3',NULL,'Both','938772676',NULL,'Sample Data','Truman','M','Cooper',NULL,NULL,NULL,NULL,1,NULL,'Dear Truman',1,NULL,'Dear Truman',1,NULL,'Truman Cooper',NULL,2,'2016-03-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (40,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Billy','Billy Blackwell',NULL,NULL,NULL,NULL,NULL,'Both','2930839819',NULL,'Sample Data','Billy','X','Blackwell',NULL,NULL,NULL,NULL,1,NULL,'Dear Billy',1,NULL,'Dear Billy',1,NULL,'Billy Blackwell',NULL,2,'1993-02-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (41,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Jameson family','Jameson family',NULL,NULL,NULL,'3',NULL,'Both','2255649769',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jameson family',5,NULL,'Dear Jameson family',2,NULL,'Jameson family',NULL,NULL,NULL,0,NULL,'Jameson family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (42,'Household',NULL,0,0,0,0,1,0,NULL,NULL,'Blackwell family','Blackwell family',NULL,NULL,NULL,NULL,NULL,'Both','3218641510',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Blackwell family',5,NULL,'Dear Blackwell family',2,NULL,'Blackwell family',NULL,NULL,NULL,0,NULL,'Blackwell family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (43,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Gibbon Health Partners','Gibbon Health Partners',NULL,NULL,NULL,NULL,NULL,'Both','2662568902',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Gibbon Health Partners',NULL,NULL,NULL,0,NULL,NULL,NULL,'Gibbon Health Partners',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (44,'Household',NULL,0,0,0,0,1,0,NULL,NULL,'Cooper family','Cooper family',NULL,NULL,NULL,NULL,NULL,'Both','1133003930',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Cooper family',5,NULL,'Dear Cooper family',2,NULL,'Cooper family',NULL,NULL,NULL,0,NULL,'Cooper family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (45,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Robertson, Rodrigo','Rodrigo Robertson Sr.',NULL,NULL,NULL,'5',NULL,'Both','1865172302',NULL,'Sample Data','Rodrigo','','Robertson',NULL,2,NULL,NULL,1,NULL,'Dear Rodrigo',1,NULL,'Dear Rodrigo',1,NULL,'Rodrigo Robertson Sr.',NULL,2,'1945-12-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (46,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Landon','Landon Lee II',NULL,NULL,NULL,NULL,NULL,'Both','4144706447',NULL,'Sample Data','Landon','X','Lee',NULL,3,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Landon Lee II',NULL,2,'1950-08-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (47,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Patel, Lashawnda','Mrs. Lashawnda Patel',NULL,NULL,NULL,'4',NULL,'Both','3886858056',NULL,'Sample Data','Lashawnda','Z','Patel',1,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Mrs. Lashawnda Patel',NULL,NULL,'1989-06-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (48,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Barry','Barry Zope Sr.',NULL,NULL,NULL,'1',NULL,'Both','1953474040',NULL,'Sample Data','Barry','','Zope',NULL,2,NULL,NULL,1,NULL,'Dear Barry',1,NULL,'Dear Barry',1,NULL,'Barry Zope Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (49,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Damaris','Damaris Cooper',NULL,NULL,NULL,NULL,NULL,'Both','785070532',NULL,'Sample Data','Damaris','','Cooper',NULL,NULL,NULL,NULL,1,NULL,'Dear Damaris',1,NULL,'Dear Damaris',1,NULL,'Damaris Cooper',NULL,1,'1957-10-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (50,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Angelika','Angelika Lee',NULL,NULL,NULL,NULL,NULL,'Both','2658551791',NULL,'Sample Data','Angelika','E','Lee',NULL,NULL,NULL,NULL,1,NULL,'Dear Angelika',1,NULL,'Dear Angelika',1,NULL,'Angelika Lee',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (51,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Lee, Truman','Truman Lee Jr.',NULL,NULL,NULL,'3',NULL,'Both','696555700',NULL,'Sample Data','Truman','M','Lee',NULL,1,NULL,NULL,1,NULL,'Dear Truman',1,NULL,'Dear Truman',1,NULL,'Truman Lee Jr.',NULL,2,'1981-09-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (52,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'wilsons@sample.co.uk','wilsons@sample.co.uk',NULL,NULL,NULL,'4',NULL,'Both','428975404',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear wilsons@sample.co.uk',1,NULL,'Dear wilsons@sample.co.uk',1,NULL,'wilsons@sample.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (53,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Reynolds, Erik','Erik Reynolds',NULL,NULL,NULL,'1',NULL,'Both','2291582493',NULL,'Sample Data','Erik','','Reynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Erik Reynolds',NULL,2,'1995-10-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (54,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Lincoln Food Center','Lincoln Food Center',NULL,NULL,NULL,NULL,NULL,'Both','3871013972',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Lincoln Food Center',NULL,NULL,NULL,0,NULL,NULL,154,'Lincoln Food Center',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (55,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'reynolds.c.irvin@testing.co.nz','reynolds.c.irvin@testing.co.nz',NULL,NULL,NULL,NULL,NULL,'Both','2864275326',NULL,'Sample Data',NULL,NULL,NULL,3,2,NULL,NULL,1,NULL,'Dear reynolds.c.irvin@testing.co.nz',1,NULL,'Dear reynolds.c.irvin@testing.co.nz',1,NULL,'reynolds.c.irvin@testing.co.nz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (56,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Cooper, Felisha','Felisha Cooper',NULL,NULL,NULL,NULL,NULL,'Both','829505946',NULL,'Sample Data','Felisha','','Cooper',NULL,NULL,NULL,NULL,1,NULL,'Dear Felisha',1,NULL,'Dear Felisha',1,NULL,'Felisha Cooper',NULL,1,'1984-01-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (57,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Dimitrov, Alida','Dr. Alida Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','2074690497',NULL,'Sample Data','Alida','W','Dimitrov',4,NULL,NULL,NULL,1,NULL,'Dear Alida',1,NULL,'Dear Alida',1,NULL,'Dr. Alida Dimitrov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (58,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Houston Legal Association','Houston Legal Association',NULL,NULL,NULL,NULL,NULL,'Both','512725889',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Houston Legal Association',NULL,NULL,NULL,0,NULL,NULL,36,'Houston Legal Association',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (59,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Dimitrov, Landon','Mr. Landon Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','3544857327',NULL,'Sample Data','Landon','','Dimitrov',3,NULL,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Mr. Landon Dimitrov',NULL,2,'1935-04-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (60,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Cotopaxi Advocacy Trust','Cotopaxi Advocacy Trust',NULL,NULL,NULL,'3',NULL,'Both','785742322',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Cotopaxi Advocacy Trust',NULL,NULL,NULL,0,NULL,NULL,75,'Cotopaxi Advocacy Trust',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (61,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Prentice, Ashley','Ashley Prentice',NULL,NULL,NULL,'2',NULL,'Both','3283878025',NULL,'Sample Data','Ashley','M','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Ashley Prentice',NULL,1,'1957-09-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (62,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Prentice, Herminia','Herminia Prentice',NULL,NULL,NULL,'4',NULL,'Both','4072784830',NULL,'Sample Data','Herminia','E','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Herminia',1,NULL,'Dear Herminia',1,NULL,'Herminia Prentice',NULL,1,'1967-04-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (63,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Smith-Samson, Ashley','Mrs. Ashley Smith-Samson',NULL,NULL,NULL,'4',NULL,'Both','1734981615',NULL,'Sample Data','Ashley','','Smith-Samson',1,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Mrs. Ashley Smith-Samson',NULL,1,'1972-04-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (64,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Damaris','Damaris Smith',NULL,NULL,NULL,NULL,NULL,'Both','3693080437',NULL,'Sample Data','Damaris','','Smith',NULL,NULL,NULL,NULL,1,NULL,'Dear Damaris',1,NULL,'Dear Damaris',1,NULL,'Damaris Smith',NULL,NULL,'1990-02-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (65,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'rosarioo@sample.co.uk','rosarioo@sample.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','1512294046',NULL,'Sample Data',NULL,NULL,NULL,NULL,3,NULL,NULL,1,NULL,'Dear rosarioo@sample.co.uk',1,NULL,'Dear rosarioo@sample.co.uk',1,NULL,'rosarioo@sample.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (66,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Adams, Kacey','Kacey Adams',NULL,NULL,NULL,NULL,NULL,'Both','1493355367',NULL,'Sample Data','Kacey','','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Kacey',1,NULL,'Dear Kacey',1,NULL,'Kacey Adams',NULL,1,'1974-04-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (67,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Magan','Ms. Magan Jensen',NULL,NULL,NULL,'4',NULL,'Both','1126354572',NULL,'Sample Data','Magan','X','Jensen',2,NULL,NULL,NULL,1,NULL,'Dear Magan',1,NULL,'Dear Magan',1,NULL,'Ms. Magan Jensen',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (68,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Roberts, Erik','Erik Roberts II',NULL,NULL,NULL,NULL,NULL,'Both','210960325',NULL,'Sample Data','Erik','','Roberts',NULL,3,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Erik Roberts II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (69,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Samson, Sonny','Sonny Samson',NULL,NULL,NULL,NULL,NULL,'Both','1273973001',NULL,'Sample Data','Sonny','','Samson',NULL,NULL,NULL,NULL,1,NULL,'Dear Sonny',1,NULL,'Dear Sonny',1,NULL,'Sonny Samson',NULL,NULL,'1943-03-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (70,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'kathlynz67@notmail.info','kathlynz67@notmail.info',NULL,NULL,NULL,NULL,NULL,'Both','1502931880',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear kathlynz67@notmail.info',1,NULL,'Dear kathlynz67@notmail.info',1,NULL,'kathlynz67@notmail.info',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (71,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Samson family','Samson family',NULL,NULL,NULL,'5',NULL,'Both','333421926',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Samson family',5,NULL,'Dear Samson family',2,NULL,'Samson family',NULL,NULL,NULL,0,NULL,'Samson family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (72,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Delana','Dr. Delana Smith',NULL,NULL,NULL,NULL,NULL,'Both','1662574257',NULL,'Sample Data','Delana','N','Smith',4,NULL,NULL,NULL,1,NULL,'Dear Delana',1,NULL,'Dear Delana',1,NULL,'Dr. Delana Smith',NULL,1,'1973-11-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (73,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman-Nielsen, Tanya','Ms. Tanya Bachman-Nielsen',NULL,NULL,NULL,'4',NULL,'Both','1061607687',NULL,'Sample Data','Tanya','','Bachman-Nielsen',2,NULL,NULL,NULL,1,NULL,'Dear Tanya',1,NULL,'Dear Tanya',1,NULL,'Ms. Tanya Bachman-Nielsen',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (74,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Patel, Princess','Princess Patel',NULL,NULL,NULL,'3',NULL,'Both','2193825645',NULL,'Sample Data','Princess','','Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Princess',1,NULL,'Dear Princess',1,NULL,'Princess Patel',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (75,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'shaunaj@infomail.com','shaunaj@infomail.com',NULL,NULL,NULL,NULL,NULL,'Both','2986825551',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear shaunaj@infomail.com',1,NULL,'Dear shaunaj@infomail.com',1,NULL,'shaunaj@infomail.com',NULL,NULL,NULL,0,NULL,NULL,NULL,'Cotopaxi Advocacy Trust',NULL,NULL,60,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (76,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Zope, Megan','Megan Zope',NULL,NULL,NULL,NULL,NULL,'Both','2173436080',NULL,'Sample Data','Megan','','Zope',NULL,NULL,NULL,NULL,1,NULL,'Dear Megan',1,NULL,'Dear Megan',1,NULL,'Megan Zope',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (77,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Martin Luther King Environmental Services','Martin Luther King Environmental Services',NULL,NULL,NULL,NULL,NULL,'Both','1756702996',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Martin Luther King Environmental Services',NULL,NULL,NULL,0,NULL,NULL,169,'Martin Luther King Environmental Services',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (78,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Smith, Errol','Errol Smith III',NULL,NULL,NULL,NULL,NULL,'Both','2269355028',NULL,'Sample Data','Errol','','Smith',NULL,4,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Errol Smith III',NULL,2,'1973-06-27',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (79,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Lashawnda','Mrs. Lashawnda Terry',NULL,NULL,NULL,NULL,NULL,'Both','485287796',NULL,'Sample Data','Lashawnda','G','Terry',1,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Mrs. Lashawnda Terry',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (80,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Müller, Angelika','Mrs. Angelika Müller',NULL,NULL,NULL,NULL,NULL,'Both','420537853',NULL,'Sample Data','Angelika','L','Müller',1,NULL,NULL,NULL,1,NULL,'Dear Angelika',1,NULL,'Dear Angelika',1,NULL,'Mrs. Angelika Müller',NULL,NULL,'1996-01-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (81,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Ivanov, Allan','Allan Ivanov',NULL,NULL,NULL,'2',NULL,'Both','3313048045',NULL,'Sample Data','Allan','','Ivanov',NULL,NULL,NULL,NULL,1,NULL,'Dear Allan',1,NULL,'Dear Allan',1,NULL,'Allan Ivanov',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (82,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Terrell-Parker, Iris','Dr. Iris Terrell-Parker',NULL,NULL,NULL,NULL,NULL,'Both','3024077658',NULL,'Sample Data','Iris','R','Terrell-Parker',4,NULL,NULL,NULL,1,NULL,'Dear Iris',1,NULL,'Dear Iris',1,NULL,'Dr. Iris Terrell-Parker',NULL,1,'1980-01-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (83,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Maple Action Services','Maple Action Services',NULL,NULL,NULL,'5',NULL,'Both','1765859269',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Maple Action Services',NULL,NULL,NULL,0,NULL,NULL,174,'Maple Action Services',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (84,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Maria','Mr. Maria Blackwell',NULL,NULL,NULL,NULL,NULL,'Both','2448837724',NULL,'Sample Data','Maria','P','Blackwell',3,NULL,NULL,NULL,1,NULL,'Dear Maria',1,NULL,'Dear Maria',1,NULL,'Mr. Maria Blackwell',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (85,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Grant, Delana','Delana Grant',NULL,NULL,NULL,'4',NULL,'Both','2844860785',NULL,'Sample Data','Delana','B','Grant',NULL,NULL,NULL,NULL,1,NULL,'Dear Delana',1,NULL,'Dear Delana',1,NULL,'Delana Grant',NULL,1,'1993-07-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (86,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Roland','Roland Díaz Sr.',NULL,NULL,NULL,'1',NULL,'Both','2252303156',NULL,'Sample Data','Roland','','Díaz',NULL,2,NULL,NULL,1,NULL,'Dear Roland',1,NULL,'Dear Roland',1,NULL,'Roland Díaz Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (87,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Grant family','Grant family',NULL,NULL,NULL,'3',NULL,'Both','3228000340',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Grant family',5,NULL,'Dear Grant family',2,NULL,'Grant family',NULL,NULL,NULL,0,NULL,'Grant family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (88,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Zope family','Zope family',NULL,NULL,NULL,'1',NULL,'Both','1649131487',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Zope family',5,NULL,'Dear Zope family',2,NULL,'Zope family',NULL,NULL,NULL,0,NULL,'Zope family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (89,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Wilson-Adams, Barry','Dr. Barry Wilson-Adams',NULL,NULL,NULL,NULL,NULL,'Both','1407527163',NULL,'Sample Data','Barry','K','Wilson-Adams',4,NULL,NULL,NULL,1,NULL,'Dear Barry',1,NULL,'Dear Barry',1,NULL,'Dr. Barry Wilson-Adams',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (90,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Blackwell, Herminia','Herminia Blackwell',NULL,NULL,NULL,NULL,NULL,'Both','3534592549',NULL,'Sample Data','Herminia','U','Blackwell',NULL,NULL,NULL,NULL,1,NULL,'Dear Herminia',1,NULL,'Dear Herminia',1,NULL,'Herminia Blackwell',NULL,1,'1985-05-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (91,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'blackwell.rolando98@fakemail.co.uk','blackwell.rolando98@fakemail.co.uk',NULL,NULL,NULL,'4',NULL,'Both','3851255086',NULL,'Sample Data',NULL,NULL,NULL,3,NULL,NULL,NULL,1,NULL,'Dear blackwell.rolando98@fakemail.co.uk',1,NULL,'Dear blackwell.rolando98@fakemail.co.uk',1,NULL,'blackwell.rolando98@fakemail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (92,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'North Carolina Legal Initiative','North Carolina Legal Initiative',NULL,NULL,NULL,NULL,NULL,'Both','1784160496',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'North Carolina Legal Initiative',NULL,NULL,NULL,0,NULL,NULL,NULL,'North Carolina Legal Initiative',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (93,'Household',NULL,0,0,0,0,1,0,NULL,NULL,'Ivanov family','Ivanov family',NULL,NULL,NULL,'2',NULL,'Both','2450779112',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Ivanov family',5,NULL,'Dear Ivanov family',2,NULL,'Ivanov family',NULL,NULL,NULL,0,NULL,'Ivanov family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (94,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Wilson, Jay','Mr. Jay Wilson',NULL,NULL,NULL,NULL,NULL,'Both','1279858247',NULL,'Sample Data','Jay','','Wilson',3,NULL,NULL,NULL,1,NULL,'Dear Jay',1,NULL,'Dear Jay',1,NULL,'Mr. Jay Wilson',NULL,2,'1991-10-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (95,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Santina','Mrs. Santina Nielsen',NULL,NULL,NULL,NULL,NULL,'Both','4294042447',NULL,'Sample Data','Santina','B','Nielsen',1,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Mrs. Santina Nielsen',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (96,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Adams, Delana','Mrs. Delana Adams',NULL,NULL,NULL,NULL,NULL,'Both','1694982266',NULL,'Sample Data','Delana','','Adams',1,NULL,NULL,NULL,1,NULL,'Dear Delana',1,NULL,'Dear Delana',1,NULL,'Mrs. Delana Adams',NULL,NULL,'1959-02-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (97,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jacobs-Blackwell, Juliann','Mrs. Juliann Jacobs-Blackwell',NULL,NULL,NULL,NULL,NULL,'Both','854217497',NULL,'Sample Data','Juliann','E','Jacobs-Blackwell',1,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Mrs. Juliann Jacobs-Blackwell',NULL,1,'1969-04-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (98,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Barry','Mr. Barry Cooper',NULL,NULL,NULL,NULL,NULL,'Both','1437359805',NULL,'Sample Data','Barry','Y','Cooper',3,NULL,NULL,NULL,1,NULL,'Dear Barry',1,NULL,'Dear Barry',1,NULL,'Mr. Barry Cooper',NULL,2,'1961-03-31',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (99,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jacobs, Nicole','Ms. Nicole Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','1326511364',NULL,'Sample Data','Nicole','','Jacobs',2,NULL,NULL,NULL,1,NULL,'Dear Nicole',1,NULL,'Dear Nicole',1,NULL,'Ms. Nicole Jacobs',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (100,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Olsen, Teddy','Dr. Teddy Olsen',NULL,NULL,NULL,NULL,NULL,'Both','72064715',NULL,'Sample Data','Teddy','L','Olsen',4,NULL,NULL,NULL,1,NULL,'Dear Teddy',1,NULL,'Dear Teddy',1,NULL,'Dr. Teddy Olsen',NULL,NULL,'1989-04-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (101,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jones, Santina','Mrs. Santina Jones',NULL,NULL,NULL,'1',NULL,'Both','2661074346',NULL,'Sample Data','Santina','U','Jones',1,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Mrs. Santina Jones',NULL,1,'1969-07-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (102,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Zope-Patel family','Zope-Patel family',NULL,NULL,NULL,'4',NULL,'Both','3836073694',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Zope-Patel family',5,NULL,'Dear Zope-Patel family',2,NULL,'Zope-Patel family',NULL,NULL,NULL,0,NULL,'Zope-Patel family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (103,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley, Alexia','Alexia Barkley',NULL,NULL,NULL,NULL,NULL,'Both','925280801',NULL,'Sample Data','Alexia','X','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Alexia Barkley',NULL,1,'1985-01-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (104,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terrell, Josefa','Ms. Josefa Terrell',NULL,NULL,NULL,'4',NULL,'Both','1943995687',NULL,'Sample Data','Josefa','O','Terrell',2,NULL,NULL,NULL,1,NULL,'Dear Josefa',1,NULL,'Dear Josefa',1,NULL,'Ms. Josefa Terrell',NULL,1,'1978-11-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (105,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Smith, Valene','Dr. Valene Smith',NULL,NULL,NULL,NULL,NULL,'Both','3638736676',NULL,'Sample Data','Valene','D','Smith',4,NULL,NULL,NULL,1,NULL,'Dear Valene',1,NULL,'Dear Valene',1,NULL,'Dr. Valene Smith',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (106,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Ivanov, Carylon','Carylon Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','3841280474',NULL,'Sample Data','Carylon','I','Ivanov',NULL,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Carylon Ivanov',NULL,1,'1973-10-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (107,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Parker-Zope, Beula','Dr. Beula Parker-Zope',NULL,NULL,NULL,NULL,NULL,'Both','3319450317',NULL,'Sample Data','Beula','G','Parker-Zope',4,NULL,NULL,NULL,1,NULL,'Dear Beula',1,NULL,'Dear Beula',1,NULL,'Dr. Beula Parker-Zope',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (108,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen family','Olsen family',NULL,NULL,NULL,'5',NULL,'Both','1990073228',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Olsen family',5,NULL,'Dear Olsen family',2,NULL,'Olsen family',NULL,NULL,NULL,0,NULL,'Olsen family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (109,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Nielsen, Craig','Craig Nielsen',NULL,NULL,NULL,'4',NULL,'Both','151242060',NULL,'Sample Data','Craig','','Nielsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Craig',1,NULL,'Dear Craig',1,NULL,'Craig Nielsen',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (110,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Lee family','Lee family',NULL,NULL,NULL,'1',NULL,'Both','845831176',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Lee family',5,NULL,'Dear Lee family',2,NULL,'Lee family',NULL,NULL,NULL,0,NULL,'Lee family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (111,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Nielsen, Magan','Mrs. Magan Nielsen',NULL,NULL,NULL,'1',NULL,'Both','1092078914',NULL,'Sample Data','Magan','E','Nielsen',1,NULL,NULL,NULL,1,NULL,'Dear Magan',1,NULL,'Dear Magan',1,NULL,'Mrs. Magan Nielsen',NULL,1,'1990-10-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (112,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Miguel','Miguel Cooper Jr.',NULL,NULL,NULL,NULL,NULL,'Both','1717220592',NULL,'Sample Data','Miguel','','Cooper',NULL,1,NULL,NULL,1,NULL,'Dear Miguel',1,NULL,'Dear Miguel',1,NULL,'Miguel Cooper Jr.',NULL,2,'1998-09-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (113,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Lee, Santina','Mrs. Santina Lee',NULL,NULL,NULL,NULL,NULL,'Both','1346759883',NULL,'Sample Data','Santina','G','Lee',1,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Mrs. Santina Lee',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (114,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Connecticut Legal School','Connecticut Legal School',NULL,NULL,NULL,'1',NULL,'Both','2269233360',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Connecticut Legal School',NULL,NULL,NULL,0,NULL,NULL,120,'Connecticut Legal School',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (115,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Kiara','Ms. Kiara Terry',NULL,NULL,NULL,NULL,NULL,'Both','4073244041',NULL,'Sample Data','Kiara','','Terry',2,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Ms. Kiara Terry',NULL,NULL,'1949-11-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (116,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Teresa','Teresa Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','128468563',NULL,'Sample Data','Teresa','','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Teresa',1,NULL,'Dear Teresa',1,NULL,'Teresa Jacobs',NULL,NULL,'1946-12-02',1,'2022-02-21',NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (117,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Prentice, Felisha','Mrs. Felisha Prentice',NULL,NULL,NULL,NULL,NULL,'Both','3843312879',NULL,'Sample Data','Felisha','','Prentice',1,NULL,NULL,NULL,1,NULL,'Dear Felisha',1,NULL,'Dear Felisha',1,NULL,'Mrs. Felisha Prentice',NULL,NULL,'1956-01-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (118,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley, Justina','Justina Barkley',NULL,NULL,NULL,'2',NULL,'Both','2698595915',NULL,'Sample Data','Justina','','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Justina',1,NULL,'Dear Justina',1,NULL,'Justina Barkley',NULL,1,'2011-04-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (119,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Barkley, Bernadette','Bernadette Barkley',NULL,NULL,NULL,'5',NULL,'Both','2929366721',NULL,'Sample Data','Bernadette','','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Bernadette',1,NULL,'Dear Bernadette',1,NULL,'Bernadette Barkley',NULL,1,'1945-06-30',0,NULL,NULL,NULL,'Second Food Solutions',NULL,NULL,22,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (120,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Müller-Jameson, Alida','Ms. Alida Müller-Jameson',NULL,NULL,NULL,NULL,NULL,'Both','1603081920',NULL,'Sample Data','Alida','','Müller-Jameson',2,NULL,NULL,NULL,1,NULL,'Dear Alida',1,NULL,'Dear Alida',1,NULL,'Ms. Alida Müller-Jameson',NULL,1,NULL,0,NULL,NULL,NULL,'Connecticut Legal School',NULL,NULL,114,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (121,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Jina','Dr. Jina Terry',NULL,NULL,NULL,NULL,NULL,'Both','506826080',NULL,'Sample Data','Jina','','Terry',4,NULL,NULL,NULL,1,NULL,'Dear Jina',1,NULL,'Dear Jina',1,NULL,'Dr. Jina Terry',NULL,NULL,'1950-09-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (122,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wilson, Sharyn','Sharyn Wilson',NULL,NULL,NULL,NULL,NULL,'Both','652898932',NULL,'Sample Data','Sharyn','','Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Sharyn',1,NULL,'Dear Sharyn',1,NULL,'Sharyn Wilson',NULL,1,'1943-02-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (123,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'Atchison Family Partners','Atchison Family Partners',NULL,NULL,NULL,'2',NULL,'Both','2735370569',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Atchison Family Partners',NULL,NULL,NULL,0,NULL,NULL,NULL,'Atchison Family Partners',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (124,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Patel, Carylon','Carylon Patel',NULL,NULL,NULL,'2',NULL,'Both','1606295742',NULL,'Sample Data','Carylon','','Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Carylon Patel',NULL,NULL,'1940-08-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (125,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Kiara','Kiara Deforest',NULL,NULL,NULL,'3',NULL,'Both','324739737',NULL,'Sample Data','Kiara','','Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Kiara Deforest',NULL,NULL,'1938-02-15',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (126,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'blackwell.sherman@testmail.co.uk','blackwell.sherman@testmail.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','2123492208',NULL,'Sample Data',NULL,NULL,NULL,NULL,2,NULL,NULL,1,NULL,'Dear blackwell.sherman@testmail.co.uk',1,NULL,'Dear blackwell.sherman@testmail.co.uk',1,NULL,'blackwell.sherman@testmail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (127,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jensen, Errol','Errol Jensen',NULL,NULL,NULL,'3',NULL,'Both','1537101829',NULL,'Sample Data','Errol','','Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Errol Jensen',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (128,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'claudiodimitrov52@fishmail.co.uk','claudiodimitrov52@fishmail.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','502612541',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear claudiodimitrov52@fishmail.co.uk',1,NULL,'Dear claudiodimitrov52@fishmail.co.uk',1,NULL,'claudiodimitrov52@fishmail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,'United Legal Collective',NULL,NULL,25,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (129,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Wilson, Bryon','Dr. Bryon Wilson III',NULL,NULL,NULL,NULL,NULL,'Both','814135970',NULL,'Sample Data','Bryon','','Wilson',4,4,NULL,NULL,1,NULL,'Dear Bryon',1,NULL,'Dear Bryon',1,NULL,'Dr. Bryon Wilson III',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (130,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov family','Dimitrov family',NULL,NULL,NULL,'2',NULL,'Both','3351288571',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Dimitrov family',5,NULL,'Dear Dimitrov family',2,NULL,'Dimitrov family',NULL,NULL,NULL,0,NULL,'Dimitrov family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (131,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Yadav, Brzęczysław','Mr. Brzęczysław Yadav III',NULL,NULL,NULL,NULL,NULL,'Both','2171812768',NULL,'Sample Data','Brzęczysław','','Yadav',3,4,NULL,NULL,1,NULL,'Dear Brzęczysław',1,NULL,'Dear Brzęczysław',1,NULL,'Mr. Brzęczysław Yadav III',NULL,NULL,'1997-03-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (132,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Felisha','Mrs. Felisha Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','754737383',NULL,'Sample Data','Felisha','','Dimitrov',1,NULL,NULL,NULL,1,NULL,'Dear Felisha',1,NULL,'Dear Felisha',1,NULL,'Mrs. Felisha Dimitrov',NULL,1,'1983-02-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (133,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Wattson family','Wattson family',NULL,NULL,NULL,'3',NULL,'Both','2851339192',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Wattson family',5,NULL,'Dear Wattson family',2,NULL,'Wattson family',NULL,NULL,NULL,0,NULL,'Wattson family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (134,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Kandace','Dr. Kandace Díaz',NULL,NULL,NULL,NULL,NULL,'Both','262634305',NULL,'Sample Data','Kandace','','Díaz',4,NULL,NULL,NULL,1,NULL,'Dear Kandace',1,NULL,'Dear Kandace',1,NULL,'Dr. Kandace Díaz',NULL,NULL,'1964-05-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (135,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov family','Dimitrov family',NULL,NULL,NULL,NULL,NULL,'Both','3351288571',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Dimitrov family',5,NULL,'Dear Dimitrov family',2,NULL,'Dimitrov family',NULL,NULL,NULL,0,NULL,'Dimitrov family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (136,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Grant, Carlos','Carlos Grant Jr.',NULL,NULL,NULL,'3',NULL,'Both','329794815',NULL,'Sample Data','Carlos','M','Grant',NULL,1,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Carlos Grant Jr.',NULL,NULL,'1992-10-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (137,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wattson, Junko','Ms. Junko Wattson',NULL,NULL,NULL,NULL,NULL,'Both','708062411',NULL,'Sample Data','Junko','','Wattson',2,NULL,NULL,NULL,1,NULL,'Dear Junko',1,NULL,'Dear Junko',1,NULL,'Ms. Junko Wattson',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (138,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski, Alida','Alida Łąchowski',NULL,NULL,NULL,NULL,NULL,'Both','856739005',NULL,'Sample Data','Alida','F','Łąchowski',NULL,NULL,NULL,NULL,1,NULL,'Dear Alida',1,NULL,'Dear Alida',1,NULL,'Alida Łąchowski',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (139,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Oxford Music Initiative','Oxford Music Initiative',NULL,NULL,NULL,'2',NULL,'Both','3257880282',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Oxford Music Initiative',NULL,NULL,NULL,0,NULL,NULL,NULL,'Oxford Music Initiative',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (140,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Prentice, Juliann','Juliann Prentice',NULL,NULL,NULL,NULL,NULL,'Both','4163234057',NULL,'Sample Data','Juliann','','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Juliann Prentice',NULL,NULL,'1965-12-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (141,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Zope, Bob','Bob Zope II',NULL,NULL,NULL,'4',NULL,'Both','707485722',NULL,'Sample Data','Bob','','Zope',NULL,3,NULL,NULL,1,NULL,'Dear Bob',1,NULL,'Dear Bob',1,NULL,'Bob Zope II',NULL,NULL,'1987-06-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (142,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Harmon Peace Fund','Harmon Peace Fund',NULL,NULL,NULL,NULL,NULL,'Both','3555862277',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Harmon Peace Fund',NULL,NULL,NULL,0,NULL,NULL,143,'Harmon Peace Fund',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (143,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Yadav, Claudio','Claudio Yadav',NULL,NULL,NULL,'2',NULL,'Both','2212747069',NULL,'Sample Data','Claudio','','Yadav',NULL,NULL,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Claudio Yadav',NULL,2,NULL,0,NULL,NULL,NULL,'Harmon Peace Fund',NULL,NULL,142,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (144,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Grant, Maxwell','Maxwell Grant II',NULL,NULL,NULL,'5',NULL,'Both','3863854365',NULL,'Sample Data','Maxwell','X','Grant',NULL,3,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Maxwell Grant II',NULL,NULL,'1981-06-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (145,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Adams, Troy','Mr. Troy Adams',NULL,NULL,NULL,'4',NULL,'Both','271731072',NULL,'Sample Data','Troy','','Adams',3,NULL,NULL,NULL,1,NULL,'Dear Troy',1,NULL,'Dear Troy',1,NULL,'Mr. Troy Adams',NULL,NULL,'1996-08-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (146,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'eo.parker@sample.biz','eo.parker@sample.biz',NULL,NULL,NULL,'3',NULL,'Both','607193407',NULL,'Sample Data',NULL,NULL,NULL,4,4,NULL,NULL,1,NULL,'Dear eo.parker@sample.biz',1,NULL,'Dear eo.parker@sample.biz',1,NULL,'eo.parker@sample.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (147,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Dimitrov, Truman','Truman Dimitrov Sr.',NULL,NULL,NULL,NULL,NULL,'Both','231051732',NULL,'Sample Data','Truman','I','Dimitrov',NULL,2,NULL,NULL,1,NULL,'Dear Truman',1,NULL,'Dear Truman',1,NULL,'Truman Dimitrov Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (148,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Zope, Rodrigo','Rodrigo Zope II',NULL,NULL,NULL,NULL,NULL,'Both','1659102983',NULL,'Sample Data','Rodrigo','E','Zope',NULL,3,NULL,NULL,1,NULL,'Dear Rodrigo',1,NULL,'Dear Rodrigo',1,NULL,'Rodrigo Zope II',NULL,2,'1962-12-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (149,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'jones.kathlyn@notmail.co.uk','jones.kathlyn@notmail.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','3099575874',NULL,'Sample Data',NULL,NULL,NULL,1,NULL,NULL,NULL,1,NULL,'Dear jones.kathlyn@notmail.co.uk',1,NULL,'Dear jones.kathlyn@notmail.co.uk',1,NULL,'jones.kathlyn@notmail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (150,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Prentice, Brigette','Brigette Prentice',NULL,NULL,NULL,NULL,NULL,'Both','1103079124',NULL,'Sample Data','Brigette','I','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Brigette',1,NULL,'Dear Brigette',1,NULL,'Brigette Prentice',NULL,1,'1983-06-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (151,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Terrell, Teddy','Teddy Terrell',NULL,NULL,NULL,NULL,NULL,'Both','829330438',NULL,'Sample Data','Teddy','H','Terrell',NULL,NULL,NULL,NULL,1,NULL,'Dear Teddy',1,NULL,'Dear Teddy',1,NULL,'Teddy Terrell',NULL,2,'1942-12-23',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (152,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Olsen, Kathleen','Kathleen Olsen',NULL,NULL,NULL,'5',NULL,'Both','1625164526',NULL,'Sample Data','Kathleen','','Olsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Kathleen Olsen',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (153,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Woodbridge Sustainability Partnership','Woodbridge Sustainability Partnership',NULL,NULL,NULL,'1',NULL,'Both','649075721',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Woodbridge Sustainability Partnership',NULL,NULL,NULL,0,NULL,NULL,27,'Woodbridge Sustainability Partnership',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (154,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Brent','Brent Ivanov Sr.',NULL,NULL,NULL,NULL,NULL,'Both','1194630571',NULL,'Sample Data','Brent','D','Ivanov',NULL,2,NULL,NULL,1,NULL,'Dear Brent',1,NULL,'Dear Brent',1,NULL,'Brent Ivanov Sr.',NULL,2,'1988-06-25',0,NULL,NULL,NULL,'Lincoln Food Center',NULL,NULL,54,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (155,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'deforestb@sample.co.uk','deforestb@sample.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','1213492168',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear deforestb@sample.co.uk',1,NULL,'Dear deforestb@sample.co.uk',1,NULL,'deforestb@sample.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (156,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Blackwell, Toby','Toby Blackwell',NULL,NULL,NULL,'1',NULL,'Both','3987770403',NULL,'Sample Data','Toby','H','Blackwell',NULL,NULL,NULL,NULL,1,NULL,'Dear Toby',1,NULL,'Dear Toby',1,NULL,'Toby Blackwell',NULL,2,'2015-12-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (157,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Tanya','Mrs. Tanya Jameson',NULL,NULL,NULL,NULL,NULL,'Both','2589071461',NULL,'Sample Data','Tanya','M','Jameson',1,NULL,NULL,NULL,1,NULL,'Dear Tanya',1,NULL,'Dear Tanya',1,NULL,'Mrs. Tanya Jameson',NULL,1,'1964-12-27',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (158,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Lincoln Culture Partners','Lincoln Culture Partners',NULL,NULL,NULL,'4',NULL,'Both','152271111',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Lincoln Culture Partners',NULL,NULL,NULL,0,NULL,NULL,32,'Lincoln Culture Partners',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (159,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Parker, Craig','Mr. Craig Parker Sr.',NULL,NULL,NULL,NULL,NULL,'Both','1038716533',NULL,'Sample Data','Craig','Y','Parker',3,2,NULL,NULL,1,NULL,'Dear Craig',1,NULL,'Dear Craig',1,NULL,'Mr. Craig Parker Sr.',NULL,2,'1998-12-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (160,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson, Jackson','Dr. Jackson Samson II',NULL,NULL,NULL,'5',NULL,'Both','3722520930',NULL,'Sample Data','Jackson','D','Samson',4,3,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Dr. Jackson Samson II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (161,'Household',NULL,1,1,0,0,1,0,NULL,NULL,'Parker family','Parker family',NULL,NULL,NULL,'3',NULL,'Both','425242179',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Parker family',5,NULL,'Dear Parker family',2,NULL,'Parker family',NULL,NULL,NULL,0,NULL,'Parker family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (162,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Jones family','Jones family',NULL,NULL,NULL,'1',NULL,'Both','1110516799',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jones family',5,NULL,'Dear Jones family',2,NULL,'Jones family',NULL,NULL,NULL,0,NULL,'Jones family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (163,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Wilson, Teddy','Teddy Wilson',NULL,NULL,NULL,NULL,NULL,'Both','1714543497',NULL,'Sample Data','Teddy','D','Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Teddy',1,NULL,'Dear Teddy',1,NULL,'Teddy Wilson',NULL,2,'1935-09-11',1,'2021-10-16',NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (164,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Parker, Lincoln','Dr. Lincoln Parker',NULL,NULL,NULL,NULL,NULL,'Both','108314826',NULL,'Sample Data','Lincoln','','Parker',4,NULL,NULL,NULL,1,NULL,'Dear Lincoln',1,NULL,'Dear Lincoln',1,NULL,'Dr. Lincoln Parker',NULL,NULL,'1965-03-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (165,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'McReynolds, Princess','Princess McReynolds',NULL,NULL,NULL,NULL,NULL,'Both','2818218342',NULL,'Sample Data','Princess','','McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Princess',1,NULL,'Dear Princess',1,NULL,'Princess McReynolds',NULL,NULL,'1989-05-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (166,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Texas Peace Alliance','Texas Peace Alliance',NULL,NULL,NULL,'3',NULL,'Both','2664835332',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Texas Peace Alliance',NULL,NULL,NULL,0,NULL,NULL,NULL,'Texas Peace Alliance',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (167,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Ivey','Ivey Olsen',NULL,NULL,NULL,'2',NULL,'Both','1507615018',NULL,'Sample Data','Ivey','','Olsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Ivey Olsen',NULL,1,'1998-10-27',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (168,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Reynolds-Prentice, Josefa','Mrs. Josefa Reynolds-Prentice',NULL,NULL,NULL,NULL,NULL,'Both','2685343893',NULL,'Sample Data','Josefa','T','Reynolds-Prentice',1,NULL,NULL,NULL,1,NULL,'Dear Josefa',1,NULL,'Dear Josefa',1,NULL,'Mrs. Josefa Reynolds-Prentice',NULL,1,'1959-08-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (169,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Alexia','Alexia Dimitrov',NULL,NULL,NULL,'1',NULL,'Both','2476509826',NULL,'Sample Data','Alexia','','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Alexia Dimitrov',NULL,NULL,'1982-03-05',0,NULL,NULL,NULL,'Martin Luther King Environmental Services',NULL,NULL,77,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (170,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Patel, Lou','Mr. Lou Patel II',NULL,NULL,NULL,'3',NULL,'Both','2158863252',NULL,'Sample Data','Lou','','Patel',3,3,NULL,NULL,1,NULL,'Dear Lou',1,NULL,'Dear Lou',1,NULL,'Mr. Lou Patel II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (171,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wattson, Iris','Iris Wattson',NULL,NULL,NULL,'1',NULL,'Both','532322376',NULL,'Sample Data','Iris','E','Wattson',NULL,NULL,NULL,NULL,1,NULL,'Dear Iris',1,NULL,'Dear Iris',1,NULL,'Iris Wattson',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (172,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley family','Barkley family',NULL,NULL,NULL,'5',NULL,'Both','2888062109',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Barkley family',5,NULL,'Dear Barkley family',2,NULL,'Barkley family',NULL,NULL,NULL,0,NULL,'Barkley family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (173,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'McReynolds, Felisha','Felisha McReynolds',NULL,NULL,NULL,'3',NULL,'Both','2265905114',NULL,'Sample Data','Felisha','','McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Felisha',1,NULL,'Dear Felisha',1,NULL,'Felisha McReynolds',NULL,1,'1946-09-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (174,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Bob','Dr. Bob Blackwell',NULL,NULL,NULL,'1',NULL,'Both','533638173',NULL,'Sample Data','Bob','G','Blackwell',4,NULL,NULL,NULL,1,NULL,'Dear Bob',1,NULL,'Dear Bob',1,NULL,'Dr. Bob Blackwell',NULL,NULL,NULL,0,NULL,NULL,NULL,'Maple Action Services',NULL,NULL,83,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (175,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Truman','Dr. Truman Olsen',NULL,NULL,NULL,'5',NULL,'Both','3272944586',NULL,'Sample Data','Truman','','Olsen',4,NULL,NULL,NULL,1,NULL,'Dear Truman',1,NULL,'Dear Truman',1,NULL,'Dr. Truman Olsen',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (176,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'barkleya40@sample.info','barkleya40@sample.info',NULL,NULL,NULL,NULL,NULL,'Both','610786714',NULL,'Sample Data',NULL,NULL,NULL,4,3,NULL,NULL,1,NULL,'Dear barkleya40@sample.info',1,NULL,'Dear barkleya40@sample.info',1,NULL,'barkleya40@sample.info',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (177,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Lashawnda','Lashawnda Blackwell',NULL,NULL,NULL,'3',NULL,'Both','3911496571',NULL,'Sample Data','Lashawnda','W','Blackwell',NULL,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Lashawnda Blackwell',NULL,1,'1953-08-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (178,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Grant, Winford','Winford Grant',NULL,NULL,NULL,NULL,NULL,'Both','431528979',NULL,'Sample Data','Winford','','Grant',NULL,NULL,NULL,NULL,1,NULL,'Dear Winford',1,NULL,'Dear Winford',1,NULL,'Winford Grant',NULL,NULL,'1969-10-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (179,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Barkley, Lashawnda','Lashawnda Barkley',NULL,NULL,NULL,'1',NULL,'Both','299247424',NULL,'Sample Data','Lashawnda','Q','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Lashawnda Barkley',NULL,NULL,'1960-06-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (180,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Prentice, Princess','Princess Prentice',NULL,NULL,NULL,NULL,NULL,'Both','4046145534',NULL,'Sample Data','Princess','','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Princess',1,NULL,'Dear Princess',1,NULL,'Princess Prentice',NULL,1,'2016-03-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:39'),
+ (181,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Barkley, Elizabeth','Elizabeth Barkley',NULL,NULL,NULL,'2',NULL,'Both','4081845859',NULL,'Sample Data','Elizabeth','J','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Elizabeth Barkley',NULL,NULL,'1959-03-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (182,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman, Ray','Ray Bachman II',NULL,NULL,NULL,NULL,NULL,'Both','560571069',NULL,'Sample Data','Ray','','Bachman',NULL,3,NULL,NULL,1,NULL,'Dear Ray',1,NULL,'Dear Ray',1,NULL,'Ray Bachman II',NULL,2,'1972-06-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (183,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Blackwell, Andrew','Dr. Andrew Blackwell',NULL,NULL,NULL,'2',NULL,'Both','2328901373',NULL,'Sample Data','Andrew','J','Blackwell',4,NULL,NULL,NULL,1,NULL,'Dear Andrew',1,NULL,'Dear Andrew',1,NULL,'Dr. Andrew Blackwell',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:39'),
+ (184,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Carylon','Dr. Carylon Blackwell',NULL,NULL,NULL,NULL,NULL,'Both','1747720268',NULL,'Sample Data','Carylon','','Blackwell',4,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Dr. Carylon Blackwell',NULL,NULL,'1997-07-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (185,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Lee, Allen','Allen Lee',NULL,NULL,NULL,NULL,NULL,'Both','23882505',NULL,'Sample Data','Allen','K','Lee',NULL,NULL,NULL,NULL,1,NULL,'Dear Allen',1,NULL,'Dear Allen',1,NULL,'Allen Lee',NULL,NULL,'1956-02-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:39'),
+ (186,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Sherman','Mr. Sherman Terry II',NULL,NULL,NULL,NULL,NULL,'Both','4119706907',NULL,'Sample Data','Sherman','','Terry',3,3,NULL,NULL,1,NULL,'Dear Sherman',1,NULL,'Dear Sherman',1,NULL,'Mr. Sherman Terry II',NULL,NULL,NULL,0,NULL,NULL,NULL,'Florida Legal Solutions',NULL,NULL,23,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (187,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terrell, Kenny','Mr. Kenny Terrell Sr.',NULL,NULL,NULL,NULL,NULL,'Both','614922505',NULL,'Sample Data','Kenny','','Terrell',3,2,NULL,NULL,1,NULL,'Dear Kenny',1,NULL,'Dear Kenny',1,NULL,'Mr. Kenny Terrell Sr.',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (188,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Reynolds, Alexia','Alexia Reynolds',NULL,NULL,NULL,NULL,NULL,'Both','1389353396',NULL,'Sample Data','Alexia','G','Reynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Alexia Reynolds',NULL,1,'1981-11-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (189,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wattson, Kathleen','Kathleen Wattson',NULL,NULL,NULL,NULL,NULL,'Both','784443764',NULL,'Sample Data','Kathleen','G','Wattson',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Kathleen Wattson',NULL,1,'2011-01-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:39'),
+ (190,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell family','Blackwell family',NULL,NULL,NULL,'2',NULL,'Both','3218641510',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Blackwell family',5,NULL,'Dear Blackwell family',2,NULL,'Blackwell family',NULL,NULL,NULL,0,NULL,'Blackwell family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (191,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Tennessee Literacy Systems','Tennessee Literacy Systems',NULL,NULL,NULL,'5',NULL,'Both','69833644',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Tennessee Literacy Systems',NULL,NULL,NULL,0,NULL,NULL,199,'Tennessee Literacy Systems',NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (192,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Parker, Erik','Erik Parker II',NULL,NULL,NULL,'2',NULL,'Both','1036871388',NULL,'Sample Data','Erik','','Parker',NULL,3,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Erik Parker II',NULL,2,'1957-07-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:39'),
+ (193,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Merrie','Ms. Merrie Zope',NULL,NULL,NULL,'2',NULL,'Both','316434837',NULL,'Sample Data','Merrie','','Zope',2,NULL,NULL,NULL,1,NULL,'Dear Merrie',1,NULL,'Dear Merrie',1,NULL,'Ms. Merrie Zope',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (194,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'wilson-adams.kandace@spamalot.net','wilson-adams.kandace@spamalot.net',NULL,NULL,NULL,NULL,NULL,'Both','1733542315',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear wilson-adams.kandace@spamalot.net',1,NULL,'Dear wilson-adams.kandace@spamalot.net',1,NULL,'wilson-adams.kandace@spamalot.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:39'),
+ (195,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Jameson, Kacey','Kacey Jameson',NULL,NULL,NULL,NULL,NULL,'Both','2233552494',NULL,'Sample Data','Kacey','','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Kacey',1,NULL,'Dear Kacey',1,NULL,'Kacey Jameson',NULL,NULL,'1960-12-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (196,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson, Esta','Esta Samson',NULL,NULL,NULL,NULL,NULL,'Both','2754317159',NULL,'Sample Data','Esta','','Samson',NULL,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Esta Samson',NULL,NULL,'2000-05-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (197,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Robertson, Kathleen','Kathleen Robertson',NULL,NULL,NULL,NULL,NULL,'Both','1039921971',NULL,'Sample Data','Kathleen','V','Robertson',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Kathleen Robertson',NULL,1,'1951-12-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (198,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Blackwell, Justina','Mrs. Justina Blackwell',NULL,NULL,NULL,'5',NULL,'Both','630587972',NULL,'Sample Data','Justina','','Blackwell',1,NULL,NULL,NULL,1,NULL,'Dear Justina',1,NULL,'Dear Justina',1,NULL,'Mrs. Justina Blackwell',NULL,NULL,'1970-07-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:39'),
+ (199,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Brittney','Ms. Brittney Jameson',NULL,NULL,NULL,NULL,NULL,'Both','2877892041',NULL,'Sample Data','Brittney','','Jameson',2,NULL,NULL,NULL,1,NULL,'Dear Brittney',1,NULL,'Dear Brittney',1,NULL,'Ms. Brittney Jameson',NULL,1,NULL,0,NULL,NULL,NULL,'Tennessee Literacy Systems',NULL,NULL,191,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (200,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Díaz, Bob','Bob Díaz Sr.',NULL,NULL,NULL,NULL,NULL,'Both','3580176387',NULL,'Sample Data','Bob','','Díaz',NULL,2,NULL,NULL,1,NULL,'Dear Bob',1,NULL,'Dear Bob',1,NULL,'Bob Díaz Sr.',NULL,2,'1939-10-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (201,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Bob','Mr. Bob Olsen III',NULL,NULL,NULL,'2',NULL,'Both','1762107001',NULL,'Sample Data','Bob','O','Olsen',3,4,NULL,NULL,1,NULL,'Dear Bob',1,NULL,'Dear Bob',1,NULL,'Mr. Bob Olsen III',NULL,2,'1971-12-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (202,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Jenny','Jenny Lee',NULL,NULL,NULL,NULL,'en_US','Both','7c3d576efd24f1d848ad80e17082f2d1',NULL,NULL,'Jenny',NULL,'Lee',NULL,NULL,NULL,1,1,NULL,'Dear Jenny',1,NULL,'Dear Jenny',1,NULL,'Jenny Lee','Volunteer coordinator',NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39');
 /*!40000 ALTER TABLE `civicrm_contact` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -2170,117 +2138,117 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_contribution` WRITE;
 /*!40000 ALTER TABLE `civicrm_contribution` DISABLE KEYS */;
 INSERT INTO `civicrm_contribution` (`id`, `contact_id`, `financial_type_id`, `contribution_page_id`, `payment_instrument_id`, `receive_date`, `non_deductible_amount`, `total_amount`, `fee_amount`, `net_amount`, `trxn_id`, `invoice_id`, `invoice_number`, `currency`, `cancel_date`, `cancel_reason`, `receipt_date`, `thankyou_date`, `source`, `amount_level`, `contribution_recur_id`, `is_test`, `is_pay_later`, `contribution_status_id`, `address_id`, `check_number`, `campaign_id`, `creditnote_id`, `tax_amount`, `revenue_recognition_date`, `is_template`) VALUES
- (1,2,1,NULL,4,'2012-01-05 03:20:52',0.00,125.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'April Mailer 1',NULL,NULL,0,0,1,NULL,'1041',NULL,NULL,NULL,NULL,0),
- (2,4,1,NULL,1,'2019-10-05 03:20:52',0.00,50.00,NULL,NULL,'P20901X1',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (3,6,1,NULL,4,'2015-12-10 14:20:52',0.00,25.00,NULL,NULL,'GBP12',NULL,NULL,'GBP',NULL,NULL,NULL,NULL,'April Mailer 1',NULL,NULL,0,0,1,NULL,'2095',NULL,NULL,NULL,NULL,0),
- (4,8,1,NULL,4,'2019-10-05 03:20:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,'10552',NULL,NULL,NULL,NULL,0),
- (5,4,1,NULL,1,'2019-10-05 03:20:52',0.00,50.00,NULL,NULL,'Q90901X1',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (6,16,1,NULL,4,'2021-10-12 02:38:52',0.00,500.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'April Mailer 1',NULL,NULL,0,0,1,NULL,'509',NULL,NULL,NULL,NULL,0),
- (7,19,1,NULL,1,'2022-01-03 03:20:52',0.00,1750.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,'102',NULL,NULL,NULL,NULL,0),
- (8,82,1,NULL,1,'2021-05-13 11:31:52',0.00,50.00,NULL,NULL,'P20193L2',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (9,92,1,NULL,1,'2021-02-05 03:20:52',0.00,10.00,NULL,NULL,'P40232Y3',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Help CiviCRM',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (10,34,1,NULL,1,'2017-08-13 05:20:52',0.00,250.00,NULL,NULL,'P20193L6',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Help CiviCRM',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (11,71,1,NULL,1,'2022-01-03 23:20:52',0.00,500.00,NULL,NULL,'PL71',NULL,NULL,'JPY',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (12,43,1,NULL,1,'2020-10-04 16:47:32',0.00,50.00,NULL,NULL,'P291X1',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (13,32,1,NULL,1,'2021-10-05 00:00:00',0.00,50.00,NULL,NULL,'PL32I',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (14,32,1,NULL,1,'2021-11-05 00:00:00',0.00,50.00,NULL,NULL,'PL32II',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (15,59,1,NULL,1,'2020-10-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I591',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (16,59,1,NULL,1,'2020-11-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I592',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (17,59,1,NULL,1,'2020-12-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I593',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (18,59,1,NULL,1,'2021-01-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I594',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (19,59,1,NULL,1,'2021-02-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I595',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (20,59,1,NULL,1,'2021-03-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I596',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (21,59,1,NULL,1,'2021-04-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I597',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (22,59,1,NULL,1,'2021-05-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I598',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (23,59,1,NULL,1,'2021-06-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I599',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (24,59,1,NULL,1,'2021-07-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I5910',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (25,59,1,NULL,1,'2021-08-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I5911',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (26,99,1,NULL,1,'2021-05-05 03:20:52',0.00,10.00,NULL,NULL,'PL32I991',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (27,99,1,NULL,1,'2021-06-05 03:20:52',0.00,10.00,NULL,NULL,'PL32I992',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (28,99,1,NULL,1,'2021-07-05 03:20:52',0.00,10.00,NULL,NULL,'PL32I993',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (29,99,1,NULL,1,'2021-08-05 03:20:52',0.00,10.00,NULL,NULL,'PL32I994',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (30,99,1,NULL,1,'2021-09-05 03:20:52',0.00,10.00,NULL,NULL,'PL32I995',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (31,103,1,NULL,1,'2021-12-05 03:20:52',0.00,5.00,NULL,NULL,'PL32I1031',NULL,NULL,'EUR',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,3,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (32,65,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'c145faee0d04bf23',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (33,189,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'ce783c2980c895fb',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (34,41,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'e7792c9d495e0d43',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (35,35,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'15dd8d947457e182',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (36,130,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'efef6bf98c1ee77b',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (37,9,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'ee8f336df39896c3',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (38,58,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'efd9264db11420e7',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (39,190,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'add86bce477d8c75',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (40,40,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'1c414af7029d5ac9',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (41,36,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'bf70d15a447dc3de',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (42,186,2,NULL,1,'2022-01-05 03:20:52',0.00,1200.00,NULL,NULL,'9912cdd068cf1014',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Lifetime Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (43,149,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'a68da4816cff3740',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (44,6,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'feee4f9be413a3ce',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (45,97,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'d96c76487dcc6bdc',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (46,12,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'d957a42dd6dd6a9e',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (47,28,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'c041fb11501b15f7',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (48,140,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'4c1f04e50a7343bb',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (49,69,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'4ab3abfc8d97c438',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (50,95,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'1a38ad9c21aed03f',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (51,3,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'5366983810d9c038',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (52,19,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'bdbe43be980b026b',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (53,59,2,NULL,1,'2022-01-05 03:20:52',0.00,1200.00,NULL,NULL,'42bd5da1ddbeb42b',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Lifetime Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (54,24,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'fdc01698bb8c3398',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (55,162,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'0c1c807bc7b1154a',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (56,107,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'155b209f8d67d6ee',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (57,127,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'0cd92c5b9889c0ca',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (58,66,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'d68233cbe4638c58',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (59,13,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'41c242fb1318b9e2',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (60,202,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'19d34702504cd535',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (61,105,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'35aff5f65efeca62',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (63,1,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'fadaf65f8841187c',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (64,4,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'81cf1d6efddcbe9d',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (65,5,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'f3346d0f54be7857',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (66,7,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'c128acdc9edaf3aa',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (67,11,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'fd46aeb71230a44c',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (68,14,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'9341d53ff843997b',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (69,16,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'9304e3bad8029346',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (70,21,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'e09704681d636574',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (71,25,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'76c4f03d19a96c87',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (72,28,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'6f54991010f2eb1a',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (73,37,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'1455f14879e8a3bd',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (74,44,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'ffc5a259a622ad01',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (75,55,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'fbb71527b60c4d4e',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (76,58,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'fad8a1cfe5e6e46f',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (77,66,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'506b2ed6252d2eb9',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (78,68,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'5123740aae905dd1',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (79,69,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'88fad007bcfdc7da',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (80,71,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'8d67b40c5ad42aa0',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (81,72,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'a59545bfac032a49',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (82,73,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'fdd2de31e30983d4',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (83,81,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'face1371883367bb',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (84,82,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'c98326e8528c033a',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (85,87,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'5b899d491ffd0d53',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (86,93,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'c54943b66824eb8d',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (87,99,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'cab2337844c7dbf6',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (88,103,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'d78f663546e66e1e',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (89,104,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'9e6511c04affcdfb',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (90,116,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'8458b9d9835d73ca',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (91,117,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'90b6e47932fc2882',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (92,121,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'31f3912f5daf245e',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (93,128,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'9a68a09e4269c324',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (94,129,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'86242a8b46fe2a95',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (95,134,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'baa7b5b0d35c4285',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (96,144,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'c62dce9433ee6515',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (97,146,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'01bf6d2c6fb7e9e4',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (98,149,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'fb28887c0b53fd7a',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (99,150,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'c218dc01d8a04439',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (100,151,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'365c304fb081a082',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (101,152,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'1adde57b47f31c37',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (102,154,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'4864c94c6d7ab9f9',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (103,156,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'30482aee4efb5d9c',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (104,157,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'f0a9ea5fe4befb93',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (105,158,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'0244cb0cc7c3572c',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (106,160,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'245dff5fe5ea26a9',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (107,175,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'3e145c4db652e7ff',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (108,178,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'f1fb9b4ebe6c727b',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (109,184,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'bf948a4adc739315',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (110,185,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'3c49b3fcebf6e8fe',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (111,195,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'d3e66bf220b9ab01',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (112,202,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'1eb689a5f9219948',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0);
+ (1,2,1,NULL,4,'2012-02-28 22:32:40',0.00,125.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'April Mailer 1',NULL,NULL,0,0,1,NULL,'1041',NULL,NULL,NULL,NULL,0),
+ (2,4,1,NULL,1,'2019-11-28 22:32:40',0.00,50.00,NULL,NULL,'P20901X1',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (3,6,1,NULL,4,'2016-02-03 09:32:40',0.00,25.00,NULL,NULL,'GBP12',NULL,NULL,'GBP',NULL,NULL,NULL,NULL,'April Mailer 1',NULL,NULL,0,0,1,NULL,'2095',NULL,NULL,NULL,NULL,0),
+ (4,8,1,NULL,4,'2019-11-28 22:32:40',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,'10552',NULL,NULL,NULL,NULL,0),
+ (5,4,1,NULL,1,'2019-11-28 22:32:40',0.00,50.00,NULL,NULL,'Q90901X1',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (6,16,1,NULL,4,'2021-12-05 21:50:40',0.00,500.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'April Mailer 1',NULL,NULL,0,0,1,NULL,'509',NULL,NULL,NULL,NULL,0),
+ (7,19,1,NULL,1,'2022-02-26 22:32:40',0.00,1750.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,'102',NULL,NULL,NULL,NULL,0),
+ (8,82,1,NULL,1,'2021-07-07 06:43:40',0.00,50.00,NULL,NULL,'P20193L2',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (9,92,1,NULL,1,'2021-03-28 22:32:40',0.00,10.00,NULL,NULL,'P40232Y3',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Help CiviCRM',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (10,34,1,NULL,1,'2017-10-06 00:32:40',0.00,250.00,NULL,NULL,'P20193L6',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Help CiviCRM',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (11,71,1,NULL,1,'2022-02-27 18:32:40',0.00,500.00,NULL,NULL,'PL71',NULL,NULL,'JPY',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (12,43,1,NULL,1,'2020-11-28 11:59:20',0.00,50.00,NULL,NULL,'P291X1',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (13,32,1,NULL,1,'2021-11-28 00:00:00',0.00,50.00,NULL,NULL,'PL32I',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (14,32,1,NULL,1,'2021-12-28 00:00:00',0.00,50.00,NULL,NULL,'PL32II',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (15,59,1,NULL,1,'2020-11-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I591',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (16,59,1,NULL,1,'2020-12-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I592',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (17,59,1,NULL,1,'2021-01-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I593',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (18,59,1,NULL,1,'2021-02-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I594',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (19,59,1,NULL,1,'2021-03-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I595',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (20,59,1,NULL,1,'2021-04-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I596',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (21,59,1,NULL,1,'2021-05-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I597',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (22,59,1,NULL,1,'2021-06-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I598',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (23,59,1,NULL,1,'2021-07-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I599',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (24,59,1,NULL,1,'2021-08-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I5910',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (25,59,1,NULL,1,'2021-09-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I5911',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (26,99,1,NULL,1,'2021-06-28 22:32:40',0.00,10.00,NULL,NULL,'PL32I991',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (27,99,1,NULL,1,'2021-07-28 22:32:40',0.00,10.00,NULL,NULL,'PL32I992',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (28,99,1,NULL,1,'2021-08-28 22:32:40',0.00,10.00,NULL,NULL,'PL32I993',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (29,99,1,NULL,1,'2021-09-28 22:32:40',0.00,10.00,NULL,NULL,'PL32I994',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (30,99,1,NULL,1,'2021-10-28 22:32:40',0.00,10.00,NULL,NULL,'PL32I995',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (31,103,1,NULL,1,'2022-01-28 22:32:40',0.00,5.00,NULL,NULL,'PL32I1031',NULL,NULL,'EUR',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,3,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (32,175,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'1b544238ee45305e',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (33,105,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'b8be20d0799fd107',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (34,65,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'a171a7762c36c540',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (35,179,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'c7d020d2ff409fcf',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (36,159,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'ff4eb29d35e3db44',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (37,157,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'7d18ec704525094d',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (38,26,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'e50b279b4fa2c78c',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (39,184,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'009407b57d6c56c9',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (40,90,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'dbd9b62f2eaadaf9',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (41,167,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'82312e73e9b09297',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (42,3,2,NULL,1,'2022-02-28 22:32:40',0.00,1200.00,NULL,NULL,'c295f724fab6444b',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Lifetime Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (43,40,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'d53f8837c45ab2e1',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (44,82,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'f5d05ee18014a4e3',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (45,16,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'424743a2fbf1e388',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (46,34,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'86eb4b4a437299cb',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (47,79,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'671f021a2b136d06',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (48,163,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'43b86f0f202e2845',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (49,75,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'483a0ad5de920791',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (50,27,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'19da9240409df37f',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (51,99,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'ed8aeb4a23b209a5',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (52,174,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'b3b1dc07ce2b46af',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (53,195,2,NULL,1,'2022-02-28 22:32:40',0.00,1200.00,NULL,NULL,'ba36f6ad866a321a',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Lifetime Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (54,70,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'c1d30ce009737cfe',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (55,134,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'ac2cc2a6ec96e244',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (56,188,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'90ced3a3843e4c07',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (57,12,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'58902c4c575e175f',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (58,137,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'8f32b5ae217d0cdb',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (59,101,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'3b70ddd2ce354957',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (60,107,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'2899b74d80b82201',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (61,192,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'d8a9fcbe9b86aea0',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (63,156,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'33645b49f32d1d5b',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (64,60,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'37a9c216aebedf42',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (65,178,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'7bb238479bc2534c',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (66,100,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'e8fcfdedeb5eb47d',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (67,119,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'e0f74ef620561b21',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (68,138,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'94884d2010c3e513',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (69,167,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'a23528d57c263f13',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (70,124,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'e6820bb2f5c847a6',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (71,65,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'b9f74eeb376c7803',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (72,58,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'0e63fb32707e87a9',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (73,75,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'f9a4074192265577',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (74,182,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'a7705bf529f6cee0',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (75,51,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'72d360146f8d477d',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (76,150,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'c1e9b58bb31c287e',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (77,202,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'f069a4134e9adf81',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (78,15,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'3f2e5eef2dffe279',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (79,191,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'48aeaa7ecd0f8bf4',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (80,185,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'8025ef3ed65fe959',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (81,87,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'d29e9ed7d752363d',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (82,49,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'d2eeea79017a9f58',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (83,128,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'e4d6745df2a21d8c',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (84,32,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'ea4570fcf78ce268',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (85,158,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'36b951e3998f868e',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (86,63,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'e6d9f143d980e4df',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (87,181,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'531d6808f206bdfb',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (88,31,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'ad0576ff49ebb59b',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (89,25,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'e49f233cd7ce0ccc',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (90,157,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'3596c522ca584405',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (91,123,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'fb1e8d63a99c0961',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (92,44,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'32f8cc02cb0c8eaf',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (93,89,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'21ab95e377cebe9c',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (94,132,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'4d1708529d07fb93',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (95,151,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'a148b453ace178ce',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (96,48,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'7c737b7d8a20ee18',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (97,200,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'5ed25499ea28b8cf',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (98,40,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'fabffa52594e7b2a',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (99,20,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'050087ea7b0ba89f',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (100,42,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'00ed2001455b8457',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (101,4,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'73e8fdd556abb68c',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (102,29,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'42992bca736625e1',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (103,113,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'fbc73ba7a152db7b',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (104,168,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'5909b5671cf26258',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (105,22,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'5106ab214c80e6bd',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (106,194,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'fd6e488980ed879d',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (107,71,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'c7d0cfce5137b9c3',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (108,61,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'b0d6f27ae514d131',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (109,189,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'4430450f0ed84037',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (110,88,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'23c44337bc60f2c1',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (111,172,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'f2ea9948eb332f89',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (112,99,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'083d1a784045e433',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0);
 /*!40000 ALTER TABLE `civicrm_contribution` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -2313,9 +2281,9 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_contribution_recur` WRITE;
 /*!40000 ALTER TABLE `civicrm_contribution_recur` DISABLE KEYS */;
 INSERT INTO `civicrm_contribution_recur` (`id`, `contact_id`, `amount`, `currency`, `frequency_unit`, `frequency_interval`, `installments`, `start_date`, `create_date`, `modified_date`, `cancel_date`, `cancel_reason`, `end_date`, `processor_id`, `payment_token_id`, `trxn_id`, `invoice_id`, `contribution_status_id`, `is_test`, `cycle_day`, `next_sched_contribution_date`, `failure_count`, `failure_retry_date`, `auto_renew`, `payment_processor_id`, `financial_type_id`, `payment_instrument_id`, `campaign_id`, `is_email_receipt`) VALUES
- (1,59,25.00,'USD','month',1,12,'2020-10-05 03:20:52','2022-01-05 03:20:52','2022-01-05 03:20:52',NULL,'',NULL,'CLC45',NULL,'56799',NULL,1,0,1,NULL,0,NULL,0,1,NULL,NULL,NULL,1),
- (2,99,10.00,'CAD','month',1,6,'2021-05-05 03:20:52','2022-01-05 03:20:52','2022-01-05 03:20:52','2021-12-05 03:20:52','No longer interested',NULL,'CLR35',NULL,'22799',NULL,3,0,1,NULL,0,NULL,0,1,NULL,NULL,NULL,1),
- (3,103,5.00,'EUR','month',3,3,'2021-12-05 03:20:52','2022-01-05 03:20:52','2022-01-05 03:20:52',NULL,'',NULL,'EGR12',NULL,'44889',NULL,5,0,1,'2022-03-05 03:20:52',0,NULL,0,1,NULL,NULL,NULL,1);
+ (1,59,25.00,'USD','month',1,12,'2020-11-28 22:32:40','2022-02-28 22:32:40','2022-02-28 22:32:40',NULL,'',NULL,'CLC45',NULL,'56799',NULL,1,0,1,NULL,0,NULL,0,1,NULL,NULL,NULL,1),
+ (2,99,10.00,'CAD','month',1,6,'2021-06-28 22:32:40','2022-02-28 22:32:40','2022-02-28 22:32:40','2022-01-28 22:32:40','No longer interested',NULL,'CLR35',NULL,'22799',NULL,3,0,1,NULL,0,NULL,0,1,NULL,NULL,NULL,1),
+ (3,103,5.00,'EUR','month',3,3,'2022-01-28 22:32:40','2022-02-28 22:32:40','2022-02-28 22:32:40',NULL,'',NULL,'EGR12',NULL,'44889',NULL,5,0,1,'2022-04-28 22:32:40',0,NULL,0,1,NULL,NULL,NULL,1);
 /*!40000 ALTER TABLE `civicrm_contribution_recur` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -2326,8 +2294,8 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_contribution_soft` WRITE;
 /*!40000 ALTER TABLE `civicrm_contribution_soft` DISABLE KEYS */;
 INSERT INTO `civicrm_contribution_soft` (`id`, `contribution_id`, `contact_id`, `amount`, `currency`, `pcp_id`, `pcp_display_in_roll`, `pcp_roll_nickname`, `pcp_personal_note`, `soft_credit_type_id`) VALUES
- (1,9,185,10.00,'USD',1,1,'Jones Family','Helping Hands',10),
- (2,10,185,250.00,'USD',1,1,'Annie and the kids','Annie Helps',10);
+ (1,9,125,10.00,'USD',1,1,'Jones Family','Helping Hands',10),
+ (2,10,125,250.00,'USD',1,1,'Annie and the kids','Annie Helps',10);
 /*!40000 ALTER TABLE `civicrm_contribution_soft` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -2936,7 +2904,7 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_domain` WRITE;
 /*!40000 ALTER TABLE `civicrm_domain` DISABLE KEYS */;
 INSERT INTO `civicrm_domain` (`id`, `name`, `description`, `version`, `contact_id`, `locales`, `locale_custom_strings`) VALUES
- (1,'Default Domain Name',NULL,'5.46.2',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}');
+ (1,'Default Domain Name',NULL,'5.47.0',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}');
 /*!40000 ALTER TABLE `civicrm_domain` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -2948,188 +2916,188 @@ LOCK TABLES `civicrm_email` WRITE;
 /*!40000 ALTER TABLE `civicrm_email` DISABLE KEYS */;
 INSERT INTO `civicrm_email` (`id`, `contact_id`, `location_type_id`, `email`, `is_primary`, `is_billing`, `on_hold`, `is_bulkmail`, `hold_date`, `reset_date`, `signature_text`, `signature_html`) VALUES
  (1,1,1,'fixme.domainemail@example.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (2,64,1,'lawerencez@mymail.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (3,64,1,'lawerencez@fakemail.net',0,0,0,0,NULL,NULL,NULL,NULL),
- (4,185,1,'ismith85@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (5,192,1,'bobcooper@infomail.biz',1,0,0,0,NULL,NULL,NULL,NULL),
- (6,57,1,'bachman.lincoln97@example.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (7,100,1,'mllerm13@infomail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (8,100,1,'maxwellm65@example.biz',0,0,0,0,NULL,NULL,NULL,NULL),
- (9,95,1,'jameson.ivey@spamalot.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (10,95,1,'jameson.ivey@notmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
- (11,58,1,'jacksoncooper17@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (12,46,1,'jacobsi89@testmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (13,164,1,'kathleenterry@fishmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (14,71,1,'eterry81@spamalot.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (15,162,1,'robertson.andrew@fakemail.info',1,0,0,0,NULL,NULL,NULL,NULL),
- (16,162,1,'aw.robertson45@infomail.biz',0,0,0,0,NULL,NULL,NULL,NULL),
- (17,7,1,'troberts45@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (18,111,1,'chowski.maria@mymail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (19,111,1,'chowskim52@sample.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (20,15,1,'nielsen.arlyne@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (21,15,1,'nielsen.arlyne@mymail.biz',0,0,0,0,NULL,NULL,NULL,NULL),
- (22,106,1,'terrell.norris40@infomail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (23,106,1,'norrist@lol.info',0,0,0,0,NULL,NULL,NULL,NULL),
- (24,171,1,'clintd@fishmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),
- (25,171,1,'daz.u.clint5@example.biz',0,0,0,0,NULL,NULL,NULL,NULL),
- (26,39,1,'terry.j.alida@fakemail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (27,39,1,'alidaterry@fakemail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
- (28,128,1,'margaretj40@fakemail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (29,84,1,'cooper.andrew@example.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (30,84,1,'cooper.andrew@spamalot.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (31,62,1,'dimitrov.rolando@fishmail.info',1,0,0,0,NULL,NULL,NULL,NULL),
- (32,62,1,'ru.dimitrov@lol.com',0,0,0,0,NULL,NULL,NULL,NULL),
- (33,61,1,'damarisb@spamalot.biz',1,0,0,0,NULL,NULL,NULL,NULL),
- (34,194,1,'andrewg@infomail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (35,194,1,'andrewg@fishmail.com',0,0,0,0,NULL,NULL,NULL,NULL),
- (36,126,1,'sjones@airmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (37,126,1,'jones.shauna@lol.info',0,0,0,0,NULL,NULL,NULL,NULL),
- (38,40,1,'prentice.n.jina77@infomail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (39,174,1,'irvinlee89@testing.com',1,0,0,0,NULL,NULL,NULL,NULL),
- (40,89,1,'ivanovr17@sample.biz',1,0,0,0,NULL,NULL,NULL,NULL),
- (41,89,1,'ru.ivanov46@airmail.com',0,0,0,0,NULL,NULL,NULL,NULL),
- (42,107,1,'mroberts73@example.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (43,107,1,'mroberts64@example.biz',0,0,0,0,NULL,NULL,NULL,NULL),
- (44,80,1,'yadav.t.norris7@lol.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (45,198,1,'mcreynolds.shauna38@airmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
- (46,198,1,'shaunamcreynolds37@lol.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (47,149,1,'tzope@airmail.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (48,96,1,'clintn82@mymail.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (49,96,1,'clintn@notmail.info',0,0,0,0,NULL,NULL,NULL,NULL),
- (50,34,1,'jacobs.juliann81@fishmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (51,4,1,'barkley.heidi@sample.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (52,4,1,'heidibarkley@sample.co.in',0,0,0,0,NULL,NULL,NULL,NULL),
- (53,172,1,'jacobsa@testing.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (54,172,1,'jacobs.arlyne@notmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
- (55,49,1,'patel.kathleen77@testing.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (56,49,1,'patel.kathleen@sample.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
- (57,158,1,'ryadav2@spamalot.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (58,158,1,'yadav.rosario@testmail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),
- (59,14,1,'terry.n.sharyn@example.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (60,70,1,'barrycooper@mymail.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (61,70,1,'barrycooper@example.info',0,0,0,0,NULL,NULL,NULL,NULL),
- (62,68,1,'terrell.shad21@fishmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (63,68,1,'shadterrell@fakemail.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (64,30,1,'adams.v.maxwell41@sample.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (65,54,1,'fx.jensen@airmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (66,54,1,'jensen.felisha@sample.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
- (67,92,1,'reynolds.heidi@mymail.info',1,0,0,0,NULL,NULL,NULL,NULL),
- (68,92,1,'reynoldsh33@testing.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
- (69,13,1,'yadava28@sample.com',1,0,0,0,NULL,NULL,NULL,NULL),
- (70,98,1,'jsamson@lol.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (71,98,1,'jsamson@fishmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
- (72,183,1,'syadav@example.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (73,91,1,'robertson.justina79@spamalot.info',1,0,0,0,NULL,NULL,NULL,NULL),
- (74,119,1,'jensen.kiara69@example.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (75,119,1,'kiaraj@testing.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (76,135,1,'yadav.c.winford38@sample.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (77,135,1,'wc.yadav18@testmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
- (78,2,1,'terryl@mymail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (79,2,1,'landonterry77@testmail.info',0,0,0,0,NULL,NULL,NULL,NULL),
- (80,20,1,'cjacobs@testing.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (81,20,1,'jacobs.claudio@sample.biz',0,0,0,0,NULL,NULL,NULL,NULL),
- (82,161,1,'kandaceroberts92@notmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (83,161,1,'kandacer@example.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
- (84,150,1,'russellb@fakemail.biz',1,0,0,0,NULL,NULL,NULL,NULL),
- (85,110,1,'samuelsc@notmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
- (86,110,1,'samuels.carylon85@sample.co.in',0,0,0,0,NULL,NULL,NULL,NULL),
- (87,121,1,'ksamuels@mymail.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (88,121,1,'kaceysamuels16@example.com',0,0,0,0,NULL,NULL,NULL,NULL),
- (89,122,1,'samuels.teresa47@spamalot.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (90,156,1,'jterry25@sample.info',1,0,0,0,NULL,NULL,NULL,NULL),
- (91,50,1,'terry.iris@sample.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (92,146,1,'clintd@notmail.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (93,82,1,'carylondimitrov36@testmail.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (94,82,1,'dimitrov.carylon73@testmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),
- (95,190,1,'omarr@example.com',1,0,0,0,NULL,NULL,NULL,NULL),
- (96,190,1,'reynolds.omar75@mymail.com',0,0,0,0,NULL,NULL,NULL,NULL),
- (97,59,1,'freynolds@notmail.info',1,0,0,0,NULL,NULL,NULL,NULL),
- (98,72,1,'alexiar@infomail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (99,72,1,'ao.reynolds@airmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),
- (100,81,1,'shadc89@spamalot.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (101,65,1,'acooper54@spamalot.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (102,189,1,'ts.cooper1@infomail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (103,19,1,'lee.w.princess@fakemail.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (104,136,1,'iveyrobertson-lee@airmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (105,136,1,'robertson-lee.v.ivey67@fishmail.info',0,0,0,0,NULL,NULL,NULL,NULL),
- (106,134,1,'co.daz@fishmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (107,154,1,'mrobertson-daz98@example.biz',1,0,0,0,NULL,NULL,NULL,NULL),
- (108,176,1,'jacksond@notmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
- (109,176,1,'jacksondaz@lol.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (110,193,1,'gonzlezr@airmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (111,193,1,'gonzlez.n.rodrigo61@infomail.net',0,0,0,0,NULL,NULL,NULL,NULL),
- (112,27,1,'kathlynparker@airmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (113,27,1,'kathlynparker25@spamalot.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
- (114,55,1,'gonzlez-parker.maxwell@fakemail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (115,182,1,'claudioprentice@example.info',1,0,0,0,NULL,NULL,NULL,NULL),
- (116,182,1,'claudioprentice87@airmail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),
- (117,53,1,'sharynpatel@lol.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (118,53,1,'patel.sharyn@airmail.com',0,0,0,0,NULL,NULL,NULL,NULL),
- (119,114,1,'prentice-patel.d.juliann@fishmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (120,125,1,'cs.prentice-patel@fishmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (121,125,1,'cs.prentice-patel39@infomail.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (122,139,1,'rodrigojensen@airmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
- (123,24,1,'lawerencet12@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (124,24,1,'terry-jensen.lawerence87@notmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),
- (125,155,1,'mllerl@fishmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (126,16,1,'allenterry@testing.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (127,26,1,'trumant@mymail.com',1,0,0,0,NULL,NULL,NULL,NULL),
- (128,26,1,'tterry@example.net',0,0,0,0,NULL,NULL,NULL,NULL),
- (129,6,1,'shermanchowski@lol.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (130,31,1,'elizabethj@testing.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (131,31,1,'elizabethjacobs-wilson41@testmail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),
- (132,179,1,'norriswilson47@spamalot.com',1,0,0,0,NULL,NULL,NULL,NULL),
- (133,163,1,'olsen.o.jerome@fishmail.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (134,74,1,'valenedeforest-olsen@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (135,41,1,'kz.olsen@airmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (136,41,1,'olsenk@infomail.net',0,0,0,0,NULL,NULL,NULL,NULL),
- (137,69,1,'dbarkley41@spamalot.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (138,69,1,'barkleyd@infomail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
- (139,5,1,'nielsenj@testing.biz',1,0,0,0,NULL,NULL,NULL,NULL),
- (140,5,1,'junkonielsen46@testing.info',0,0,0,0,NULL,NULL,NULL,NULL),
- (141,140,1,'nielsen.jackson@notmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (142,140,1,'jnielsen@testmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
- (143,99,1,'jayi55@example.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (144,99,1,'ivanov.jay79@infomail.info',0,0,0,0,NULL,NULL,NULL,NULL),
- (145,22,1,'kiarai@notmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (146,22,1,'ivanovk@fakemail.net',0,0,0,0,NULL,NULL,NULL,NULL),
- (147,29,1,'ivanovj28@lol.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (148,66,1,'patelt39@example.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (149,66,1,'patelt@testing.net',0,0,0,0,NULL,NULL,NULL,NULL),
- (150,175,1,'ht.patel32@fishmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (151,160,1,'zope.elina98@spamalot.biz',1,0,0,0,NULL,NULL,NULL,NULL),
- (152,160,1,'zope.elina@testmail.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (153,137,1,'zopej@airmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (154,137,1,'zope.jacob@airmail.com',0,0,0,0,NULL,NULL,NULL,NULL),
- (155,104,1,'zope.q.tanya1@testing.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (156,104,1,'tq.zope@testmail.net',0,0,0,0,NULL,NULL,NULL,NULL),
- (157,116,3,'info@creativefoodsystems.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (158,17,3,'service@kinsmaneducation.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (159,19,2,'.@kinsmaneducation.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (160,102,3,'contact@urbanschool.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (161,76,2,'samson.claudio97@urbanschool.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (162,187,3,'feedback@globalfood.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (163,195,3,'contact@watertownfoodpartnership.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (164,28,2,'olsena@watertownfoodpartnership.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (165,101,3,'feedback@orlandofood.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (166,98,2,'jsamson@orlandofood.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (167,21,3,'contact@sierraacademy.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (168,126,2,'shaunaj66@sierraacademy.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (169,18,3,'service@ohioschool.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (170,36,2,'mz.chowski39@ohioschool.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (171,93,3,'info@woodbridgefood.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (172,135,2,'yadav.c.winford@woodbridgefood.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (173,166,3,'info@mainsustainability.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (174,56,3,'sales@woodbridgehealthinitiative.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (175,184,3,'contact@bayhealthschool.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (176,119,2,'kl.jensen@bayhealthschool.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (177,11,3,'sales@padronisportscenter.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (178,173,3,'info@progressivepeace.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (179,86,2,'kx.mller@progressivepeace.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (180,120,3,'info@passadumkeagagriculturepartnership.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (181,96,2,'cnielsen@passadumkeagagriculturepartnership.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (182,42,3,'contact@vnempowermentacademy.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (183,27,2,'.@vnempowermentacademy.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (2,174,1,'bobblackwell@spamalot.net',1,0,0,0,NULL,NULL,NULL,NULL),
+ (3,163,1,'td.wilson@notmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (4,177,1,'lashawndab@example.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (5,104,1,'terrellj65@testmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (6,55,1,'reynolds.c.irvin@testing.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (7,116,1,'teresajacobs@testing.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (8,151,1,'th.terrell@testing.biz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (9,76,1,'zope.megan@notmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
+ (10,121,1,'jinaterry@mymail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (11,199,1,'bjameson@fakemail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (12,199,1,'jameson.brittney45@sample.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
+ (13,171,1,'iriswattson@testmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
+ (14,126,1,'blackwell.sherman@testmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (15,28,1,'bachman.l.laree13@sample.biz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (16,9,1,'rolandivanov@spamalot.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (17,9,1,'rolandi29@airmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (18,105,1,'smithv@lol.biz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (19,105,1,'smithv@spamalot.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (20,68,1,'roberts.erik37@notmail.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (21,68,1,'erikroberts96@sample.com',0,0,0,0,NULL,NULL,NULL,NULL),
+ (22,122,1,'sharynw56@testing.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (23,127,1,'jensen.errol@fishmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
+ (24,127,1,'errolj@sample.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (25,115,1,'kiaraterry3@testing.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (26,115,1,'kiarat55@fishmail.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (27,2,1,'olsen.elbert@testing.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (28,2,1,'elberto@example.biz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (29,117,1,'prenticef@notmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (30,134,1,'daz.kandace@fishmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (31,134,1,'daz.kandace42@notmail.net',0,0,0,0,NULL,NULL,NULL,NULL),
+ (32,179,1,'barkleyl@airmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (33,179,1,'barkley.q.lashawnda@spamalot.biz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (34,86,1,'rolandd@notmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (35,11,1,'jeds@sample.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (36,143,1,'yadav.claudio@example.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (37,52,1,'wilsons@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (38,100,1,'tl.olsen96@fishmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
+ (39,155,1,'deforestb@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (40,178,1,'grant.winford@testing.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (41,66,1,'kaceyadams2@fishmail.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (42,66,1,'kaceya@airmail.net',0,0,0,0,NULL,NULL,NULL,NULL),
+ (43,193,1,'zope.merrie@fishmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (44,67,1,'maganjensen@fakemail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (45,67,1,'jensenm@fishmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (46,29,1,'lawerencej4@notmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
+ (47,46,1,'lee.landon@fakemail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (48,46,1,'leel33@notmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (49,69,1,'samsons@notmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
+ (50,103,1,'barkley.x.alexia@mymail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (51,170,1,'lpatel34@fishmail.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (52,170,1,'loupatel@mymail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),
+ (53,165,1,'pmcreynolds73@notmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (54,45,1,'rodrigor67@fakemail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (55,45,1,'robertsonr@spamalot.net',0,0,0,0,NULL,NULL,NULL,NULL),
+ (56,59,1,'dimitrov.landon@fakemail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
+ (57,59,1,'landondimitrov97@example.net',0,0,0,0,NULL,NULL,NULL,NULL),
+ (58,101,1,'jones.santina@airmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (59,101,1,'su.jones@infomail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
+ (60,137,1,'wattson.junko@testing.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (61,53,1,'ereynolds35@fishmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (62,53,1,'reynoldse55@testing.net',0,0,0,0,NULL,NULL,NULL,NULL),
+ (63,111,1,'nielsenm37@infomail.net',1,0,0,0,NULL,NULL,NULL,NULL),
+ (64,145,1,'troyadams24@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
+ (65,145,1,'adams.troy19@airmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
+ (66,14,1,'magani78@airmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
+ (67,14,1,'mivanov@mymail.net',0,0,0,0,NULL,NULL,NULL,NULL),
+ (68,26,1,'prenticee@testmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (69,173,1,'mcreynoldsf@example.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (70,80,1,'angelikam@fakemail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (71,80,1,'al.mller3@example.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (72,106,1,'caryloni@sample.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
+ (73,106,1,'carylonivanov49@testmail.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (74,15,1,'jedd27@notmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
+ (75,63,1,'ashleysmith-samson@testmail.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (76,196,1,'samson.esta@mymail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
+ (77,157,1,'jameson.m.tanya13@lol.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (78,157,1,'tanyaj37@infomail.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (79,120,1,'alidam29@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (80,120,1,'amller-jameson@mymail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),
+ (81,12,1,'tf.jameson44@airmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (82,12,1,'jameson.truman@infomail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (83,36,1,'bm.barkley@fishmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (84,181,1,'elizabethb46@mymail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (85,181,1,'elizabethbarkley@airmail.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (86,118,1,'jbarkley84@fakemail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (87,176,1,'barkleya40@sample.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (88,75,1,'shaunajones@notmail.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (89,75,1,'shaunaj@infomail.com',0,0,0,0,NULL,NULL,NULL,NULL),
+ (90,149,1,'jones.kathlyn@notmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (91,82,1,'terrell-parkeri@infomail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (92,146,1,'eo.parker@sample.biz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (93,159,1,'craigp31@mymail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (94,159,1,'craigparker@spamalot.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (95,90,1,'herminiablackwell23@infomail.net',1,0,0,0,NULL,NULL,NULL,NULL),
+ (96,90,1,'herminiab@testmail.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (97,24,1,'ct.cooper@airmail.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (98,32,1,'dcooper@fakemail.biz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (99,32,1,'darencooper@lol.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
+ (100,168,1,'reynolds-prentice.josefa@fishmail.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (101,150,1,'prentice.brigette@mymail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (102,150,1,'bi.prentice@fakemail.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (103,152,1,'kathleeno@infomail.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (104,152,1,'kolsen68@lol.info',0,0,0,0,NULL,NULL,NULL,NULL),
+ (105,167,1,'iveyolsen65@testmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (106,65,1,'rosarioo@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (107,148,1,'rodrigoz57@spamalot.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (108,148,1,'zoper@example.com',0,0,0,0,NULL,NULL,NULL,NULL),
+ (109,107,1,'beulaparker-zope@fishmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (110,107,1,'parker-zopeb@example.co.in',0,0,0,0,NULL,NULL,NULL,NULL),
+ (111,13,1,'av.zope39@spamalot.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (112,13,1,'zope.v.angelika3@spamalot.info',0,0,0,0,NULL,NULL,NULL,NULL),
+ (113,141,1,'zope.bob@spamalot.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (114,141,1,'bzope@airmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (115,154,1,'brenti@fishmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
+ (116,81,1,'ivanov.allan42@infomail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (117,34,1,'kivanov@infomail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (118,34,1,'ivanovk@testmail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),
+ (119,48,1,'zope.barry@notmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (120,48,1,'zope.barry42@airmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (121,47,1,'lz.patel@testmail.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (122,47,1,'lashawndap7@spamalot.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
+ (123,70,1,'ko.zope-patel@airmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (124,70,1,'kathlynz67@notmail.info',0,0,0,0,NULL,NULL,NULL,NULL),
+ (125,144,1,'grant.x.maxwell@airmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (126,85,1,'grant.b.delana@fakemail.biz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (127,19,1,'jaygrant@fakemail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (128,21,1,'rolandonielsen35@testing.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (129,21,1,'nielsen.rolando96@fishmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (130,95,1,'santinan13@fakemail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (131,95,1,'santinan84@testmail.net',0,0,0,0,NULL,NULL,NULL,NULL),
+ (132,185,1,'lee.allen47@fishmail.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (133,113,1,'santinalee@fishmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
+ (134,113,1,'lee.g.santina47@airmail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),
+ (135,50,1,'angelikal@fakemail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (136,50,1,'ae.lee82@lol.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (137,147,1,'dimitrov.truman@sample.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (138,147,1,'dimitrovt@fakemail.info',0,0,0,0,NULL,NULL,NULL,NULL),
+ (139,31,1,'dimitrov.toby@spamalot.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (140,128,1,'claudiod@spamalot.biz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (141,128,1,'claudiodimitrov52@fishmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),
+ (142,96,1,'dadams@fakemail.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (143,96,1,'delanaadams30@testing.biz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (144,194,1,'kandacewilson-adams@testmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
+ (145,194,1,'wilson-adams.kandace@spamalot.net',0,0,0,0,NULL,NULL,NULL,NULL),
+ (146,89,1,'barryw@fishmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (147,89,1,'barrywilson-adams65@notmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (148,16,1,'allenwattson@notmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (149,16,1,'allenw@example.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),
+ (150,4,1,'wattson.v.sharyn19@spamalot.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (151,4,1,'sharynwattson@airmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),
+ (152,189,1,'wattson.g.kathleen@sample.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (153,40,1,'blackwell.x.billy@testing.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (154,91,1,'rl.blackwell52@lol.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (155,91,1,'blackwell.rolando98@fakemail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),
+ (156,156,1,'blackwell.toby99@example.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (157,156,1,'tobyblackwell@fakemail.info',0,0,0,0,NULL,NULL,NULL,NULL),
+ (158,77,3,'sales@mlkingenvironmental.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (159,169,2,'dimitrov.alexia79@mlkingenvironmental.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (160,139,3,'info@oxfordinitiative.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (161,43,3,'info@gibbonhealthpartners.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (162,22,3,'feedback@secondfood.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (163,119,2,'barkleyb64@secondfood.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (164,153,3,'info@woodbridgesustainability.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (165,27,2,'nielsen.d.santina@woodbridgesustainability.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (166,58,3,'info@houstonlegalassociation.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (167,36,2,'brentb@houstonlegalassociation.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (168,142,3,'contact@harmonpeacefund.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (169,143,2,'claudioy43@harmonpeacefund.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (170,191,3,'feedback@tennesseesystems.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (171,199,2,'jameson.brittney@tennesseesystems.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (172,25,3,'feedback@unitedcollective.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (173,128,2,'.15@unitedcollective.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (174,166,3,'sales@texaspeace.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (175,60,3,'service@cotopaxiadvocacytrust.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (176,75,2,'@cotopaxiadvocacytrust.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (177,54,3,'info@lincolnfood.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (178,154,2,'brentivanov@lincolnfood.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (179,158,3,'sales@lincolnculture.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (180,32,2,'dcooper@lincolnculture.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (181,92,3,'sales@nclegalinitiative.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (182,23,3,'service@floridalegalsolutions.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (183,186,2,'terry.sherman@floridalegalsolutions.org',1,0,0,0,NULL,NULL,NULL,NULL),
  (184,202,1,'jenny@example.com',1,0,0,0,NULL,NULL,NULL,NULL),
  (185,NULL,1,'development@example.org',0,0,0,0,NULL,NULL,NULL,NULL),
  (186,NULL,1,'tournaments@example.org',0,0,0,0,NULL,NULL,NULL,NULL),
@@ -3267,9 +3235,9 @@ INSERT INTO `civicrm_entity_financial_trxn` (`id`, `entity_table`, `entity_id`,
  (70,'civicrm_financial_item',35,35,100.00),
  (71,'civicrm_contribution',40,36,100.00),
  (72,'civicrm_financial_item',36,36,100.00),
- (73,'civicrm_contribution',41,37,100.00),
+ (73,'civicrm_contribution',44,37,100.00),
  (74,'civicrm_financial_item',37,37,100.00),
- (75,'civicrm_contribution',44,38,100.00),
+ (75,'civicrm_contribution',46,38,100.00),
  (76,'civicrm_financial_item',38,38,100.00),
  (77,'civicrm_contribution',48,39,100.00),
  (78,'civicrm_financial_item',39,39,100.00),
@@ -3281,31 +3249,31 @@ INSERT INTO `civicrm_entity_financial_trxn` (`id`, `entity_table`, `entity_id`,
  (84,'civicrm_financial_item',42,42,100.00),
  (85,'civicrm_contribution',54,43,100.00),
  (86,'civicrm_financial_item',43,43,100.00),
- (87,'civicrm_contribution',56,44,100.00),
+ (87,'civicrm_contribution',58,44,100.00),
  (88,'civicrm_financial_item',44,44,100.00),
- (89,'civicrm_contribution',58,45,100.00),
+ (89,'civicrm_contribution',60,45,100.00),
  (90,'civicrm_financial_item',45,45,100.00),
- (91,'civicrm_contribution',60,46,100.00),
- (92,'civicrm_financial_item',46,46,100.00),
- (93,'civicrm_contribution',33,47,50.00),
+ (91,'civicrm_contribution',33,46,50.00),
+ (92,'civicrm_financial_item',46,46,50.00),
+ (93,'civicrm_contribution',35,47,50.00),
  (94,'civicrm_financial_item',47,47,50.00),
- (95,'civicrm_contribution',35,48,50.00),
+ (95,'civicrm_contribution',37,48,50.00),
  (96,'civicrm_financial_item',48,48,50.00),
- (97,'civicrm_contribution',37,49,50.00),
+ (97,'civicrm_contribution',39,49,50.00),
  (98,'civicrm_financial_item',49,49,50.00),
- (99,'civicrm_contribution',39,50,50.00),
+ (99,'civicrm_contribution',41,50,50.00),
  (100,'civicrm_financial_item',50,50,50.00),
  (101,'civicrm_contribution',43,51,50.00),
  (102,'civicrm_financial_item',51,51,50.00),
  (103,'civicrm_contribution',45,52,50.00),
  (104,'civicrm_financial_item',52,52,50.00),
- (105,'civicrm_contribution',46,53,50.00),
+ (105,'civicrm_contribution',47,53,50.00),
  (106,'civicrm_financial_item',53,53,50.00),
- (107,'civicrm_contribution',47,54,50.00),
+ (107,'civicrm_contribution',49,54,50.00),
  (108,'civicrm_financial_item',54,54,50.00),
- (109,'civicrm_contribution',49,55,50.00),
+ (109,'civicrm_contribution',55,55,50.00),
  (110,'civicrm_financial_item',55,55,50.00),
- (111,'civicrm_contribution',55,56,50.00),
+ (111,'civicrm_contribution',56,56,50.00),
  (112,'civicrm_financial_item',56,56,50.00),
  (113,'civicrm_contribution',57,57,50.00),
  (114,'civicrm_financial_item',57,57,50.00),
@@ -3317,105 +3285,105 @@ INSERT INTO `civicrm_entity_financial_trxn` (`id`, `entity_table`, `entity_id`,
  (120,'civicrm_financial_item',60,60,1200.00),
  (121,'civicrm_contribution',53,61,1200.00),
  (122,'civicrm_financial_item',61,61,1200.00),
- (123,'civicrm_contribution',78,62,50.00),
+ (123,'civicrm_contribution',64,62,50.00),
  (124,'civicrm_financial_item',62,62,50.00),
- (125,'civicrm_contribution',66,63,50.00),
+ (125,'civicrm_contribution',67,63,50.00),
  (126,'civicrm_financial_item',63,63,50.00),
- (127,'civicrm_contribution',102,64,50.00),
+ (127,'civicrm_contribution',70,64,50.00),
  (128,'civicrm_financial_item',64,64,50.00),
- (129,'civicrm_contribution',80,65,50.00),
+ (129,'civicrm_contribution',73,65,50.00),
  (130,'civicrm_financial_item',65,65,50.00),
- (131,'civicrm_contribution',67,66,50.00),
+ (131,'civicrm_contribution',76,66,50.00),
  (132,'civicrm_financial_item',66,66,50.00),
- (133,'civicrm_contribution',105,67,50.00),
+ (133,'civicrm_contribution',79,67,50.00),
  (134,'civicrm_financial_item',67,67,50.00),
- (135,'civicrm_contribution',98,68,50.00),
+ (135,'civicrm_contribution',82,68,50.00),
  (136,'civicrm_financial_item',68,68,50.00),
- (137,'civicrm_contribution',101,69,50.00),
+ (137,'civicrm_contribution',85,69,50.00),
  (138,'civicrm_financial_item',69,69,50.00),
- (139,'civicrm_contribution',79,70,50.00),
+ (139,'civicrm_contribution',89,70,50.00),
  (140,'civicrm_financial_item',70,70,50.00),
- (141,'civicrm_contribution',90,71,50.00),
+ (141,'civicrm_contribution',92,71,50.00),
  (142,'civicrm_financial_item',71,71,50.00),
- (143,'civicrm_contribution',88,72,50.00),
+ (143,'civicrm_contribution',95,72,50.00),
  (144,'civicrm_financial_item',72,72,50.00),
- (145,'civicrm_contribution',93,73,50.00),
+ (145,'civicrm_contribution',98,73,50.00),
  (146,'civicrm_financial_item',73,73,50.00),
- (147,'civicrm_contribution',81,74,50.00),
+ (147,'civicrm_contribution',101,74,50.00),
  (148,'civicrm_financial_item',74,74,50.00),
- (149,'civicrm_contribution',87,75,50.00),
+ (149,'civicrm_contribution',104,75,50.00),
  (150,'civicrm_financial_item',75,75,50.00),
- (151,'civicrm_contribution',94,76,50.00),
+ (151,'civicrm_contribution',107,76,50.00),
  (152,'civicrm_financial_item',76,76,50.00),
- (153,'civicrm_contribution',106,77,50.00),
+ (153,'civicrm_contribution',110,77,50.00),
  (154,'civicrm_financial_item',77,77,50.00),
  (155,'civicrm_contribution',65,78,800.00),
  (156,'civicrm_financial_item',78,78,800.00),
- (157,'civicrm_contribution',76,79,800.00),
+ (157,'civicrm_contribution',68,79,800.00),
  (158,'civicrm_financial_item',79,79,800.00),
- (159,'civicrm_contribution',69,80,800.00),
+ (159,'civicrm_contribution',71,80,800.00),
  (160,'civicrm_financial_item',80,80,800.00),
- (161,'civicrm_contribution',68,81,800.00),
+ (161,'civicrm_contribution',74,81,800.00),
  (162,'civicrm_financial_item',81,81,800.00),
  (163,'civicrm_contribution',77,82,800.00),
  (164,'civicrm_financial_item',82,82,800.00),
- (165,'civicrm_contribution',82,83,800.00),
+ (165,'civicrm_contribution',80,83,800.00),
  (166,'civicrm_financial_item',83,83,800.00),
- (167,'civicrm_contribution',99,84,800.00),
+ (167,'civicrm_contribution',83,84,800.00),
  (168,'civicrm_financial_item',84,84,800.00),
- (169,'civicrm_contribution',97,85,800.00),
+ (169,'civicrm_contribution',86,85,800.00),
  (170,'civicrm_financial_item',85,85,800.00),
- (171,'civicrm_contribution',103,86,800.00),
+ (171,'civicrm_contribution',87,86,800.00),
  (172,'civicrm_financial_item',86,86,800.00),
- (173,'civicrm_contribution',110,87,800.00),
+ (173,'civicrm_contribution',90,87,800.00),
  (174,'civicrm_financial_item',87,87,800.00),
- (175,'civicrm_contribution',71,88,800.00),
+ (175,'civicrm_contribution',93,88,800.00),
  (176,'civicrm_financial_item',88,88,800.00),
- (177,'civicrm_contribution',104,89,800.00),
+ (177,'civicrm_contribution',96,89,800.00),
  (178,'civicrm_financial_item',89,89,800.00),
- (179,'civicrm_contribution',75,90,800.00),
+ (179,'civicrm_contribution',99,90,800.00),
  (180,'civicrm_financial_item',90,90,800.00),
- (181,'civicrm_contribution',74,91,800.00),
+ (181,'civicrm_contribution',102,91,800.00),
  (182,'civicrm_financial_item',91,91,800.00),
- (183,'civicrm_contribution',84,92,800.00),
+ (183,'civicrm_contribution',105,92,800.00),
  (184,'civicrm_financial_item',92,92,800.00),
- (185,'civicrm_contribution',73,93,800.00),
+ (185,'civicrm_contribution',108,93,800.00),
  (186,'civicrm_financial_item',93,93,800.00),
- (187,'civicrm_contribution',112,94,800.00),
+ (187,'civicrm_contribution',111,94,800.00),
  (188,'civicrm_financial_item',94,94,800.00),
- (189,'civicrm_contribution',89,95,800.00),
+ (189,'civicrm_contribution',112,95,800.00),
  (190,'civicrm_financial_item',95,95,800.00),
- (191,'civicrm_contribution',95,96,50.00),
+ (191,'civicrm_contribution',63,96,50.00),
  (192,'civicrm_financial_item',96,96,50.00),
- (193,'civicrm_contribution',100,97,50.00),
+ (193,'civicrm_contribution',66,97,50.00),
  (194,'civicrm_financial_item',97,97,50.00),
- (195,'civicrm_contribution',107,98,50.00),
+ (195,'civicrm_contribution',69,98,50.00),
  (196,'civicrm_financial_item',98,98,50.00),
- (197,'civicrm_contribution',91,99,50.00),
+ (197,'civicrm_contribution',72,99,50.00),
  (198,'civicrm_financial_item',99,99,50.00),
- (199,'civicrm_contribution',111,100,50.00),
+ (199,'civicrm_contribution',75,100,50.00),
  (200,'civicrm_financial_item',100,100,50.00),
- (201,'civicrm_contribution',96,101,50.00),
+ (201,'civicrm_contribution',78,101,50.00),
  (202,'civicrm_financial_item',101,101,50.00),
- (203,'civicrm_contribution',109,102,50.00),
+ (203,'civicrm_contribution',81,102,50.00),
  (204,'civicrm_financial_item',102,102,50.00),
- (205,'civicrm_contribution',85,103,50.00),
+ (205,'civicrm_contribution',84,103,50.00),
  (206,'civicrm_financial_item',103,103,50.00),
- (207,'civicrm_contribution',108,104,50.00),
+ (207,'civicrm_contribution',88,104,50.00),
  (208,'civicrm_financial_item',104,104,50.00),
- (209,'civicrm_contribution',83,105,50.00),
+ (209,'civicrm_contribution',91,105,50.00),
  (210,'civicrm_financial_item',105,105,50.00),
- (211,'civicrm_contribution',70,106,50.00),
+ (211,'civicrm_contribution',94,106,50.00),
  (212,'civicrm_financial_item',106,106,50.00),
- (213,'civicrm_contribution',64,107,50.00),
+ (213,'civicrm_contribution',97,107,50.00),
  (214,'civicrm_financial_item',107,107,50.00),
- (215,'civicrm_contribution',86,108,50.00),
+ (215,'civicrm_contribution',100,108,50.00),
  (216,'civicrm_financial_item',108,108,50.00),
- (217,'civicrm_contribution',92,109,50.00),
+ (217,'civicrm_contribution',103,109,50.00),
  (218,'civicrm_financial_item',109,109,50.00),
- (219,'civicrm_contribution',63,110,50.00),
+ (219,'civicrm_contribution',106,110,50.00),
  (220,'civicrm_financial_item',110,110,50.00),
- (221,'civicrm_contribution',72,111,50.00),
+ (221,'civicrm_contribution',109,111,50.00),
  (222,'civicrm_financial_item',111,111,50.00);
 /*!40000 ALTER TABLE `civicrm_entity_financial_trxn` ENABLE KEYS */;
 UNLOCK TABLES;
@@ -3427,124 +3395,123 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_entity_tag` WRITE;
 /*!40000 ALTER TABLE `civicrm_entity_tag` DISABLE KEYS */;
 INSERT INTO `civicrm_entity_tag` (`id`, `entity_table`, `entity_id`, `tag_id`) VALUES
- (63,'civicrm_contact',2,4),
- (98,'civicrm_contact',6,4),
- (99,'civicrm_contact',6,5),
- (107,'civicrm_contact',8,4),
- (9,'civicrm_contact',11,1),
- (18,'civicrm_contact',12,4),
- (19,'civicrm_contact',12,5),
- (58,'civicrm_contact',13,5),
- (29,'civicrm_contact',15,4),
- (30,'civicrm_contact',15,5),
- (97,'civicrm_contact',16,5),
- (5,'civicrm_contact',18,1),
- (113,'civicrm_contact',22,4),
- (50,'civicrm_contact',30,4),
- (51,'civicrm_contact',30,5),
- (65,'civicrm_contact',35,4),
- (117,'civicrm_contact',38,4),
- (32,'civicrm_contact',39,4),
- (33,'civicrm_contact',39,5),
- (38,'civicrm_contact',40,5),
- (105,'civicrm_contact',41,4),
- (86,'civicrm_contact',47,4),
- (101,'civicrm_contact',51,4),
- (102,'civicrm_contact',51,5),
- (69,'civicrm_contact',52,5),
- (54,'civicrm_contact',60,4),
- (55,'civicrm_contact',60,5),
- (35,'civicrm_contact',62,4),
- (52,'civicrm_contact',63,4),
- (53,'civicrm_contact',63,5),
- (11,'civicrm_contact',64,5),
- (114,'civicrm_contact',66,4),
- (115,'civicrm_contact',66,5),
- (49,'civicrm_contact',70,5),
- (74,'civicrm_contact',72,4),
- (75,'civicrm_contact',72,5),
- (95,'civicrm_contact',75,4),
- (96,'civicrm_contact',75,5),
- (12,'civicrm_contact',79,4),
- (76,'civicrm_contact',81,4),
- (77,'civicrm_contact',81,5),
- (91,'civicrm_contact',85,4),
- (93,'civicrm_contact',87,4),
- (94,'civicrm_contact',87,5),
- (6,'civicrm_contact',93,1),
- (17,'civicrm_contact',95,5),
- (46,'civicrm_contact',97,5),
- (111,'civicrm_contact',99,4),
- (112,'civicrm_contact',99,5),
- (4,'civicrm_contact',101,2),
- (59,'civicrm_contact',103,5),
- (41,'civicrm_contact',107,4),
- (25,'civicrm_contact',111,4),
- (26,'civicrm_contact',111,5),
- (31,'civicrm_contact',112,4),
- (20,'civicrm_contact',113,4),
- (88,'civicrm_contact',114,4),
- (89,'civicrm_contact',114,5),
- (2,'civicrm_contact',115,3),
- (1,'civicrm_contact',116,3),
- (36,'civicrm_contact',118,5),
- (62,'civicrm_contact',119,5),
- (10,'civicrm_contact',120,1),
- (66,'civicrm_contact',121,4),
- (34,'civicrm_contact',128,5),
- (83,'civicrm_contact',134,5),
- (118,'civicrm_contact',137,4),
- (56,'civicrm_contact',138,4),
- (57,'civicrm_contact',138,5),
- (90,'civicrm_contact',139,4),
- (42,'civicrm_contact',144,4),
- (43,'civicrm_contact',144,5),
- (70,'civicrm_contact',146,4),
- (27,'civicrm_contact',147,4),
- (28,'civicrm_contact',147,5),
- (44,'civicrm_contact',149,4),
- (110,'civicrm_contact',152,4),
- (92,'civicrm_contact',155,5),
- (67,'civicrm_contact',156,4),
- (68,'civicrm_contact',156,5),
- (48,'civicrm_contact',158,4),
- (108,'civicrm_contact',159,4),
- (109,'civicrm_contact',159,5),
- (64,'civicrm_contact',161,4),
- (22,'civicrm_contact',162,4),
- (23,'civicrm_contact',162,5),
- (104,'civicrm_contact',163,4),
- (21,'civicrm_contact',164,4),
- (71,'civicrm_contact',165,4),
- (72,'civicrm_contact',165,5),
- (7,'civicrm_contact',166,2),
- (15,'civicrm_contact',167,4),
- (16,'civicrm_contact',170,5),
- (47,'civicrm_contact',172,4),
- (39,'civicrm_contact',174,4),
- (40,'civicrm_contact',174,5),
- (116,'civicrm_contact',175,4),
- (84,'civicrm_contact',176,5),
- (8,'civicrm_contact',178,1),
- (103,'civicrm_contact',179,4),
- (100,'civicrm_contact',181,4),
- (87,'civicrm_contact',182,4),
- (60,'civicrm_contact',183,4),
- (61,'civicrm_contact',183,5),
- (81,'civicrm_contact',186,4),
- (82,'civicrm_contact',186,5),
- (3,'civicrm_contact',187,2),
- (45,'civicrm_contact',188,4),
- (78,'civicrm_contact',189,4),
- (79,'civicrm_contact',189,5),
- (73,'civicrm_contact',190,4),
- (106,'civicrm_contact',191,4),
- (13,'civicrm_contact',192,4),
- (14,'civicrm_contact',192,5),
- (85,'civicrm_contact',193,5),
- (37,'civicrm_contact',194,4),
- (80,'civicrm_contact',196,4),
- (24,'civicrm_contact',200,4);
+ (75,'civicrm_contact',3,4),
+ (76,'civicrm_contact',3,5),
+ (115,'civicrm_contact',4,4),
+ (74,'civicrm_contact',5,4),
+ (25,'civicrm_contact',9,4),
+ (26,'civicrm_contact',9,5),
+ (51,'civicrm_contact',10,4),
+ (34,'civicrm_contact',11,4),
+ (94,'civicrm_contact',13,4),
+ (56,'civicrm_contact',14,5),
+ (114,'civicrm_contact',16,4),
+ (100,'civicrm_contact',17,5),
+ (69,'civicrm_contact',18,4),
+ (70,'civicrm_contact',18,5),
+ (105,'civicrm_contact',21,4),
+ (106,'civicrm_contact',21,5),
+ (84,'civicrm_contact',24,4),
+ (85,'civicrm_contact',24,5),
+ (6,'civicrm_contact',25,2),
+ (49,'civicrm_contact',27,4),
+ (50,'civicrm_contact',27,5),
+ (40,'civicrm_contact',29,5),
+ (61,'civicrm_contact',30,4),
+ (62,'civicrm_contact',30,5),
+ (111,'civicrm_contact',31,5),
+ (10,'civicrm_contact',33,2),
+ (71,'civicrm_contact',36,4),
+ (72,'civicrm_contact',36,5),
+ (8,'civicrm_contact',37,2),
+ (86,'civicrm_contact',39,4),
+ (87,'civicrm_contact',39,5),
+ (116,'civicrm_contact',40,5),
+ (3,'civicrm_contact',43,2),
+ (98,'civicrm_contact',48,4),
+ (99,'civicrm_contact',48,5),
+ (108,'civicrm_contact',50,4),
+ (35,'civicrm_contact',52,4),
+ (52,'civicrm_contact',53,5),
+ (16,'civicrm_contact',55,5),
+ (57,'civicrm_contact',56,4),
+ (64,'civicrm_contact',57,4),
+ (65,'civicrm_contact',57,5),
+ (46,'civicrm_contact',59,5),
+ (7,'civicrm_contact',60,3),
+ (88,'civicrm_contact',62,4),
+ (41,'civicrm_contact',64,5),
+ (27,'civicrm_contact',68,5),
+ (42,'civicrm_contact',69,4),
+ (43,'civicrm_contact',69,5),
+ (2,'civicrm_contact',77,2),
+ (59,'civicrm_contact',78,4),
+ (60,'civicrm_contact',78,5),
+ (32,'civicrm_contact',79,5),
+ (58,'civicrm_contact',80,5),
+ (96,'civicrm_contact',81,4),
+ (97,'civicrm_contact',81,5),
+ (82,'civicrm_contact',84,4),
+ (83,'civicrm_contact',84,5),
+ (117,'civicrm_contact',91,5),
+ (9,'civicrm_contact',92,3),
+ (112,'civicrm_contact',94,4),
+ (63,'civicrm_contact',106,5),
+ (104,'civicrm_contact',109,4),
+ (29,'civicrm_contact',115,5),
+ (30,'civicrm_contact',117,4),
+ (31,'civicrm_contact',117,5),
+ (73,'civicrm_contact',118,4),
+ (19,'civicrm_contact',121,4),
+ (28,'civicrm_contact',122,4),
+ (1,'civicrm_contact',123,2),
+ (21,'civicrm_contact',126,4),
+ (22,'civicrm_contact',126,5),
+ (54,'civicrm_contact',129,4),
+ (55,'civicrm_contact',129,5),
+ (33,'civicrm_contact',131,4),
+ (103,'civicrm_contact',136,4),
+ (47,'civicrm_contact',138,4),
+ (48,'civicrm_contact',138,5),
+ (18,'civicrm_contact',140,4),
+ (5,'civicrm_contact',142,3),
+ (101,'civicrm_contact',144,4),
+ (102,'civicrm_contact',144,5),
+ (53,'civicrm_contact',145,4),
+ (79,'civicrm_contact',146,4),
+ (109,'civicrm_contact',147,4),
+ (110,'civicrm_contact',147,5),
+ (93,'civicrm_contact',148,5),
+ (89,'civicrm_contact',150,4),
+ (90,'civicrm_contact',150,5),
+ (17,'civicrm_contact',151,4),
+ (4,'civicrm_contact',153,2),
+ (95,'civicrm_contact',154,4),
+ (36,'civicrm_contact',155,4),
+ (68,'civicrm_contact',157,5),
+ (66,'civicrm_contact',160,5),
+ (38,'civicrm_contact',164,4),
+ (92,'civicrm_contact',167,5),
+ (44,'civicrm_contact',170,4),
+ (11,'civicrm_contact',174,4),
+ (12,'civicrm_contact',174,5),
+ (91,'civicrm_contact',175,5),
+ (14,'civicrm_contact',177,4),
+ (15,'civicrm_contact',177,5),
+ (37,'civicrm_contact',178,4),
+ (80,'civicrm_contact',183,4),
+ (81,'civicrm_contact',183,5),
+ (45,'civicrm_contact',184,5),
+ (107,'civicrm_contact',185,4),
+ (39,'civicrm_contact',187,4),
+ (13,'civicrm_contact',188,5),
+ (77,'civicrm_contact',192,4),
+ (78,'civicrm_contact',192,5),
+ (113,'civicrm_contact',194,5),
+ (67,'civicrm_contact',196,5),
+ (20,'civicrm_contact',199,4),
+ (23,'civicrm_contact',201,4),
+ (24,'civicrm_contact',201,5);
 /*!40000 ALTER TABLE `civicrm_entity_tag` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -3554,13 +3521,13 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_event` WRITE;
 /*!40000 ALTER TABLE `civicrm_event` DISABLE KEYS */;
-INSERT INTO `civicrm_event` (`id`, `title`, `summary`, `description`, `event_type_id`, `participant_listing_id`, `is_public`, `start_date`, `end_date`, `is_online_registration`, `registration_link_text`, `registration_start_date`, `registration_end_date`, `max_participants`, `event_full_text`, `is_monetary`, `financial_type_id`, `payment_processor`, `is_map`, `is_active`, `fee_label`, `is_show_location`, `loc_block_id`, `default_role_id`, `intro_text`, `footer_text`, `confirm_title`, `confirm_text`, `confirm_footer_text`, `is_email_confirm`, `confirm_email_text`, `confirm_from_name`, `confirm_from_email`, `cc_confirm`, `bcc_confirm`, `default_fee_id`, `default_discount_fee_id`, `thankyou_title`, `thankyou_text`, `thankyou_footer_text`, `is_pay_later`, `pay_later_text`, `pay_later_receipt`, `is_partial_payment`, `initial_amount_label`, `initial_amount_help_text`, `min_initial_amount`, `is_multiple_registrations`, `max_additional_participants`, `allow_same_participant_emails`, `has_waitlist`, `requires_approval`, `expiration_time`, `allow_selfcancelxfer`, `selfcancelxfer_time`, `waitlist_text`, `approval_req_text`, `is_template`, `template_title`, `created_id`, `created_date`, `currency`, `campaign_id`, `is_share`, `is_confirm_enabled`, `parent_event_id`, `slot_label_id`, `dedupe_rule_group_id`, `is_billing_required`) VALUES
- (1,'Fall Fundraiser Dinner','Kick up your heels at our Fall Fundraiser Dinner/Dance at Glen Echo Park! Come by yourself or bring a partner, friend or the entire family!','This event benefits our teen programs. Admission includes a full 3 course meal and wine or soft drinks. Grab your dancing shoes, bring the kids and come join the party!',3,1,1,'2022-07-05 17:00:00','2022-07-07 17:00:00',1,'Register Now',NULL,NULL,100,'Sorry! The Fall Fundraiser Dinner is full. Please call Jane at 204 222-1000 ext 33 if you want to be added to the waiting list.',1,4,NULL,1,1,'Dinner Contribution',1,1,1,'Fill in the information below to join as at this wonderful dinner event.',NULL,'Confirm Your Registration Information','Review the information below carefully.',NULL,1,'Contact the Development Department if you need to make any changes to your registration.','Fundraising Dept.','development@example.org',NULL,NULL,NULL,NULL,'Thanks for Registering!','<p>Thank you for your support. Your contribution will help us build even better tools.</p><p>Please tell your friends and colleagues about this wonderful event.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',1,'I will send payment by check','Send a check payable to Our Organization within 3 business days to hold your reservation. Checks should be sent to: 100 Main St., Suite 3, San Francisco CA 94110',0,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),
- (2,'Summer Solstice Festival Day Concert','Festival Day is coming! Join us and help support your parks.','We will gather at noon, learn a song all together,  and then join in a joyous procession to the pavilion. We will be one of many groups performing at this wonderful concert which benefits our city parks.',5,1,1,'2022-01-04 12:00:00','2022-01-04 17:00:00',1,'Register Now',NULL,NULL,50,'We have all the singers we can handle. Come to the pavilion anyway and join in from the audience.',1,2,NULL,NULL,1,'Festival Fee',1,2,1,'Complete the form below and click Continue to register online for the festival. Or you can register by calling us at 204 222-1000 ext 22.','','Confirm Your Registration Information','','',1,'This email confirms your registration. If you have questions or need to change your registration - please do not hesitate to call us.','Event Dept.','events@example.org','',NULL,NULL,NULL,'Thanks for Your Joining In!','<p>Thank you for your support. Your participation will help build new parks.</p><p>Please tell your friends and colleagues about the concert.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',0,NULL,NULL,0,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),
- (3,'Rain-forest Cup Youth Soccer Tournament','Sign up your team to participate in this fun tournament which benefits several Rain-forest protection groups in the Amazon basin.','This is a FYSA Sanctioned Tournament, which is open to all USSF/FIFA affiliated organizations for boys and girls in age groups: U9-U10 (6v6), U11-U12 (8v8), and U13-U17 (Full Sided).',3,1,1,'2022-08-05 07:00:00','2022-08-08 17:00:00',1,'Register Now',NULL,NULL,500,'Sorry! All available team slots for this tournament have been filled. Contact Jill Futbol for information about the waiting list and next years event.',1,4,NULL,NULL,1,'Tournament Fees',1,3,1,'Complete the form below to register your team for this year\'s tournament.','<em>A Soccer Youth Event</em>','Review and Confirm Your Registration Information','','<em>A Soccer Youth Event</em>',1,'Contact our Tournament Director for eligibility details.','Tournament Director','tournament@example.org','',NULL,NULL,NULL,'Thanks for Your Support!','<p>Thank you for your support. Your participation will help save thousands of acres of rainforest.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',0,NULL,NULL,0,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),
- (4,NULL,NULL,NULL,4,1,1,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1,NULL,1,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,0,0,NULL,NULL,1,'Free Meeting without Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),
- (5,NULL,NULL,NULL,4,1,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1,NULL,1,NULL,1,NULL,NULL,'Confirm Your Registration Information',NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Thanks for Registering!',NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,1,0,1,NULL,NULL,NULL,0,0,NULL,NULL,1,'Free Meeting with Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),
- (6,NULL,NULL,NULL,1,1,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,1,4,NULL,0,1,'Conference Fee',1,NULL,1,NULL,NULL,'Confirm Your Registration Information',NULL,NULL,1,NULL,'Event Template Dept.','event_templates@example.org',NULL,NULL,NULL,NULL,'Thanks for Registering!',NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,1,0,1,NULL,NULL,NULL,0,0,NULL,NULL,1,'Paid Conference with Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0);
+INSERT INTO `civicrm_event` (`id`, `title`, `summary`, `description`, `event_type_id`, `participant_listing_id`, `is_public`, `start_date`, `end_date`, `is_online_registration`, `registration_link_text`, `registration_start_date`, `registration_end_date`, `max_participants`, `event_full_text`, `is_monetary`, `financial_type_id`, `payment_processor`, `is_map`, `is_active`, `fee_label`, `is_show_location`, `loc_block_id`, `default_role_id`, `intro_text`, `footer_text`, `confirm_title`, `confirm_text`, `confirm_footer_text`, `is_email_confirm`, `confirm_email_text`, `confirm_from_name`, `confirm_from_email`, `cc_confirm`, `bcc_confirm`, `default_fee_id`, `default_discount_fee_id`, `thankyou_title`, `thankyou_text`, `thankyou_footer_text`, `is_pay_later`, `pay_later_text`, `pay_later_receipt`, `is_partial_payment`, `initial_amount_label`, `initial_amount_help_text`, `min_initial_amount`, `is_multiple_registrations`, `max_additional_participants`, `allow_same_participant_emails`, `has_waitlist`, `requires_approval`, `expiration_time`, `allow_selfcancelxfer`, `selfcancelxfer_time`, `waitlist_text`, `approval_req_text`, `is_template`, `template_title`, `created_id`, `created_date`, `currency`, `campaign_id`, `is_share`, `is_confirm_enabled`, `parent_event_id`, `slot_label_id`, `dedupe_rule_group_id`, `is_billing_required`, `event_tz`) VALUES
+ (1,'Fall Fundraiser Dinner','Kick up your heels at our Fall Fundraiser Dinner/Dance at Glen Echo Park! Come by yourself or bring a partner, friend or the entire family!','This event benefits our teen programs. Admission includes a full 3 course meal and wine or soft drinks. Grab your dancing shoes, bring the kids and come join the party!',3,1,1,'2022-08-28 17:00:00','2022-08-30 17:00:00',1,'Register Now',NULL,NULL,100,'Sorry! The Fall Fundraiser Dinner is full. Please call Jane at 204 222-1000 ext 33 if you want to be added to the waiting list.',1,4,NULL,1,1,'Dinner Contribution',1,1,1,'Fill in the information below to join as at this wonderful dinner event.',NULL,'Confirm Your Registration Information','Review the information below carefully.',NULL,1,'Contact the Development Department if you need to make any changes to your registration.','Fundraising Dept.','development@example.org',NULL,NULL,NULL,NULL,'Thanks for Registering!','<p>Thank you for your support. Your contribution will help us build even better tools.</p><p>Please tell your friends and colleagues about this wonderful event.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',1,'I will send payment by check','Send a check payable to Our Organization within 3 business days to hold your reservation. Checks should be sent to: 100 Main St., Suite 3, San Francisco CA 94110',0,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0,'UTC'),
+ (2,'Summer Solstice Festival Day Concert','Festival Day is coming! Join us and help support your parks.','We will gather at noon, learn a song all together,  and then join in a joyous procession to the pavilion. We will be one of many groups performing at this wonderful concert which benefits our city parks.',5,1,1,'2022-02-27 12:00:00','2022-02-27 17:00:00',1,'Register Now',NULL,NULL,50,'We have all the singers we can handle. Come to the pavilion anyway and join in from the audience.',1,2,NULL,NULL,1,'Festival Fee',1,2,1,'Complete the form below and click Continue to register online for the festival. Or you can register by calling us at 204 222-1000 ext 22.','','Confirm Your Registration Information','','',1,'This email confirms your registration. If you have questions or need to change your registration - please do not hesitate to call us.','Event Dept.','events@example.org','',NULL,NULL,NULL,'Thanks for Your Joining In!','<p>Thank you for your support. Your participation will help build new parks.</p><p>Please tell your friends and colleagues about the concert.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',0,NULL,NULL,0,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0,'UTC'),
+ (3,'Rain-forest Cup Youth Soccer Tournament','Sign up your team to participate in this fun tournament which benefits several Rain-forest protection groups in the Amazon basin.','This is a FYSA Sanctioned Tournament, which is open to all USSF/FIFA affiliated organizations for boys and girls in age groups: U9-U10 (6v6), U11-U12 (8v8), and U13-U17 (Full Sided).',3,1,1,'2022-09-28 07:00:00','2022-10-01 17:00:00',1,'Register Now',NULL,NULL,500,'Sorry! All available team slots for this tournament have been filled. Contact Jill Futbol for information about the waiting list and next years event.',1,4,NULL,NULL,1,'Tournament Fees',1,3,1,'Complete the form below to register your team for this year\'s tournament.','<em>A Soccer Youth Event</em>','Review and Confirm Your Registration Information','','<em>A Soccer Youth Event</em>',1,'Contact our Tournament Director for eligibility details.','Tournament Director','tournament@example.org','',NULL,NULL,NULL,'Thanks for Your Support!','<p>Thank you for your support. Your participation will help save thousands of acres of rainforest.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',0,NULL,NULL,0,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0,'UTC'),
+ (4,NULL,NULL,NULL,4,1,1,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1,NULL,1,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,0,0,NULL,NULL,1,'Free Meeting without Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0,'UTC'),
+ (5,NULL,NULL,NULL,4,1,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1,NULL,1,NULL,1,NULL,NULL,'Confirm Your Registration Information',NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Thanks for Registering!',NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,1,0,1,NULL,NULL,NULL,0,0,NULL,NULL,1,'Free Meeting with Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0,'UTC'),
+ (6,NULL,NULL,NULL,1,1,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,1,4,NULL,0,1,'Conference Fee',1,NULL,1,NULL,NULL,'Confirm Your Registration Information',NULL,NULL,1,NULL,'Event Template Dept.','event_templates@example.org',NULL,NULL,NULL,NULL,'Thanks for Registering!',NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,1,0,1,NULL,NULL,NULL,0,0,NULL,NULL,1,'Paid Conference with Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0,'UTC');
 /*!40000 ALTER TABLE `civicrm_event` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -3641,117 +3608,117 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_financial_item` WRITE;
 /*!40000 ALTER TABLE `civicrm_financial_item` DISABLE KEYS */;
 INSERT INTO `civicrm_financial_item` (`id`, `created_date`, `transaction_date`, `contact_id`, `description`, `amount`, `currency`, `financial_account_id`, `status_id`, `entity_table`, `entity_id`) VALUES
- (1,'2022-01-05 03:20:53','2012-01-05 03:20:52',2,'Contribution Amount',125.00,'USD',1,1,'civicrm_line_item',1),
- (2,'2022-01-05 03:20:53','2019-10-05 03:20:52',4,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',2),
- (3,'2022-01-05 03:20:53','2015-12-10 14:20:52',6,'Contribution Amount',25.00,'GBP',1,1,'civicrm_line_item',3),
- (4,'2022-01-05 03:20:53','2019-10-05 03:20:52',8,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',4),
- (5,'2022-01-05 03:20:53','2019-10-05 03:20:52',4,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',5),
- (6,'2022-01-05 03:20:53','2021-10-12 02:38:52',16,'Contribution Amount',500.00,'USD',1,1,'civicrm_line_item',6),
- (7,'2022-01-05 03:20:53','2022-01-03 03:20:52',19,'Contribution Amount',1750.00,'USD',1,1,'civicrm_line_item',7),
- (8,'2022-01-05 03:20:53','2021-05-13 11:31:52',82,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',8),
- (9,'2022-01-05 03:20:53','2021-02-05 03:20:52',92,'Contribution Amount',10.00,'USD',1,1,'civicrm_line_item',9),
- (10,'2022-01-05 03:20:53','2017-08-13 05:20:52',34,'Contribution Amount',250.00,'USD',1,1,'civicrm_line_item',10),
- (11,'2022-01-05 03:20:53','2022-01-03 23:20:52',71,'Contribution Amount',500.00,'JPY',1,1,'civicrm_line_item',11),
- (12,'2022-01-05 03:20:53','2020-10-04 16:47:32',43,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',12),
- (13,'2022-01-05 03:20:53','2021-10-05 00:00:00',32,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',13),
- (14,'2022-01-05 03:20:53','2021-11-05 00:00:00',32,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',14),
- (15,'2022-01-05 03:20:53','2020-10-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',15),
- (16,'2022-01-05 03:20:53','2020-11-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',16),
- (17,'2022-01-05 03:20:53','2020-12-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',17),
- (18,'2022-01-05 03:20:53','2021-01-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',18),
- (19,'2022-01-05 03:20:53','2021-02-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',19),
- (20,'2022-01-05 03:20:53','2021-03-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',20),
- (21,'2022-01-05 03:20:53','2021-04-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',21),
- (22,'2022-01-05 03:20:53','2021-05-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',22),
- (23,'2022-01-05 03:20:53','2021-06-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',23),
- (24,'2022-01-05 03:20:53','2021-07-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',24),
- (25,'2022-01-05 03:20:53','2021-08-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',25),
- (26,'2022-01-05 03:20:53','2021-05-05 03:20:52',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',26),
- (27,'2022-01-05 03:20:53','2021-06-05 03:20:52',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',27),
- (28,'2022-01-05 03:20:53','2021-07-05 03:20:52',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',28),
- (29,'2022-01-05 03:20:53','2021-08-05 03:20:52',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',29),
- (30,'2022-01-05 03:20:53','2021-09-05 03:20:52',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',30),
- (31,'2022-01-05 03:20:53','2021-12-05 03:20:52',103,'Contribution Amount',5.00,'EUR',1,1,'civicrm_line_item',31),
- (32,'2022-01-05 03:20:53','2022-01-05 03:20:52',65,'General',100.00,'USD',2,1,'civicrm_line_item',32),
- (33,'2022-01-05 03:20:53','2022-01-05 03:20:52',41,'General',100.00,'USD',2,1,'civicrm_line_item',33),
- (34,'2022-01-05 03:20:53','2022-01-05 03:20:52',130,'General',100.00,'USD',2,1,'civicrm_line_item',34),
- (35,'2022-01-05 03:20:53','2022-01-05 03:20:52',58,'General',100.00,'USD',2,1,'civicrm_line_item',35),
- (36,'2022-01-05 03:20:54','2022-01-05 03:20:52',40,'General',100.00,'USD',2,1,'civicrm_line_item',36),
- (37,'2022-01-05 03:20:54','2022-01-05 03:20:52',36,'General',100.00,'USD',2,1,'civicrm_line_item',37),
- (38,'2022-01-05 03:20:54','2022-01-05 03:20:52',6,'General',100.00,'USD',2,1,'civicrm_line_item',38),
- (39,'2022-01-05 03:20:54','2022-01-05 03:20:52',140,'General',100.00,'USD',2,1,'civicrm_line_item',39),
- (40,'2022-01-05 03:20:54','2022-01-05 03:20:52',95,'General',100.00,'USD',2,1,'civicrm_line_item',40),
- (41,'2022-01-05 03:20:54','2022-01-05 03:20:52',3,'General',100.00,'USD',2,1,'civicrm_line_item',41),
- (42,'2022-01-05 03:20:54','2022-01-05 03:20:52',19,'General',100.00,'USD',2,1,'civicrm_line_item',42),
- (43,'2022-01-05 03:20:54','2022-01-05 03:20:52',24,'General',100.00,'USD',2,1,'civicrm_line_item',43),
- (44,'2022-01-05 03:20:54','2022-01-05 03:20:52',107,'General',100.00,'USD',2,1,'civicrm_line_item',44),
- (45,'2022-01-05 03:20:54','2022-01-05 03:20:52',66,'General',100.00,'USD',2,1,'civicrm_line_item',45),
- (46,'2022-01-05 03:20:54','2022-01-05 03:20:52',202,'General',100.00,'USD',2,1,'civicrm_line_item',46),
- (47,'2022-01-05 03:20:54','2022-01-05 03:20:52',189,'Student',50.00,'USD',2,1,'civicrm_line_item',47),
- (48,'2022-01-05 03:20:54','2022-01-05 03:20:52',35,'Student',50.00,'USD',2,1,'civicrm_line_item',48),
- (49,'2022-01-05 03:20:54','2022-01-05 03:20:52',9,'Student',50.00,'USD',2,1,'civicrm_line_item',49),
- (50,'2022-01-05 03:20:54','2022-01-05 03:20:52',190,'Student',50.00,'USD',2,1,'civicrm_line_item',50),
- (51,'2022-01-05 03:20:54','2022-01-05 03:20:52',149,'Student',50.00,'USD',2,1,'civicrm_line_item',51),
- (52,'2022-01-05 03:20:54','2022-01-05 03:20:52',97,'Student',50.00,'USD',2,1,'civicrm_line_item',52),
- (53,'2022-01-05 03:20:54','2022-01-05 03:20:52',12,'Student',50.00,'USD',2,1,'civicrm_line_item',53),
- (54,'2022-01-05 03:20:54','2022-01-05 03:20:52',28,'Student',50.00,'USD',2,1,'civicrm_line_item',54),
- (55,'2022-01-05 03:20:54','2022-01-05 03:20:52',69,'Student',50.00,'USD',2,1,'civicrm_line_item',55),
- (56,'2022-01-05 03:20:54','2022-01-05 03:20:52',162,'Student',50.00,'USD',2,1,'civicrm_line_item',56),
- (57,'2022-01-05 03:20:54','2022-01-05 03:20:52',127,'Student',50.00,'USD',2,1,'civicrm_line_item',57),
- (58,'2022-01-05 03:20:54','2022-01-05 03:20:52',13,'Student',50.00,'USD',2,1,'civicrm_line_item',58),
- (59,'2022-01-05 03:20:54','2022-01-05 03:20:52',105,'Student',50.00,'USD',2,1,'civicrm_line_item',59),
- (60,'2022-01-05 03:20:54','2022-01-05 03:20:52',186,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',60),
- (61,'2022-01-05 03:20:54','2022-01-05 03:20:52',59,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',61),
- (62,'2022-01-05 03:20:54','2022-01-05 03:20:53',68,'Soprano',50.00,'USD',2,1,'civicrm_line_item',97),
- (63,'2022-01-05 03:20:54','2022-01-05 03:20:53',7,'Soprano',50.00,'USD',2,1,'civicrm_line_item',98),
- (64,'2022-01-05 03:20:54','2022-01-05 03:20:53',154,'Soprano',50.00,'USD',2,1,'civicrm_line_item',99),
- (65,'2022-01-05 03:20:54','2022-01-05 03:20:53',71,'Soprano',50.00,'USD',2,1,'civicrm_line_item',100),
- (66,'2022-01-05 03:20:54','2022-01-05 03:20:53',11,'Soprano',50.00,'USD',2,1,'civicrm_line_item',101),
- (67,'2022-01-05 03:20:54','2022-01-05 03:20:53',158,'Soprano',50.00,'USD',2,1,'civicrm_line_item',102),
- (68,'2022-01-05 03:20:54','2022-01-05 03:20:53',149,'Soprano',50.00,'USD',2,1,'civicrm_line_item',103),
- (69,'2022-01-05 03:20:54','2022-01-05 03:20:53',152,'Soprano',50.00,'USD',2,1,'civicrm_line_item',104),
- (70,'2022-01-05 03:20:54','2022-01-05 03:20:53',69,'Soprano',50.00,'USD',2,1,'civicrm_line_item',105),
- (71,'2022-01-05 03:20:54','2022-01-05 03:20:53',116,'Soprano',50.00,'USD',2,1,'civicrm_line_item',106),
- (72,'2022-01-05 03:20:54','2022-01-05 03:20:53',103,'Soprano',50.00,'USD',2,1,'civicrm_line_item',107),
- (73,'2022-01-05 03:20:54','2022-01-05 03:20:53',128,'Soprano',50.00,'USD',2,1,'civicrm_line_item',108),
- (74,'2022-01-05 03:20:54','2022-01-05 03:20:53',72,'Soprano',50.00,'USD',2,1,'civicrm_line_item',109),
- (75,'2022-01-05 03:20:54','2022-01-05 03:20:53',99,'Soprano',50.00,'USD',2,1,'civicrm_line_item',110),
- (76,'2022-01-05 03:20:54','2022-01-05 03:20:53',129,'Soprano',50.00,'USD',2,1,'civicrm_line_item',111),
- (77,'2022-01-05 03:20:55','2022-01-05 03:20:53',160,'Soprano',50.00,'USD',2,1,'civicrm_line_item',112),
- (78,'2022-01-05 03:20:55','2022-01-05 03:20:53',5,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',63),
- (79,'2022-01-05 03:20:55','2022-01-05 03:20:53',58,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',64),
- (80,'2022-01-05 03:20:55','2022-01-05 03:20:53',16,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',65),
- (81,'2022-01-05 03:20:55','2022-01-05 03:20:53',14,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',66),
- (82,'2022-01-05 03:20:55','2022-01-05 03:20:53',66,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',67),
- (83,'2022-01-05 03:20:55','2022-01-05 03:20:53',73,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',68),
- (84,'2022-01-05 03:20:55','2022-01-05 03:20:53',150,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',69),
- (85,'2022-01-05 03:20:55','2022-01-05 03:20:53',146,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',70),
- (86,'2022-01-05 03:20:55','2022-01-05 03:20:53',156,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',71),
- (87,'2022-01-05 03:20:55','2022-01-05 03:20:53',185,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',72),
- (88,'2022-01-05 03:20:55','2022-01-05 03:20:53',25,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',73),
- (89,'2022-01-05 03:20:55','2022-01-05 03:20:53',157,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',74),
- (90,'2022-01-05 03:20:55','2022-01-05 03:20:53',55,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',75),
- (91,'2022-01-05 03:20:55','2022-01-05 03:20:53',44,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',76),
- (92,'2022-01-05 03:20:55','2022-01-05 03:20:53',82,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',77),
- (93,'2022-01-05 03:20:55','2022-01-05 03:20:53',37,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',78),
- (94,'2022-01-05 03:20:55','2022-01-05 03:20:53',202,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',79),
- (95,'2022-01-05 03:20:55','2022-01-05 03:20:53',104,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',80),
- (96,'2022-01-05 03:20:55','2022-01-05 03:20:53',134,'Single',50.00,'USD',4,1,'civicrm_line_item',81),
- (97,'2022-01-05 03:20:55','2022-01-05 03:20:53',151,'Single',50.00,'USD',4,1,'civicrm_line_item',82),
- (98,'2022-01-05 03:20:55','2022-01-05 03:20:53',175,'Single',50.00,'USD',4,1,'civicrm_line_item',83),
- (99,'2022-01-05 03:20:55','2022-01-05 03:20:53',117,'Single',50.00,'USD',4,1,'civicrm_line_item',84),
- (100,'2022-01-05 03:20:55','2022-01-05 03:20:53',195,'Single',50.00,'USD',4,1,'civicrm_line_item',85),
- (101,'2022-01-05 03:20:55','2022-01-05 03:20:53',144,'Single',50.00,'USD',4,1,'civicrm_line_item',86),
- (102,'2022-01-05 03:20:55','2022-01-05 03:20:53',184,'Single',50.00,'USD',4,1,'civicrm_line_item',87),
- (103,'2022-01-05 03:20:55','2022-01-05 03:20:53',87,'Single',50.00,'USD',4,1,'civicrm_line_item',88),
- (104,'2022-01-05 03:20:55','2022-01-05 03:20:53',178,'Single',50.00,'USD',4,1,'civicrm_line_item',89),
- (105,'2022-01-05 03:20:55','2022-01-05 03:20:53',81,'Single',50.00,'USD',4,1,'civicrm_line_item',90),
- (106,'2022-01-05 03:20:55','2022-01-05 03:20:53',21,'Single',50.00,'USD',4,1,'civicrm_line_item',91),
- (107,'2022-01-05 03:20:55','2022-01-05 03:20:53',4,'Single',50.00,'USD',4,1,'civicrm_line_item',92),
- (108,'2022-01-05 03:20:55','2022-01-05 03:20:53',93,'Single',50.00,'USD',4,1,'civicrm_line_item',93),
- (109,'2022-01-05 03:20:55','2022-01-05 03:20:53',121,'Single',50.00,'USD',4,1,'civicrm_line_item',94),
- (110,'2022-01-05 03:20:55','2022-01-05 03:20:53',1,'Single',50.00,'USD',4,1,'civicrm_line_item',95),
- (111,'2022-01-05 03:20:55','2022-01-05 03:20:53',28,'Single',50.00,'USD',4,1,'civicrm_line_item',96);
+ (1,'2022-02-28 22:32:41','2012-02-28 22:32:40',2,'Contribution Amount',125.00,'USD',1,1,'civicrm_line_item',1),
+ (2,'2022-02-28 22:32:41','2019-11-28 22:32:40',4,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',2),
+ (3,'2022-02-28 22:32:41','2016-02-03 09:32:40',6,'Contribution Amount',25.00,'GBP',1,1,'civicrm_line_item',3),
+ (4,'2022-02-28 22:32:41','2019-11-28 22:32:40',8,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',4),
+ (5,'2022-02-28 22:32:41','2019-11-28 22:32:40',4,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',5),
+ (6,'2022-02-28 22:32:41','2021-12-05 21:50:40',16,'Contribution Amount',500.00,'USD',1,1,'civicrm_line_item',6),
+ (7,'2022-02-28 22:32:41','2022-02-26 22:32:40',19,'Contribution Amount',1750.00,'USD',1,1,'civicrm_line_item',7),
+ (8,'2022-02-28 22:32:41','2021-07-07 06:43:40',82,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',8),
+ (9,'2022-02-28 22:32:41','2021-03-28 22:32:40',92,'Contribution Amount',10.00,'USD',1,1,'civicrm_line_item',9),
+ (10,'2022-02-28 22:32:41','2017-10-06 00:32:40',34,'Contribution Amount',250.00,'USD',1,1,'civicrm_line_item',10),
+ (11,'2022-02-28 22:32:41','2022-02-27 18:32:40',71,'Contribution Amount',500.00,'JPY',1,1,'civicrm_line_item',11),
+ (12,'2022-02-28 22:32:41','2020-11-28 11:59:20',43,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',12),
+ (13,'2022-02-28 22:32:41','2021-11-28 00:00:00',32,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',13),
+ (14,'2022-02-28 22:32:41','2021-12-28 00:00:00',32,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',14),
+ (15,'2022-02-28 22:32:41','2020-11-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',15),
+ (16,'2022-02-28 22:32:41','2020-12-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',16),
+ (17,'2022-02-28 22:32:41','2021-01-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',17),
+ (18,'2022-02-28 22:32:41','2021-02-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',18),
+ (19,'2022-02-28 22:32:41','2021-03-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',19),
+ (20,'2022-02-28 22:32:41','2021-04-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',20),
+ (21,'2022-02-28 22:32:41','2021-05-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',21),
+ (22,'2022-02-28 22:32:41','2021-06-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',22),
+ (23,'2022-02-28 22:32:41','2021-07-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',23),
+ (24,'2022-02-28 22:32:41','2021-08-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',24),
+ (25,'2022-02-28 22:32:41','2021-09-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',25),
+ (26,'2022-02-28 22:32:41','2021-06-28 22:32:40',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',26),
+ (27,'2022-02-28 22:32:41','2021-07-28 22:32:40',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',27),
+ (28,'2022-02-28 22:32:41','2021-08-28 22:32:40',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',28),
+ (29,'2022-02-28 22:32:41','2021-09-28 22:32:40',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',29),
+ (30,'2022-02-28 22:32:41','2021-10-28 22:32:40',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',30),
+ (31,'2022-02-28 22:32:41','2022-01-28 22:32:40',103,'Contribution Amount',5.00,'EUR',1,1,'civicrm_line_item',31),
+ (32,'2022-02-28 22:32:41','2022-02-28 22:32:40',175,'General',100.00,'USD',2,1,'civicrm_line_item',32),
+ (33,'2022-02-28 22:32:41','2022-02-28 22:32:40',65,'General',100.00,'USD',2,1,'civicrm_line_item',33),
+ (34,'2022-02-28 22:32:41','2022-02-28 22:32:40',159,'General',100.00,'USD',2,1,'civicrm_line_item',34),
+ (35,'2022-02-28 22:32:41','2022-02-28 22:32:40',26,'General',100.00,'USD',2,1,'civicrm_line_item',35),
+ (36,'2022-02-28 22:32:41','2022-02-28 22:32:40',90,'General',100.00,'USD',2,1,'civicrm_line_item',36),
+ (37,'2022-02-28 22:32:41','2022-02-28 22:32:40',82,'General',100.00,'USD',2,1,'civicrm_line_item',37),
+ (38,'2022-02-28 22:32:41','2022-02-28 22:32:40',34,'General',100.00,'USD',2,1,'civicrm_line_item',38),
+ (39,'2022-02-28 22:32:41','2022-02-28 22:32:40',163,'General',100.00,'USD',2,1,'civicrm_line_item',39),
+ (40,'2022-02-28 22:32:41','2022-02-28 22:32:40',27,'General',100.00,'USD',2,1,'civicrm_line_item',40),
+ (41,'2022-02-28 22:32:41','2022-02-28 22:32:40',99,'General',100.00,'USD',2,1,'civicrm_line_item',41),
+ (42,'2022-02-28 22:32:41','2022-02-28 22:32:40',174,'General',100.00,'USD',2,1,'civicrm_line_item',42),
+ (43,'2022-02-28 22:32:41','2022-02-28 22:32:40',70,'General',100.00,'USD',2,1,'civicrm_line_item',43),
+ (44,'2022-02-28 22:32:41','2022-02-28 22:32:40',137,'General',100.00,'USD',2,1,'civicrm_line_item',44),
+ (45,'2022-02-28 22:32:41','2022-02-28 22:32:40',107,'General',100.00,'USD',2,1,'civicrm_line_item',45),
+ (46,'2022-02-28 22:32:41','2022-02-28 22:32:40',105,'Student',50.00,'USD',2,1,'civicrm_line_item',46),
+ (47,'2022-02-28 22:32:41','2022-02-28 22:32:40',179,'Student',50.00,'USD',2,1,'civicrm_line_item',47),
+ (48,'2022-02-28 22:32:41','2022-02-28 22:32:40',157,'Student',50.00,'USD',2,1,'civicrm_line_item',48),
+ (49,'2022-02-28 22:32:41','2022-02-28 22:32:40',184,'Student',50.00,'USD',2,1,'civicrm_line_item',49),
+ (50,'2022-02-28 22:32:41','2022-02-28 22:32:40',167,'Student',50.00,'USD',2,1,'civicrm_line_item',50),
+ (51,'2022-02-28 22:32:41','2022-02-28 22:32:40',40,'Student',50.00,'USD',2,1,'civicrm_line_item',51),
+ (52,'2022-02-28 22:32:41','2022-02-28 22:32:40',16,'Student',50.00,'USD',2,1,'civicrm_line_item',52),
+ (53,'2022-02-28 22:32:41','2022-02-28 22:32:40',79,'Student',50.00,'USD',2,1,'civicrm_line_item',53),
+ (54,'2022-02-28 22:32:41','2022-02-28 22:32:40',75,'Student',50.00,'USD',2,1,'civicrm_line_item',54),
+ (55,'2022-02-28 22:32:41','2022-02-28 22:32:40',134,'Student',50.00,'USD',2,1,'civicrm_line_item',55),
+ (56,'2022-02-28 22:32:41','2022-02-28 22:32:40',188,'Student',50.00,'USD',2,1,'civicrm_line_item',56),
+ (57,'2022-02-28 22:32:41','2022-02-28 22:32:40',12,'Student',50.00,'USD',2,1,'civicrm_line_item',57),
+ (58,'2022-02-28 22:32:41','2022-02-28 22:32:40',101,'Student',50.00,'USD',2,1,'civicrm_line_item',58),
+ (59,'2022-02-28 22:32:41','2022-02-28 22:32:40',192,'Student',50.00,'USD',2,1,'civicrm_line_item',59),
+ (60,'2022-02-28 22:32:41','2022-02-28 22:32:40',3,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',60),
+ (61,'2022-02-28 22:32:41','2022-02-28 22:32:40',195,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',61),
+ (62,'2022-02-28 22:32:41','2022-02-28 22:32:40',60,'Soprano',50.00,'USD',2,1,'civicrm_line_item',97),
+ (63,'2022-02-28 22:32:41','2022-02-28 22:32:40',119,'Soprano',50.00,'USD',2,1,'civicrm_line_item',98),
+ (64,'2022-02-28 22:32:41','2022-02-28 22:32:40',124,'Soprano',50.00,'USD',2,1,'civicrm_line_item',99),
+ (65,'2022-02-28 22:32:41','2022-02-28 22:32:40',75,'Soprano',50.00,'USD',2,1,'civicrm_line_item',100),
+ (66,'2022-02-28 22:32:41','2022-02-28 22:32:40',150,'Soprano',50.00,'USD',2,1,'civicrm_line_item',101),
+ (67,'2022-02-28 22:32:41','2022-02-28 22:32:40',191,'Soprano',50.00,'USD',2,1,'civicrm_line_item',102),
+ (68,'2022-02-28 22:32:41','2022-02-28 22:32:40',49,'Soprano',50.00,'USD',2,1,'civicrm_line_item',103),
+ (69,'2022-02-28 22:32:41','2022-02-28 22:32:40',158,'Soprano',50.00,'USD',2,1,'civicrm_line_item',104),
+ (70,'2022-02-28 22:32:41','2022-02-28 22:32:40',25,'Soprano',50.00,'USD',2,1,'civicrm_line_item',105),
+ (71,'2022-02-28 22:32:41','2022-02-28 22:32:40',44,'Soprano',50.00,'USD',2,1,'civicrm_line_item',106),
+ (72,'2022-02-28 22:32:41','2022-02-28 22:32:40',151,'Soprano',50.00,'USD',2,1,'civicrm_line_item',107),
+ (73,'2022-02-28 22:32:41','2022-02-28 22:32:40',40,'Soprano',50.00,'USD',2,1,'civicrm_line_item',108),
+ (74,'2022-02-28 22:32:41','2022-02-28 22:32:40',4,'Soprano',50.00,'USD',2,1,'civicrm_line_item',109),
+ (75,'2022-02-28 22:32:41','2022-02-28 22:32:40',168,'Soprano',50.00,'USD',2,1,'civicrm_line_item',110),
+ (76,'2022-02-28 22:32:41','2022-02-28 22:32:40',71,'Soprano',50.00,'USD',2,1,'civicrm_line_item',111),
+ (77,'2022-02-28 22:32:41','2022-02-28 22:32:40',88,'Soprano',50.00,'USD',2,1,'civicrm_line_item',112),
+ (78,'2022-02-28 22:32:41','2022-02-28 22:32:40',178,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',63),
+ (79,'2022-02-28 22:32:41','2022-02-28 22:32:40',138,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',64),
+ (80,'2022-02-28 22:32:41','2022-02-28 22:32:40',65,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',65),
+ (81,'2022-02-28 22:32:41','2022-02-28 22:32:40',182,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',66),
+ (82,'2022-02-28 22:32:41','2022-02-28 22:32:40',202,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',67),
+ (83,'2022-02-28 22:32:41','2022-02-28 22:32:40',185,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',68),
+ (84,'2022-02-28 22:32:41','2022-02-28 22:32:40',128,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',69),
+ (85,'2022-02-28 22:32:41','2022-02-28 22:32:40',63,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',70),
+ (86,'2022-02-28 22:32:41','2022-02-28 22:32:40',181,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',71),
+ (87,'2022-02-28 22:32:41','2022-02-28 22:32:40',157,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',72),
+ (88,'2022-02-28 22:32:41','2022-02-28 22:32:40',89,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',73),
+ (89,'2022-02-28 22:32:41','2022-02-28 22:32:40',48,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',74),
+ (90,'2022-02-28 22:32:41','2022-02-28 22:32:40',20,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',75),
+ (91,'2022-02-28 22:32:41','2022-02-28 22:32:40',29,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',76),
+ (92,'2022-02-28 22:32:41','2022-02-28 22:32:40',22,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',77),
+ (93,'2022-02-28 22:32:41','2022-02-28 22:32:40',61,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',78),
+ (94,'2022-02-28 22:32:41','2022-02-28 22:32:40',172,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',79),
+ (95,'2022-02-28 22:32:41','2022-02-28 22:32:40',99,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',80),
+ (96,'2022-02-28 22:32:41','2022-02-28 22:32:40',156,'Single',50.00,'USD',4,1,'civicrm_line_item',81),
+ (97,'2022-02-28 22:32:41','2022-02-28 22:32:40',100,'Single',50.00,'USD',4,1,'civicrm_line_item',82),
+ (98,'2022-02-28 22:32:41','2022-02-28 22:32:40',167,'Single',50.00,'USD',4,1,'civicrm_line_item',83),
+ (99,'2022-02-28 22:32:41','2022-02-28 22:32:40',58,'Single',50.00,'USD',4,1,'civicrm_line_item',84),
+ (100,'2022-02-28 22:32:41','2022-02-28 22:32:40',51,'Single',50.00,'USD',4,1,'civicrm_line_item',85),
+ (101,'2022-02-28 22:32:41','2022-02-28 22:32:40',15,'Single',50.00,'USD',4,1,'civicrm_line_item',86),
+ (102,'2022-02-28 22:32:41','2022-02-28 22:32:40',87,'Single',50.00,'USD',4,1,'civicrm_line_item',87),
+ (103,'2022-02-28 22:32:41','2022-02-28 22:32:40',32,'Single',50.00,'USD',4,1,'civicrm_line_item',88),
+ (104,'2022-02-28 22:32:41','2022-02-28 22:32:40',31,'Single',50.00,'USD',4,1,'civicrm_line_item',89),
+ (105,'2022-02-28 22:32:41','2022-02-28 22:32:40',123,'Single',50.00,'USD',4,1,'civicrm_line_item',90),
+ (106,'2022-02-28 22:32:41','2022-02-28 22:32:40',132,'Single',50.00,'USD',4,1,'civicrm_line_item',91),
+ (107,'2022-02-28 22:32:41','2022-02-28 22:32:40',200,'Single',50.00,'USD',4,1,'civicrm_line_item',92),
+ (108,'2022-02-28 22:32:41','2022-02-28 22:32:40',42,'Single',50.00,'USD',4,1,'civicrm_line_item',93),
+ (109,'2022-02-28 22:32:41','2022-02-28 22:32:40',113,'Single',50.00,'USD',4,1,'civicrm_line_item',94),
+ (110,'2022-02-28 22:32:41','2022-02-28 22:32:40',194,'Single',50.00,'USD',4,1,'civicrm_line_item',95),
+ (111,'2022-02-28 22:32:41','2022-02-28 22:32:40',189,'Single',50.00,'USD',4,1,'civicrm_line_item',96);
 /*!40000 ALTER TABLE `civicrm_financial_item` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -3762,117 +3729,117 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_financial_trxn` WRITE;
 /*!40000 ALTER TABLE `civicrm_financial_trxn` DISABLE KEYS */;
 INSERT INTO `civicrm_financial_trxn` (`id`, `from_financial_account_id`, `to_financial_account_id`, `trxn_date`, `total_amount`, `fee_amount`, `net_amount`, `currency`, `is_payment`, `trxn_id`, `trxn_result_code`, `status_id`, `payment_processor_id`, `payment_instrument_id`, `card_type_id`, `check_number`, `pan_truncation`, `order_reference`) VALUES
- (1,NULL,6,'2012-01-05 03:20:52',125.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'1041',NULL,NULL),
- (2,NULL,6,'2019-10-05 03:20:52',50.00,NULL,NULL,'USD',1,'P20901X1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (3,NULL,6,'2015-12-10 14:20:52',25.00,NULL,NULL,'GBP',1,'GBP12',NULL,1,NULL,4,NULL,'2095',NULL,NULL),
- (4,NULL,6,'2019-10-05 03:20:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'10552',NULL,NULL),
- (5,NULL,6,'2019-10-05 03:20:52',50.00,NULL,NULL,'USD',1,'Q90901X1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (6,NULL,6,'2021-10-12 02:38:52',500.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'509',NULL,NULL),
- (7,NULL,6,'2022-01-03 03:20:52',1750.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,'102',NULL,NULL),
- (8,NULL,6,'2021-05-13 11:31:52',50.00,NULL,NULL,'USD',1,'P20193L2',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (9,NULL,6,'2021-02-05 03:20:52',10.00,NULL,NULL,'USD',1,'P40232Y3',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (10,NULL,6,'2017-08-13 05:20:52',250.00,NULL,NULL,'USD',1,'P20193L6',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (11,NULL,6,'2022-01-03 23:20:52',500.00,NULL,NULL,'JPY',1,'PL71',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (12,NULL,6,'2020-10-04 16:47:32',50.00,NULL,NULL,'USD',1,'P291X1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (13,NULL,6,'2021-10-05 00:00:00',50.00,NULL,NULL,'USD',1,'PL32I',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (14,NULL,6,'2021-11-05 00:00:00',50.00,NULL,NULL,'USD',1,'PL32II',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (15,NULL,6,'2020-10-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I591',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (16,NULL,6,'2020-11-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I592',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (17,NULL,6,'2020-12-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I593',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (18,NULL,6,'2021-01-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I594',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (19,NULL,6,'2021-02-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I595',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (20,NULL,6,'2021-03-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I596',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (21,NULL,6,'2021-04-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I597',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (22,NULL,6,'2021-05-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I598',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (23,NULL,6,'2021-06-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I599',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (24,NULL,6,'2021-07-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I5910',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (25,NULL,6,'2021-08-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I5911',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (26,NULL,6,'2021-05-05 03:20:52',10.00,NULL,NULL,'CAD',1,'PL32I991',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (27,NULL,6,'2021-06-05 03:20:52',10.00,NULL,NULL,'CAD',1,'PL32I992',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (28,NULL,6,'2021-07-05 03:20:52',10.00,NULL,NULL,'CAD',1,'PL32I993',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (29,NULL,6,'2021-08-05 03:20:52',10.00,NULL,NULL,'CAD',1,'PL32I994',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (30,NULL,6,'2021-09-05 03:20:52',10.00,NULL,NULL,'CAD',1,'PL32I995',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (31,NULL,6,'2021-12-05 03:20:52',5.00,NULL,NULL,'EUR',1,'PL32I1031',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (32,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'c145faee0d04bf23',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (33,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'e7792c9d495e0d43',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (34,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'efef6bf98c1ee77b',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (35,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'efd9264db11420e7',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (36,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'1c414af7029d5ac9',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (37,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'bf70d15a447dc3de',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (38,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'feee4f9be413a3ce',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (39,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'4c1f04e50a7343bb',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (40,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'1a38ad9c21aed03f',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (41,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'5366983810d9c038',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (42,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'bdbe43be980b026b',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (43,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'fdc01698bb8c3398',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (44,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'155b209f8d67d6ee',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (45,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'d68233cbe4638c58',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (46,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'19d34702504cd535',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (47,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'ce783c2980c895fb',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (48,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'15dd8d947457e182',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (49,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'ee8f336df39896c3',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (50,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'add86bce477d8c75',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (51,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'a68da4816cff3740',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (52,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'d96c76487dcc6bdc',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (53,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'d957a42dd6dd6a9e',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (54,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'c041fb11501b15f7',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (55,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'4ab3abfc8d97c438',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (56,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'0c1c807bc7b1154a',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (57,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'0cd92c5b9889c0ca',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (58,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'41c242fb1318b9e2',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (59,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'35aff5f65efeca62',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (60,NULL,6,'2022-01-05 03:20:52',1200.00,NULL,NULL,'USD',1,'9912cdd068cf1014',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (61,NULL,6,'2022-01-05 03:20:52',1200.00,NULL,NULL,'USD',1,'42bd5da1ddbeb42b',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (62,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'5123740aae905dd1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (63,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'c128acdc9edaf3aa',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (64,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'4864c94c6d7ab9f9',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (65,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'8d67b40c5ad42aa0',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (66,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'fd46aeb71230a44c',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (67,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'0244cb0cc7c3572c',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (68,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'fb28887c0b53fd7a',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (69,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'1adde57b47f31c37',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (70,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'88fad007bcfdc7da',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (71,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'8458b9d9835d73ca',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (72,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'d78f663546e66e1e',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (73,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'9a68a09e4269c324',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (74,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'a59545bfac032a49',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (75,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'cab2337844c7dbf6',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (76,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'86242a8b46fe2a95',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (77,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'245dff5fe5ea26a9',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (78,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'f3346d0f54be7857',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (79,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'fad8a1cfe5e6e46f',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (80,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'9304e3bad8029346',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (81,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'9341d53ff843997b',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (82,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'506b2ed6252d2eb9',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (83,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'fdd2de31e30983d4',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (84,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'c218dc01d8a04439',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (85,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'01bf6d2c6fb7e9e4',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (86,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'30482aee4efb5d9c',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (87,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'3c49b3fcebf6e8fe',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (88,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'76c4f03d19a96c87',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (89,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'f0a9ea5fe4befb93',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (90,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'fbb71527b60c4d4e',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (91,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'ffc5a259a622ad01',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (92,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'c98326e8528c033a',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (93,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'1455f14879e8a3bd',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (94,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'1eb689a5f9219948',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (95,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'9e6511c04affcdfb',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (96,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'baa7b5b0d35c4285',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (97,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'365c304fb081a082',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (98,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'3e145c4db652e7ff',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (99,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'90b6e47932fc2882',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (100,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'d3e66bf220b9ab01',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (101,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'c62dce9433ee6515',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (102,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'bf948a4adc739315',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (103,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'5b899d491ffd0d53',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (104,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'f1fb9b4ebe6c727b',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (105,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'face1371883367bb',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (106,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'e09704681d636574',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (107,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'81cf1d6efddcbe9d',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (108,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'c54943b66824eb8d',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (109,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'31f3912f5daf245e',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (110,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'fadaf65f8841187c',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (111,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'6f54991010f2eb1a',NULL,1,NULL,1,NULL,NULL,NULL,NULL);
+ (1,NULL,6,'2012-02-28 22:32:40',125.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'1041',NULL,NULL),
+ (2,NULL,6,'2019-11-28 22:32:40',50.00,NULL,NULL,'USD',1,'P20901X1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (3,NULL,6,'2016-02-03 09:32:40',25.00,NULL,NULL,'GBP',1,'GBP12',NULL,1,NULL,4,NULL,'2095',NULL,NULL),
+ (4,NULL,6,'2019-11-28 22:32:40',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'10552',NULL,NULL),
+ (5,NULL,6,'2019-11-28 22:32:40',50.00,NULL,NULL,'USD',1,'Q90901X1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (6,NULL,6,'2021-12-05 21:50:40',500.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'509',NULL,NULL),
+ (7,NULL,6,'2022-02-26 22:32:40',1750.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,'102',NULL,NULL),
+ (8,NULL,6,'2021-07-07 06:43:40',50.00,NULL,NULL,'USD',1,'P20193L2',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (9,NULL,6,'2021-03-28 22:32:40',10.00,NULL,NULL,'USD',1,'P40232Y3',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (10,NULL,6,'2017-10-06 00:32:40',250.00,NULL,NULL,'USD',1,'P20193L6',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (11,NULL,6,'2022-02-27 18:32:40',500.00,NULL,NULL,'JPY',1,'PL71',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (12,NULL,6,'2020-11-28 11:59:20',50.00,NULL,NULL,'USD',1,'P291X1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (13,NULL,6,'2021-11-28 00:00:00',50.00,NULL,NULL,'USD',1,'PL32I',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (14,NULL,6,'2021-12-28 00:00:00',50.00,NULL,NULL,'USD',1,'PL32II',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (15,NULL,6,'2020-11-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I591',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (16,NULL,6,'2020-12-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I592',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (17,NULL,6,'2021-01-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I593',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (18,NULL,6,'2021-02-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I594',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (19,NULL,6,'2021-03-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I595',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (20,NULL,6,'2021-04-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I596',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (21,NULL,6,'2021-05-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I597',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (22,NULL,6,'2021-06-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I598',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (23,NULL,6,'2021-07-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I599',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (24,NULL,6,'2021-08-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I5910',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (25,NULL,6,'2021-09-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I5911',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (26,NULL,6,'2021-06-28 22:32:40',10.00,NULL,NULL,'CAD',1,'PL32I991',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (27,NULL,6,'2021-07-28 22:32:40',10.00,NULL,NULL,'CAD',1,'PL32I992',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (28,NULL,6,'2021-08-28 22:32:40',10.00,NULL,NULL,'CAD',1,'PL32I993',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (29,NULL,6,'2021-09-28 22:32:40',10.00,NULL,NULL,'CAD',1,'PL32I994',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (30,NULL,6,'2021-10-28 22:32:40',10.00,NULL,NULL,'CAD',1,'PL32I995',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (31,NULL,6,'2022-01-28 22:32:40',5.00,NULL,NULL,'EUR',1,'PL32I1031',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (32,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'1b544238ee45305e',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (33,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'a171a7762c36c540',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (34,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'ff4eb29d35e3db44',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (35,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'e50b279b4fa2c78c',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (36,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'dbd9b62f2eaadaf9',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (37,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'f5d05ee18014a4e3',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (38,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'86eb4b4a437299cb',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (39,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'43b86f0f202e2845',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (40,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'19da9240409df37f',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (41,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'ed8aeb4a23b209a5',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (42,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'b3b1dc07ce2b46af',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (43,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'c1d30ce009737cfe',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (44,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'8f32b5ae217d0cdb',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (45,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'2899b74d80b82201',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (46,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'b8be20d0799fd107',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (47,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'c7d020d2ff409fcf',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (48,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'7d18ec704525094d',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (49,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'009407b57d6c56c9',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (50,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'82312e73e9b09297',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (51,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'d53f8837c45ab2e1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (52,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'424743a2fbf1e388',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (53,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'671f021a2b136d06',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (54,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'483a0ad5de920791',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (55,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'ac2cc2a6ec96e244',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (56,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'90ced3a3843e4c07',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (57,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'58902c4c575e175f',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (58,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'3b70ddd2ce354957',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (59,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'d8a9fcbe9b86aea0',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (60,NULL,6,'2022-02-28 22:32:40',1200.00,NULL,NULL,'USD',1,'c295f724fab6444b',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (61,NULL,6,'2022-02-28 22:32:40',1200.00,NULL,NULL,'USD',1,'ba36f6ad866a321a',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (62,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'37a9c216aebedf42',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (63,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'e0f74ef620561b21',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (64,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'e6820bb2f5c847a6',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (65,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'f9a4074192265577',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (66,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'c1e9b58bb31c287e',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (67,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'48aeaa7ecd0f8bf4',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (68,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'d2eeea79017a9f58',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (69,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'36b951e3998f868e',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (70,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'e49f233cd7ce0ccc',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (71,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'32f8cc02cb0c8eaf',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (72,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'a148b453ace178ce',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (73,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'fabffa52594e7b2a',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (74,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'73e8fdd556abb68c',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (75,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'5909b5671cf26258',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (76,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'c7d0cfce5137b9c3',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (77,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'23c44337bc60f2c1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (78,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'7bb238479bc2534c',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (79,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'94884d2010c3e513',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (80,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'b9f74eeb376c7803',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (81,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'a7705bf529f6cee0',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (82,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'f069a4134e9adf81',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (83,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'8025ef3ed65fe959',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (84,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'e4d6745df2a21d8c',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (85,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'e6d9f143d980e4df',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (86,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'531d6808f206bdfb',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (87,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'3596c522ca584405',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (88,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'21ab95e377cebe9c',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (89,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'7c737b7d8a20ee18',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (90,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'050087ea7b0ba89f',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (91,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'42992bca736625e1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (92,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'5106ab214c80e6bd',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (93,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'b0d6f27ae514d131',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (94,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'f2ea9948eb332f89',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (95,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'083d1a784045e433',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (96,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'33645b49f32d1d5b',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (97,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'e8fcfdedeb5eb47d',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (98,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'a23528d57c263f13',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (99,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'0e63fb32707e87a9',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (100,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'72d360146f8d477d',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (101,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'3f2e5eef2dffe279',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (102,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'d29e9ed7d752363d',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (103,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'ea4570fcf78ce268',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (104,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'ad0576ff49ebb59b',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (105,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'fb1e8d63a99c0961',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (106,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'4d1708529d07fb93',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (107,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'5ed25499ea28b8cf',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (108,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'00ed2001455b8457',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (109,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'fbc73ba7a152db7b',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (110,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'fd6e488980ed879d',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (111,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'4430450f0ed84037',NULL,1,NULL,1,NULL,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_financial_trxn` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -3890,15 +3857,6 @@ INSERT INTO `civicrm_financial_type` (`id`, `name`, `description`, `is_deductibl
 /*!40000 ALTER TABLE `civicrm_financial_type` ENABLE KEYS */;
 UNLOCK TABLES;
 
---
--- Dumping data for table `civicrm_grant`
---
-
-LOCK TABLES `civicrm_grant` WRITE;
-/*!40000 ALTER TABLE `civicrm_grant` DISABLE KEYS */;
-/*!40000 ALTER TABLE `civicrm_grant` ENABLE KEYS */;
-UNLOCK TABLES;
-
 --
 -- Dumping data for table `civicrm_group`
 --
@@ -3920,89 +3878,89 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_group_contact` WRITE;
 /*!40000 ALTER TABLE `civicrm_group_contact` DISABLE KEYS */;
 INSERT INTO `civicrm_group_contact` (`id`, `group_id`, `contact_id`, `status`, `location_id`, `email_id`) VALUES
- (1,2,64,'Added',NULL,NULL),
- (2,2,76,'Added',NULL,NULL),
- (3,2,79,'Added',NULL,NULL),
- (4,2,185,'Added',NULL,NULL),
- (5,2,192,'Added',NULL,NULL),
- (6,2,57,'Added',NULL,NULL),
- (7,2,167,'Added',NULL,NULL),
- (8,2,100,'Added',NULL,NULL),
- (9,2,170,'Added',NULL,NULL),
- (10,2,148,'Added',NULL,NULL),
- (11,2,95,'Added',NULL,NULL),
- (12,2,48,'Added',NULL,NULL),
- (13,2,12,'Added',NULL,NULL),
- (14,2,58,'Added',NULL,NULL),
- (15,2,113,'Added',NULL,NULL),
- (16,2,46,'Added',NULL,NULL),
- (17,2,164,'Added',NULL,NULL),
- (18,2,71,'Added',NULL,NULL),
- (19,2,162,'Added',NULL,NULL),
- (20,2,197,'Added',NULL,NULL),
- (21,2,200,'Added',NULL,NULL),
- (22,2,7,'Added',NULL,NULL),
- (23,2,111,'Added',NULL,NULL),
- (24,2,9,'Added',NULL,NULL),
- (25,2,147,'Added',NULL,NULL),
- (26,2,130,'Added',NULL,NULL),
- (27,2,15,'Added',NULL,NULL),
- (28,2,106,'Added',NULL,NULL),
- (29,2,112,'Added',NULL,NULL),
- (30,2,171,'Added',NULL,NULL),
- (31,2,39,'Added',NULL,NULL),
- (32,2,157,'Added',NULL,NULL),
- (33,2,128,'Added',NULL,NULL),
- (34,2,84,'Added',NULL,NULL),
- (35,2,62,'Added',NULL,NULL),
- (36,2,180,'Added',NULL,NULL),
- (37,2,118,'Added',NULL,NULL),
- (38,2,61,'Added',NULL,NULL),
- (39,2,194,'Added',NULL,NULL),
- (40,2,126,'Added',NULL,NULL),
- (41,2,40,'Added',NULL,NULL),
- (42,2,142,'Added',NULL,NULL),
- (43,2,174,'Added',NULL,NULL),
- (44,2,89,'Added',NULL,NULL),
- (45,2,107,'Added',NULL,NULL),
- (46,2,80,'Added',NULL,NULL),
- (47,2,144,'Added',NULL,NULL),
- (48,2,198,'Added',NULL,NULL),
- (49,2,149,'Added',NULL,NULL),
- (50,2,96,'Added',NULL,NULL),
- (51,2,188,'Added',NULL,NULL),
- (52,2,34,'Added',NULL,NULL),
- (53,2,97,'Added',NULL,NULL),
- (54,2,4,'Added',NULL,NULL),
- (55,2,172,'Added',NULL,NULL),
- (56,2,49,'Added',NULL,NULL),
- (57,2,158,'Added',NULL,NULL),
- (58,2,14,'Added',NULL,NULL),
- (59,2,70,'Added',NULL,NULL),
- (60,2,68,'Added',NULL,NULL),
- (61,3,30,'Added',NULL,NULL),
- (62,3,54,'Added',NULL,NULL),
- (63,3,63,'Added',NULL,NULL),
- (64,3,168,'Added',NULL,NULL),
- (65,3,60,'Added',NULL,NULL),
- (66,3,92,'Added',NULL,NULL),
- (67,3,138,'Added',NULL,NULL),
- (68,3,83,'Added',NULL,NULL),
- (69,3,13,'Added',NULL,NULL),
- (70,3,98,'Added',NULL,NULL),
- (71,3,103,'Added',NULL,NULL),
- (72,3,105,'Added',NULL,NULL),
- (73,3,183,'Added',NULL,NULL),
- (74,3,91,'Added',NULL,NULL),
- (75,3,119,'Added',NULL,NULL),
- (76,4,64,'Added',NULL,NULL),
- (77,4,100,'Added',NULL,NULL),
- (78,4,113,'Added',NULL,NULL),
- (79,4,7,'Added',NULL,NULL),
- (80,4,112,'Added',NULL,NULL),
- (81,4,180,'Added',NULL,NULL),
- (82,4,174,'Added',NULL,NULL),
- (83,4,96,'Added',NULL,NULL),
+ (1,2,174,'Added',NULL,NULL),
+ (2,2,163,'Added',NULL,NULL),
+ (3,2,188,'Added',NULL,NULL),
+ (4,2,125,'Added',NULL,NULL),
+ (5,2,177,'Added',NULL,NULL),
+ (6,2,104,'Added',NULL,NULL),
+ (7,2,55,'Added',NULL,NULL),
+ (8,2,116,'Added',NULL,NULL),
+ (9,2,151,'Added',NULL,NULL),
+ (10,2,182,'Added',NULL,NULL),
+ (11,2,140,'Added',NULL,NULL),
+ (12,2,76,'Added',NULL,NULL),
+ (13,2,121,'Added',NULL,NULL),
+ (14,2,99,'Added',NULL,NULL),
+ (15,2,199,'Added',NULL,NULL),
+ (16,2,171,'Added',NULL,NULL),
+ (17,2,126,'Added',NULL,NULL),
+ (18,2,28,'Added',NULL,NULL),
+ (19,2,201,'Added',NULL,NULL),
+ (20,2,200,'Added',NULL,NULL),
+ (21,2,9,'Added',NULL,NULL),
+ (22,2,105,'Added',NULL,NULL),
+ (23,2,68,'Added',NULL,NULL),
+ (24,2,119,'Added',NULL,NULL),
+ (25,2,122,'Added',NULL,NULL),
+ (26,2,127,'Added',NULL,NULL),
+ (27,2,115,'Added',NULL,NULL),
+ (28,2,2,'Added',NULL,NULL),
+ (29,2,117,'Added',NULL,NULL),
+ (30,2,134,'Added',NULL,NULL),
+ (31,2,79,'Added',NULL,NULL),
+ (32,2,179,'Added',NULL,NULL),
+ (33,2,131,'Added',NULL,NULL),
+ (34,2,86,'Added',NULL,NULL),
+ (35,2,11,'Added',NULL,NULL),
+ (36,2,143,'Added',NULL,NULL),
+ (37,2,52,'Added',NULL,NULL),
+ (38,2,100,'Added',NULL,NULL),
+ (39,2,155,'Added',NULL,NULL),
+ (40,2,72,'Added',NULL,NULL),
+ (41,2,178,'Added',NULL,NULL),
+ (42,2,66,'Added',NULL,NULL),
+ (43,2,164,'Added',NULL,NULL),
+ (44,2,193,'Added',NULL,NULL),
+ (45,2,187,'Added',NULL,NULL),
+ (46,2,67,'Added',NULL,NULL),
+ (47,2,29,'Added',NULL,NULL),
+ (48,2,195,'Added',NULL,NULL),
+ (49,2,64,'Added',NULL,NULL),
+ (50,2,46,'Added',NULL,NULL),
+ (51,2,69,'Added',NULL,NULL),
+ (52,2,103,'Added',NULL,NULL),
+ (53,2,170,'Added',NULL,NULL),
+ (54,2,165,'Added',NULL,NULL),
+ (55,2,184,'Added',NULL,NULL),
+ (56,2,45,'Added',NULL,NULL),
+ (57,2,59,'Added',NULL,NULL),
+ (58,2,101,'Added',NULL,NULL),
+ (59,2,138,'Added',NULL,NULL),
+ (60,2,112,'Added',NULL,NULL),
+ (61,3,27,'Added',NULL,NULL),
+ (62,3,137,'Added',NULL,NULL),
+ (63,3,10,'Added',NULL,NULL),
+ (64,3,124,'Added',NULL,NULL),
+ (65,3,53,'Added',NULL,NULL),
+ (66,3,111,'Added',NULL,NULL),
+ (67,3,145,'Added',NULL,NULL),
+ (68,3,197,'Added',NULL,NULL),
+ (69,3,129,'Added',NULL,NULL),
+ (70,3,74,'Added',NULL,NULL),
+ (71,3,14,'Added',NULL,NULL),
+ (72,3,26,'Added',NULL,NULL),
+ (73,3,56,'Added',NULL,NULL),
+ (74,3,173,'Added',NULL,NULL),
+ (75,3,80,'Added',NULL,NULL),
+ (76,4,174,'Added',NULL,NULL),
+ (77,4,116,'Added',NULL,NULL),
+ (78,4,199,'Added',NULL,NULL),
+ (79,4,105,'Added',NULL,NULL),
+ (80,4,117,'Added',NULL,NULL),
+ (81,4,143,'Added',NULL,NULL),
+ (82,4,164,'Added',NULL,NULL),
+ (83,4,46,'Added',NULL,NULL),
  (84,4,202,'Added',NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_group_contact` ENABLE KEYS */;
 UNLOCK TABLES;
@@ -4122,81 +4080,81 @@ INSERT INTO `civicrm_line_item` (`id`, `entity_table`, `entity_id`, `contributio
  (34,'civicrm_membership',5,36,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
  (35,'civicrm_membership',7,38,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
  (36,'civicrm_membership',9,40,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
- (37,'civicrm_membership',10,41,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
- (38,'civicrm_membership',13,44,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
+ (37,'civicrm_membership',13,44,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
+ (38,'civicrm_membership',15,46,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
  (39,'civicrm_membership',17,48,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
  (40,'civicrm_membership',19,50,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
  (41,'civicrm_membership',20,51,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
  (42,'civicrm_membership',21,52,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
  (43,'civicrm_membership',23,54,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
- (44,'civicrm_membership',25,56,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
- (45,'civicrm_membership',27,58,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
- (46,'civicrm_membership',29,60,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
- (47,'civicrm_membership',2,33,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
- (48,'civicrm_membership',4,35,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
- (49,'civicrm_membership',6,37,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
- (50,'civicrm_membership',8,39,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
+ (44,'civicrm_membership',27,58,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
+ (45,'civicrm_membership',29,60,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
+ (46,'civicrm_membership',2,33,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
+ (47,'civicrm_membership',4,35,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
+ (48,'civicrm_membership',6,37,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
+ (49,'civicrm_membership',8,39,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
+ (50,'civicrm_membership',10,41,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
  (51,'civicrm_membership',12,43,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
  (52,'civicrm_membership',14,45,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
- (53,'civicrm_membership',15,46,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
- (54,'civicrm_membership',16,47,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
- (55,'civicrm_membership',18,49,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
- (56,'civicrm_membership',24,55,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
+ (53,'civicrm_membership',16,47,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
+ (54,'civicrm_membership',18,49,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
+ (55,'civicrm_membership',24,55,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
+ (56,'civicrm_membership',25,56,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
  (57,'civicrm_membership',26,57,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
  (58,'civicrm_membership',28,59,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
  (59,'civicrm_membership',30,61,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
  (60,'civicrm_membership',11,42,4,'Lifetime',1.00,1200.00,1200.00,NULL,9,2,0.00,NULL,NULL),
  (61,'civicrm_membership',22,53,4,'Lifetime',1.00,1200.00,1200.00,NULL,9,2,0.00,NULL,NULL),
  (63,'civicrm_participant',3,65,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (64,'civicrm_participant',6,76,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (65,'civicrm_participant',9,69,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (66,'civicrm_participant',12,68,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (64,'civicrm_participant',6,68,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (65,'civicrm_participant',9,71,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (66,'civicrm_participant',12,74,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
  (67,'civicrm_participant',15,77,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (68,'civicrm_participant',18,82,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (69,'civicrm_participant',21,99,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (70,'civicrm_participant',24,97,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (71,'civicrm_participant',25,103,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (72,'civicrm_participant',28,110,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (73,'civicrm_participant',31,71,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (74,'civicrm_participant',34,104,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (75,'civicrm_participant',37,75,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (76,'civicrm_participant',40,74,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (77,'civicrm_participant',43,84,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (78,'civicrm_participant',46,73,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (79,'civicrm_participant',49,112,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (80,'civicrm_participant',50,89,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (81,'civicrm_participant',1,95,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (82,'civicrm_participant',4,100,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (83,'civicrm_participant',7,107,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (84,'civicrm_participant',10,91,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (85,'civicrm_participant',13,111,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (86,'civicrm_participant',16,96,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (87,'civicrm_participant',19,109,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (88,'civicrm_participant',22,85,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (89,'civicrm_participant',26,108,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (90,'civicrm_participant',29,83,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (91,'civicrm_participant',32,70,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (92,'civicrm_participant',35,64,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (93,'civicrm_participant',38,86,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (94,'civicrm_participant',41,92,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (95,'civicrm_participant',44,63,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (96,'civicrm_participant',47,72,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (97,'civicrm_participant',2,78,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (98,'civicrm_participant',5,66,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (99,'civicrm_participant',8,102,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (100,'civicrm_participant',11,80,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (101,'civicrm_participant',14,67,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (102,'civicrm_participant',17,105,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (103,'civicrm_participant',20,98,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (104,'civicrm_participant',23,101,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (105,'civicrm_participant',27,79,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (106,'civicrm_participant',30,90,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (107,'civicrm_participant',33,88,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (108,'civicrm_participant',36,93,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (109,'civicrm_participant',39,81,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (110,'civicrm_participant',42,87,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (111,'civicrm_participant',45,94,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (112,'civicrm_participant',48,106,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL);
+ (68,'civicrm_participant',18,80,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (69,'civicrm_participant',21,83,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (70,'civicrm_participant',24,86,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (71,'civicrm_participant',25,87,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (72,'civicrm_participant',28,90,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (73,'civicrm_participant',31,93,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (74,'civicrm_participant',34,96,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (75,'civicrm_participant',37,99,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (76,'civicrm_participant',40,102,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (77,'civicrm_participant',43,105,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (78,'civicrm_participant',46,108,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (79,'civicrm_participant',49,111,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (80,'civicrm_participant',50,112,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (81,'civicrm_participant',1,63,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (82,'civicrm_participant',4,66,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (83,'civicrm_participant',7,69,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (84,'civicrm_participant',10,72,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (85,'civicrm_participant',13,75,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (86,'civicrm_participant',16,78,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (87,'civicrm_participant',19,81,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (88,'civicrm_participant',22,84,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (89,'civicrm_participant',26,88,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (90,'civicrm_participant',29,91,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (91,'civicrm_participant',32,94,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (92,'civicrm_participant',35,97,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (93,'civicrm_participant',38,100,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (94,'civicrm_participant',41,103,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (95,'civicrm_participant',44,106,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (96,'civicrm_participant',47,109,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (97,'civicrm_participant',2,64,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (98,'civicrm_participant',5,67,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (99,'civicrm_participant',8,70,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (100,'civicrm_participant',11,73,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (101,'civicrm_participant',14,76,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (102,'civicrm_participant',17,79,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (103,'civicrm_participant',20,82,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (104,'civicrm_participant',23,85,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (105,'civicrm_participant',27,89,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (106,'civicrm_participant',30,92,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (107,'civicrm_participant',33,95,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (108,'civicrm_participant',36,98,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (109,'civicrm_participant',39,101,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (110,'civicrm_participant',42,104,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (111,'civicrm_participant',45,107,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (112,'civicrm_participant',48,110,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_line_item` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -4207,9 +4165,9 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_loc_block` WRITE;
 /*!40000 ALTER TABLE `civicrm_loc_block` DISABLE KEYS */;
 INSERT INTO `civicrm_loc_block` (`id`, `address_id`, `email_id`, `phone_id`, `im_id`, `address_2_id`, `email_2_id`, `phone_2_id`, `im_2_id`) VALUES
- (1,179,185,157,NULL,NULL,NULL,NULL,NULL),
- (2,180,186,158,NULL,NULL,NULL,NULL,NULL),
- (3,181,187,159,NULL,NULL,NULL,NULL,NULL);
+ (1,174,185,158,NULL,NULL,NULL,NULL,NULL),
+ (2,175,186,159,NULL,NULL,NULL,NULL,NULL),
+ (3,176,187,160,NULL,NULL,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_loc_block` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -4235,7 +4193,7 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_log` WRITE;
 /*!40000 ALTER TABLE `civicrm_log` DISABLE KEYS */;
 INSERT INTO `civicrm_log` (`id`, `entity_table`, `entity_id`, `data`, `modified_id`, `modified_date`) VALUES
- (1,'civicrm_contact',202,'civicrm_contact,202',202,'2022-01-05 03:20:46');
+ (1,'civicrm_contact',202,'civicrm_contact,202',202,'2022-02-28 22:32:39');
 /*!40000 ALTER TABLE `civicrm_log` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -4651,36 +4609,36 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_membership` WRITE;
 /*!40000 ALTER TABLE `civicrm_membership` DISABLE KEYS */;
 INSERT INTO `civicrm_membership` (`id`, `contact_id`, `membership_type_id`, `join_date`, `start_date`, `end_date`, `source`, `status_id`, `is_override`, `status_override_end_date`, `owner_membership_id`, `max_related`, `is_test`, `is_pay_later`, `contribution_recur_id`, `campaign_id`) VALUES
- (1,65,1,'2022-01-05','2022-01-05','2024-01-04','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (2,189,2,'2022-01-04','2022-01-04','2023-01-03','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (3,41,1,'2022-01-03','2022-01-03','2024-01-02','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (4,35,2,'2022-01-02','2022-01-02','2023-01-01','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (5,130,1,'2019-12-04','2019-12-04','2021-12-03','Donation',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (6,9,2,'2021-12-31','2021-12-31','2022-12-30','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (7,58,1,'2021-12-30','2021-12-30','2023-12-29','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (8,190,2,'2021-12-29','2021-12-29','2022-12-28','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (9,40,1,'2021-12-28','2021-12-28','2023-12-27','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (10,36,1,'2019-10-25','2019-10-25','2021-10-24','Payment',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (11,186,3,'2021-12-26','2021-12-26',NULL,'Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (12,149,2,'2021-12-25','2021-12-25','2022-12-24','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (13,6,1,'2021-12-24','2021-12-24','2023-12-23','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (14,97,2,'2021-12-23','2021-12-23','2022-12-22','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (15,12,2,'2020-12-22','2020-12-22','2021-12-21','Donation',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (16,28,2,'2021-12-21','2021-12-21','2022-12-20','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (17,140,1,'2021-12-20','2021-12-20','2023-12-19','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (18,69,2,'2021-12-19','2021-12-19','2022-12-18','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (19,95,1,'2021-12-18','2021-12-18','2023-12-17','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (20,3,1,'2019-08-06','2019-08-06','2021-08-05','Check',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (21,19,1,'2021-12-16','2021-12-16','2023-12-15','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (22,59,3,'2021-12-15','2021-12-15',NULL,'Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (23,24,1,'2021-12-14','2021-12-14','2023-12-13','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (24,162,2,'2021-12-13','2021-12-13','2022-12-12','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (25,107,1,'2019-06-27','2019-06-27','2021-06-26','Donation',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (26,127,2,'2021-12-11','2021-12-11','2022-12-10','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (27,66,1,'2021-12-10','2021-12-10','2023-12-09','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (28,13,2,'2021-12-09','2021-12-09','2022-12-08','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (29,202,1,'2021-12-08','2021-12-08','2023-12-07','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (30,105,2,'2020-12-07','2020-12-07','2021-12-06','Check',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL);
+ (1,175,1,'2022-02-28','2022-02-28','2024-02-27','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (2,105,2,'2022-02-27','2022-02-27','2023-02-26','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (3,65,1,'2022-02-26','2022-02-26','2024-02-25','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (4,179,2,'2022-02-25','2022-02-25','2023-02-24','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (5,159,1,'2020-01-27','2020-01-27','2022-01-26','Check',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (6,157,2,'2022-02-23','2022-02-23','2023-02-22','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (7,26,1,'2022-02-22','2022-02-22','2024-02-21','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (8,184,2,'2022-02-21','2022-02-21','2023-02-20','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (9,90,1,'2022-02-20','2022-02-20','2024-02-19','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (10,167,2,'2021-02-19','2021-02-19','2022-02-18','Check',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (11,3,3,'2022-02-18','2022-02-18',NULL,'Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (12,40,2,'2022-02-17','2022-02-17','2023-02-16','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (13,82,1,'2022-02-16','2022-02-16','2024-02-15','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (14,16,2,'2022-02-15','2022-02-15','2023-02-14','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (15,34,1,'2019-11-08','2019-11-08','2021-11-07','Check',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (16,79,2,'2022-02-13','2022-02-13','2023-02-12','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (17,163,1,'2022-02-12','2022-02-12','2024-02-11','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (18,75,2,'2022-02-11','2022-02-11','2023-02-10','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (19,27,1,'2022-02-10','2022-02-10','2024-02-09','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (20,99,1,'2019-09-29','2019-09-29','2021-09-28','Check',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (21,174,1,'2022-02-08','2022-02-08','2024-02-07','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (22,195,3,'2022-02-07','2022-02-07',NULL,'Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (23,70,1,'2022-02-06','2022-02-06','2024-02-05','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (24,134,2,'2022-02-05','2022-02-05','2023-02-04','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (25,188,2,'2021-02-04','2021-02-04','2022-02-03','Donation',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (26,12,2,'2022-02-03','2022-02-03','2023-02-02','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (27,137,1,'2022-02-02','2022-02-02','2024-02-01','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (28,101,2,'2022-02-01','2022-02-01','2023-01-31','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (29,107,1,'2022-01-31','2022-01-31','2024-01-30','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (30,192,2,'2021-01-30','2021-01-30','2022-01-29','Check',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_membership` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -4702,36 +4660,36 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_membership_log` WRITE;
 /*!40000 ALTER TABLE `civicrm_membership_log` DISABLE KEYS */;
 INSERT INTO `civicrm_membership_log` (`id`, `membership_id`, `status_id`, `start_date`, `end_date`, `modified_id`, `modified_date`, `membership_type_id`, `max_related`) VALUES
- (1,20,3,'2019-08-06','2021-08-05',3,'2022-01-05',1,NULL),
- (2,13,1,'2021-12-24','2023-12-23',6,'2022-01-05',1,NULL),
- (3,6,1,'2021-12-31','2022-12-30',9,'2022-01-05',2,NULL),
- (4,15,4,'2020-12-22','2021-12-21',12,'2022-01-05',2,NULL),
- (5,28,1,'2021-12-09','2022-12-08',13,'2022-01-05',2,NULL),
- (6,21,1,'2021-12-16','2023-12-15',19,'2022-01-05',1,NULL),
- (7,23,1,'2021-12-14','2023-12-13',24,'2022-01-05',1,NULL),
- (8,16,1,'2021-12-21','2022-12-20',28,'2022-01-05',2,NULL),
- (9,4,1,'2022-01-02','2023-01-01',35,'2022-01-05',2,NULL),
- (10,10,3,'2019-10-25','2021-10-24',36,'2022-01-05',1,NULL),
- (11,9,1,'2021-12-28','2023-12-27',40,'2022-01-05',1,NULL),
- (12,3,1,'2022-01-03','2024-01-02',41,'2022-01-05',1,NULL),
- (13,7,1,'2021-12-30','2023-12-29',58,'2022-01-05',1,NULL),
- (14,22,1,'2021-12-15',NULL,59,'2022-01-05',3,NULL),
- (15,1,1,'2022-01-05','2024-01-04',65,'2022-01-05',1,NULL),
- (16,27,1,'2021-12-10','2023-12-09',66,'2022-01-05',1,NULL),
- (17,18,1,'2021-12-19','2022-12-18',69,'2022-01-05',2,NULL),
- (18,19,1,'2021-12-18','2023-12-17',95,'2022-01-05',1,NULL),
- (19,14,1,'2021-12-23','2022-12-22',97,'2022-01-05',2,NULL),
- (20,30,4,'2020-12-07','2021-12-06',105,'2022-01-05',2,NULL),
- (21,25,3,'2019-06-27','2021-06-26',107,'2022-01-05',1,NULL),
- (22,26,1,'2021-12-11','2022-12-10',127,'2022-01-05',2,NULL),
- (23,5,3,'2019-12-04','2021-12-03',130,'2022-01-05',1,NULL),
- (24,17,1,'2021-12-20','2023-12-19',140,'2022-01-05',1,NULL),
- (25,12,1,'2021-12-25','2022-12-24',149,'2022-01-05',2,NULL),
- (26,24,1,'2021-12-13','2022-12-12',162,'2022-01-05',2,NULL),
- (27,11,1,'2021-12-26',NULL,186,'2022-01-05',3,NULL),
- (28,2,1,'2022-01-04','2023-01-03',189,'2022-01-05',2,NULL),
- (29,8,1,'2021-12-29','2022-12-28',190,'2022-01-05',2,NULL),
- (30,29,1,'2021-12-08','2023-12-07',202,'2022-01-05',1,NULL);
+ (1,11,1,'2022-02-18',NULL,3,'2022-02-28',3,NULL),
+ (2,26,1,'2022-02-03','2023-02-02',12,'2022-02-28',2,NULL),
+ (3,14,1,'2022-02-15','2023-02-14',16,'2022-02-28',2,NULL),
+ (4,7,1,'2022-02-22','2024-02-21',26,'2022-02-28',1,NULL),
+ (5,19,1,'2022-02-10','2024-02-09',27,'2022-02-28',1,NULL),
+ (6,15,3,'2019-11-08','2021-11-07',34,'2022-02-28',1,NULL),
+ (7,12,1,'2022-02-17','2023-02-16',40,'2022-02-28',2,NULL),
+ (8,3,1,'2022-02-26','2024-02-25',65,'2022-02-28',1,NULL),
+ (9,23,1,'2022-02-06','2024-02-05',70,'2022-02-28',1,NULL),
+ (10,18,1,'2022-02-11','2023-02-10',75,'2022-02-28',2,NULL),
+ (11,16,1,'2022-02-13','2023-02-12',79,'2022-02-28',2,NULL),
+ (12,13,1,'2022-02-16','2024-02-15',82,'2022-02-28',1,NULL),
+ (13,9,1,'2022-02-20','2024-02-19',90,'2022-02-28',1,NULL),
+ (14,20,3,'2019-09-29','2021-09-28',99,'2022-02-28',1,NULL),
+ (15,28,1,'2022-02-01','2023-01-31',101,'2022-02-28',2,NULL),
+ (16,2,1,'2022-02-27','2023-02-26',105,'2022-02-28',2,NULL),
+ (17,29,1,'2022-01-31','2024-01-30',107,'2022-02-28',1,NULL),
+ (18,24,1,'2022-02-05','2023-02-04',134,'2022-02-28',2,NULL),
+ (19,27,1,'2022-02-02','2024-02-01',137,'2022-02-28',1,NULL),
+ (20,6,1,'2022-02-23','2023-02-22',157,'2022-02-28',2,NULL),
+ (21,5,3,'2020-01-27','2022-01-26',159,'2022-02-28',1,NULL),
+ (22,17,1,'2022-02-12','2024-02-11',163,'2022-02-28',1,NULL),
+ (23,10,4,'2021-02-19','2022-02-18',167,'2022-02-28',2,NULL),
+ (24,21,1,'2022-02-08','2024-02-07',174,'2022-02-28',1,NULL),
+ (25,1,1,'2022-02-28','2024-02-27',175,'2022-02-28',1,NULL),
+ (26,4,1,'2022-02-25','2023-02-24',179,'2022-02-28',2,NULL),
+ (27,8,1,'2022-02-21','2023-02-20',184,'2022-02-28',2,NULL),
+ (28,25,4,'2021-02-04','2022-02-03',188,'2022-02-28',2,NULL),
+ (29,30,4,'2021-01-30','2022-01-29',192,'2022-02-28',2,NULL),
+ (30,22,1,'2022-02-07',NULL,195,'2022-02-28',3,NULL);
 /*!40000 ALTER TABLE `civicrm_membership_log` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -4742,36 +4700,36 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_membership_payment` WRITE;
 /*!40000 ALTER TABLE `civicrm_membership_payment` DISABLE KEYS */;
 INSERT INTO `civicrm_membership_payment` (`id`, `membership_id`, `contribution_id`) VALUES
- (15,1,32),
- (28,2,33),
- (12,3,34),
- (9,4,35),
- (23,5,36),
- (3,6,37),
- (13,7,38),
- (29,8,39),
- (11,9,40),
+ (1,1,32),
+ (2,2,33),
+ (3,3,34),
+ (4,4,35),
+ (5,5,36),
+ (6,6,37),
+ (7,7,38),
+ (8,8,39),
+ (9,9,40),
  (10,10,41),
- (27,11,42),
- (25,12,43),
- (2,13,44),
- (19,14,45),
- (4,15,46),
- (8,16,47),
- (24,17,48),
- (17,18,49),
- (18,19,50),
- (1,20,51),
- (6,21,52),
- (14,22,53),
- (7,23,54),
- (26,24,55),
- (21,25,56),
- (22,26,57),
- (16,27,58),
- (5,28,59),
- (30,29,60),
- (20,30,61);
+ (11,11,42),
+ (12,12,43),
+ (13,13,44),
+ (14,14,45),
+ (15,15,46),
+ (16,16,47),
+ (17,17,48),
+ (18,18,49),
+ (19,19,50),
+ (20,20,51),
+ (21,21,52),
+ (22,22,53),
+ (23,23,54),
+ (24,24,55),
+ (25,25,56),
+ (26,26,57),
+ (27,27,58),
+ (28,28,59),
+ (29,29,60),
+ (30,30,61);
 /*!40000 ALTER TABLE `civicrm_membership_payment` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -4816,449 +4774,448 @@ INSERT INTO `civicrm_menu` (`id`, `domain_id`, `path`, `path_arguments`, `title`
  (2,1,'civicrm/group/search',NULL,'Group Members','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Manage Groups\";s:3:\"url\";s:22:\"/civicrm/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:7:\"comment\";s:164:\"Note: group search already respect ACL, so a strict permission at url level is not required. A simple/basic permission like \'access CiviCRM\' could be used. CRM-5417\";}'),
  (3,1,'civicrm/group/add',NULL,'New Group','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:11:\"edit groups\";}i:1;s:3:\"and\";}','s:20:\"CRM_Group_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Manage Groups\";s:3:\"url\";s:22:\"/civicrm/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
  (4,1,'civicrm/ajax/grouplist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Group_Page_AJAX\";i:1;s:12:\"getGroupList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (5,1,'civicrm/import',NULL,'Import','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Import_Controller\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,400,1,1,NULL,'a:0:{}'),
- (6,1,'civicrm/import/contact',NULL,'Import Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,410,1,1,NULL,'a:0:{}'),
- (7,1,'civicrm/import/activity',NULL,'Import Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,420,1,1,NULL,'a:0:{}'),
- (8,1,'civicrm/import/custom','id=%%id%%','Import Multi-value Custom Data','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Custom_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,420,1,1,NULL,'a:0:{}'),
- (9,1,'civicrm/ajax/status',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:28:\"CRM_Contact_Import_Page_AJAX\";i:1;s:6:\"status\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (10,1,'civicrm/admin/custom/group',NULL,'Custom Data','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Page_Group\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:109:\"Configure custom fields to collect and store custom data which is not included in the standard CiviCRM forms.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (11,1,'civicrm/admin/custom/group/field',NULL,'Custom Data Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,11,1,0,0,'a:0:{}'),
- (12,1,'civicrm/admin/custom/group/field/option',NULL,'Custom Field - Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:22:\"CRM_Custom_Page_Option\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (13,1,'civicrm/admin/custom/group/field/add',NULL,'Custom Field - Add','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (14,1,'civicrm/admin/custom/group/field/update',NULL,'Custom Field - Edit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (15,1,'civicrm/admin/custom/group/field/move',NULL,'Custom Field - Move','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:25:\"CRM_Custom_Form_MoveField\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (16,1,'civicrm/admin/uf/group',NULL,'Profiles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Page_Group\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:4:\"desc\";s:151:\"Profiles allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (17,1,'civicrm/admin/uf/group/field',NULL,'CiviCRM Profile Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,21,1,0,0,'a:0:{}'),
- (18,1,'civicrm/admin/uf/group/field/add',NULL,'Add Field','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,22,1,0,NULL,'a:0:{}'),
- (19,1,'civicrm/admin/uf/group/field/update',NULL,'Edit Field','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,23,1,0,NULL,'a:0:{}'),
- (20,1,'civicrm/admin/uf/group/add',NULL,'New CiviCRM Profile','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Group\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,24,1,0,NULL,'a:0:{}'),
- (21,1,'civicrm/admin/uf/group/update',NULL,'Profile Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Group\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,25,1,0,NULL,'a:0:{}'),
- (22,1,'civicrm/admin/uf/group/setting',NULL,'AdditionalInfo Form','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_UF_Form_AdvanceSetting\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,0,1,0,NULL,'a:0:{}'),
- (23,1,'civicrm/admin/options/activity_type',NULL,'Activity Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:4:\"desc\";s:155:\"CiviCRM has several built-in activity types (meetings, phone calls, emails sent). Track other types of interactions by creating custom activity types here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (24,1,'civicrm/admin/reltype',NULL,'Relationship Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Page_RelationshipType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,35,1,0,NULL,'a:2:{s:4:\"desc\";s:148:\"Contacts can be linked to each other through Relationships (e.g. Spouse, Employer, etc.). Define the types of relationships you want to record here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (25,1,'civicrm/admin/options/subtype',NULL,'Contact Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Page_ContactType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (26,1,'civicrm/admin/options/gender',NULL,'Gender Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,45,1,0,NULL,'a:2:{s:4:\"desc\";s:79:\"Options for assigning gender to individual contacts (e.g. Male, Female, Other).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (27,1,'civicrm/admin/options/individual_prefix',NULL,'Individual Prefixes (Ms, Mr...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:2:{s:4:\"desc\";s:66:\"Options for individual contact prefixes (e.g. Ms., Mr., Dr. etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (28,1,'civicrm/admin/options/individual_suffix',NULL,'Individual Suffixes (Jr, Sr...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,55,1,0,NULL,'a:2:{s:4:\"desc\";s:61:\"Options for individual contact suffixes (e.g. Jr., Sr. etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (29,1,'civicrm/admin/locationType',NULL,'Location Types (Home, Work...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_LocationType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:2:{s:4:\"desc\";s:94:\"Options for categorizing contact addresses and phone numbers (e.g. Home, Work, Billing, etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (30,1,'civicrm/admin/options/website_type',NULL,'Website Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,65,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Options for assigning website types to contacts.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (31,1,'civicrm/admin/options/instant_messenger_service',NULL,'Instant Messenger Services','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:2:{s:4:\"desc\";s:79:\"List of IM services which can be used when recording screen-names for contacts.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (32,1,'civicrm/admin/options/mobile_provider',NULL,'Mobile Phone Providers','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,75,1,0,NULL,'a:2:{s:4:\"desc\";s:90:\"List of mobile phone providers which can be assigned when recording contact phone numbers.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (33,1,'civicrm/admin/options/phone_type',NULL,'Phone Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:2:{s:4:\"desc\";s:80:\"Options for assigning phone type to contacts (e.g Phone,\n    Mobile, Fax, Pager)\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (34,1,'civicrm/admin/setting/preferences/display',NULL,'Display Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Display\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (35,1,'civicrm/admin/setting/search',NULL,'Search Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Form_Setting_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,95,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (36,1,'civicrm/admin/setting/preferences/date',NULL,'View Date Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Admin_Page_PreferencesDate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (37,1,'civicrm/admin/menu',NULL,'Navigation Menu','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_Navigation\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:2:{s:4:\"desc\";s:79:\"Add or remove menu items, and modify the order of items on the navigation menu.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (38,1,'civicrm/admin/options/wordreplacements',NULL,'Word Replacements','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Form_WordReplacements\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,105,1,0,NULL,'a:2:{s:4:\"desc\";s:18:\"Word Replacements.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (39,1,'civicrm/admin/options/custom_search',NULL,'Manage Custom Searches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,110,1,0,NULL,'a:2:{s:4:\"desc\";s:225:\"Developers and accidental techies with a bit of PHP and SQL knowledge can create new search forms to handle specific search and reporting needs which aren\'t covered by the built-in Advanced Search and Search Builder features.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (40,1,'civicrm/admin/domain','action=update','Organization Address and Contact Info','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Contact_Form_Domain\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:150:\"Configure primary contact name, email, return-path and address information. This information is used by CiviMail to identify the sending organization.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (41,1,'civicrm/admin/options/from_email_address',NULL,'From Email Addresses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (42,1,'civicrm/admin/messageTemplates',NULL,'Message Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:22:\"edit message templates\";i:1;s:34:\"edit user-driven message templates\";i:2;s:38:\"edit system workflow message templates\";}i:1;s:2:\"or\";}','s:31:\"CRM_Admin_Page_MessageTemplates\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:4:\"desc\";s:130:\"Message templates allow you to save and re-use messages with layouts which you can use when sending email to one or more contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (43,1,'civicrm/admin/messageTemplates/add',NULL,'Message Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:22:\"edit message templates\";i:1;s:34:\"edit user-driven message templates\";i:2;s:38:\"edit system workflow message templates\";}i:1;s:2:\"or\";}','s:31:\"CRM_Admin_Form_MessageTemplates\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:17:\"Message Templates\";s:3:\"url\";s:39:\"/civicrm/admin/messageTemplates?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,262,1,0,NULL,'a:1:{s:4:\"desc\";s:26:\"Add/Edit Message Templates\";}'),
- (44,1,'civicrm/admin/scheduleReminders',NULL,'Schedule Reminders','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCRM data\";i:1;s:15:\"edit all events\";}i:1;s:2:\"or\";}','s:32:\"CRM_Admin_Page_ScheduleReminders\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:2:{s:4:\"desc\";s:19:\"Schedule Reminders.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (45,1,'civicrm/admin/weight',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_Weight\";i:1;s:8:\"fixOrder\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (46,1,'civicrm/admin/options/preferred_communication_method',NULL,'Preferred Communication Methods','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:2:{s:4:\"desc\";s:117:\"One or more preferred methods of communication can be assigned to each contact. Customize the available options here.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (47,1,'civicrm/admin/labelFormats',NULL,'Label Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_LabelFormats\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:2:{s:4:\"desc\";s:67:\"Configure Label Formats that are used when creating mailing labels.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (48,1,'civicrm/admin/pdfFormats',NULL,'Print Page (PDF) Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_PdfFormats\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:2:{s:4:\"desc\";s:95:\"Configure PDF Page Formats that can be assigned to Message Templates when creating PDF letters.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (49,1,'civicrm/admin/options/communication_style',NULL,'Communication Style Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,75,1,0,NULL,'a:2:{s:4:\"desc\";s:42:\"Options for Communication Style selection.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (50,1,'civicrm/admin/options/email_greeting',NULL,'Email Greeting Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:2:{s:4:\"desc\";s:75:\"Options for assigning email greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (51,1,'civicrm/admin/options/postal_greeting',NULL,'Postal Greeting Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:2:{s:4:\"desc\";s:76:\"Options for assigning postal greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (52,1,'civicrm/admin/options/addressee',NULL,'Addressee Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:2:{s:4:\"desc\";s:83:\"Options for assigning addressee to individual, household and organization contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (53,1,'civicrm/admin/setting/localization',NULL,'Languages, Currency, Locations','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Admin_Form_Setting_Localization\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:12:\"Localization\";}'),
- (54,1,'civicrm/admin/setting/preferences/address',NULL,'Address Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Address\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:12:\"Localization\";}'),
- (55,1,'civicrm/admin/setting/date',NULL,'Date Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Date\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:12:\"Localization\";}'),
- (56,1,'civicrm/admin/options/languages',NULL,'Preferred Languages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:2:{s:4:\"desc\";s:30:\"Options for contact languages.\";s:10:\"adminGroup\";s:12:\"Localization\";}'),
- (57,1,'civicrm/admin/access',NULL,'Access Control','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Admin_Page_Access\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:73:\"Grant or deny access to actions (view, edit...), features and components.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";}'),
- (58,1,'civicrm/admin/access/wp-permissions',NULL,'WordPress Access Control','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_ACL_Form_WordPress_Permissions\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:14:\"Access Control\";s:3:\"url\";s:29:\"/civicrm/admin/access?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:1:{s:4:\"desc\";s:65:\"Grant access to CiviCRM components and other CiviCRM permissions.\";}'),
- (59,1,'civicrm/admin/synchUser',NULL,'Synchronize Users to Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_CMSUser\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:4:\"desc\";s:71:\"Automatically create a CiviCRM contact record for each CMS user record.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";}'),
- (60,1,'civicrm/admin/configtask',NULL,'Configuration Checklist','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Page_ConfigTaskList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}','civicrm/admin/configtask',NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:55:\"List of configuration tasks with links to each setting.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (61,1,'civicrm/admin/setting/component',NULL,'Enable CiviCRM Components','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Form_Setting_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:269:\"Enable or disable components (e.g. CiviEvent, CiviMember, etc.) for your site based on the features you need. We recommend disabling any components not being used in order to simplify the user interface. You can easily re-enable components at any time from this screen.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (62,1,'civicrm/admin/extensions',NULL,'Manage Extensions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_Extensions\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,120,1,0,NULL,'a:2:{s:4:\"desc\";s:0:\"\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (63,1,'civicrm/admin/extensions/upgrade',NULL,'Database Upgrades','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Page_ExtensionsUpgrade\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:17:\"Manage Extensions\";s:3:\"url\";s:33:\"/civicrm/admin/extensions?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (64,1,'civicrm/admin/setting/smtp',NULL,'Outbound Email Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Smtp\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (65,1,'civicrm/admin/paymentProcessor',NULL,'Settings - Payment Processor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:29:\"administer payment processors\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Page_PaymentProcessor\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Payment Processor setup for CiviCRM transactions\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (66,1,'civicrm/admin/setting/mapping',NULL,'Mapping and Geocoding','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Admin_Form_Setting_Mapping\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (67,1,'civicrm/admin/setting/misc',NULL,'Misc (Undelete, PDFs, Limits, Logging, etc.)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Admin_Form_Setting_Miscellaneous\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:2:{s:4:\"desc\";s:63:\"Enable undelete/move to trash feature, detailed change logging.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (68,1,'civicrm/admin/setting/path',NULL,'Directories','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Path\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (69,1,'civicrm/admin/setting/url',NULL,'Resource URLs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Form_Setting_Url\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (70,1,'civicrm/admin/setting/updateConfigBackend',NULL,'Cleanup Caches and Update Paths','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Admin_Form_Setting_UpdateConfigBackend\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:2:{s:4:\"desc\";s:157:\"Reset the Base Directory Path and Base URL settings - generally when a CiviCRM site is moved to another location in the file system and/or to another domain.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (71,1,'civicrm/admin/setting/uf',NULL,'CMS Database Integration','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Form_Setting_UF\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (72,1,'civicrm/admin/options/safe_file_extension',NULL,'Safe File Extension Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:2:{s:4:\"desc\";s:44:\"File Extensions that can be considered safe.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (73,1,'civicrm/admin/options',NULL,'Option Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,105,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Access all meta-data option groups.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (74,1,'civicrm/admin/mapping',NULL,'Import/Export Mappings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Mapping\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,110,1,0,NULL,'a:2:{s:4:\"desc\";s:141:\"Import and Export mappings allow you to easily run the same job multiple times. This option allows you to rename or delete existing mappings.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (75,1,'civicrm/admin/setting/debug',NULL,'Debugging','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Form_Setting_Debugging\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,120,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (76,1,'civicrm/admin/setting/preferences/multisite',NULL,'Multi Site Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,130,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (77,1,'civicrm/admin/setting/preferences/campaign',NULL,'CiviCampaign Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:3:{s:4:\"desc\";s:40:\"Configure global CiviCampaign behaviors.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (78,1,'civicrm/admin/setting/preferences/event',NULL,'CiviEvent Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:2:{s:4:\"desc\";s:37:\"Configure global CiviEvent behaviors.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
- (79,1,'civicrm/admin/setting/preferences/mailing',NULL,'CiviMail Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Mailing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:2:{s:4:\"desc\";s:36:\"Configure global CiviMail behaviors.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
- (80,1,'civicrm/admin/setting/preferences/member',NULL,'CiviMember Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Admin_Form_Preferences_Member\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:38:\"Configure global CiviMember behaviors.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),
- (81,1,'civicrm/admin/runjobs',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_System\";i:1;s:20:\"executeScheduledJobs\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:36:\"URL used for running scheduled jobs.\";}'),
- (82,1,'civicrm/admin/job',NULL,'Scheduled Jobs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:18:\"CRM_Admin_Page_Job\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1370,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Managing periodially running tasks.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (83,1,'civicrm/admin/joblog',NULL,'Scheduled Jobs Log','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:21:\"CRM_Admin_Page_JobLog\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1380,1,0,NULL,'a:2:{s:4:\"desc\";s:46:\"Browsing the log of periodially running tasks.\";s:10:\"adminGroup\";s:6:\"Manage\";}'),
- (84,1,'civicrm/admin/options/grant_type',NULL,'Grant Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,385,1,0,NULL,'a:2:{s:4:\"desc\";s:148:\"List of types which can be assigned to Grants. (Enable CiviGrant from Administer > Systme Settings > Enable Components if you want to track grants.)\";s:10:\"adminGroup\";s:12:\"Option Lists\";}'),
- (85,1,'civicrm/admin/paymentProcessorType',NULL,'Payment Processor Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Admin_Page_PaymentProcessorType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:1:{s:4:\"desc\";s:34:\"Payment Processor type information\";}'),
- (86,1,'civicrm/admin',NULL,'Administer CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_Admin_Page_Admin\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,9000,1,1,NULL,'a:0:{}'),
- (87,1,'civicrm/ajax/navmenu',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:7:\"navMenu\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (88,1,'civicrm/ajax/menutree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:8:\"menuTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
- (89,1,'civicrm/ajax/statusmsg',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:12:\"getStatusMsg\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (90,1,'civicrm/admin/price',NULL,'Price Sets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";s:10:\"adminGroup\";s:9:\"Customize\";}'),
- (91,1,'civicrm/admin/price/add','action=add','New Price Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";}'),
- (92,1,'civicrm/admin/price/field',NULL,'Price Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:20:\"CRM_Price_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,0,'a:0:{}'),
- (93,1,'civicrm/admin/price/field/option',NULL,'Price Field Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:21:\"CRM_Price_Page_Option\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (94,1,'civicrm/ajax/mapping',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:11:\"mappingList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (95,1,'civicrm/ajax/recipientListing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:16:\"recipientListing\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (96,1,'civicrm/admin/sms/provider',NULL,'Sms Providers','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_SMS_Page_Provider\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,500,1,0,NULL,'a:2:{s:4:\"desc\";s:27:\"To configure a sms provider\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (97,1,'civicrm/sms/send',NULL,'New Mass SMS','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:8:\"send SMS\";}i:1;s:3:\"and\";}','s:23:\"CRM_SMS_Controller_Send\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,610,1,1,NULL,'a:0:{}'),
- (98,1,'civicrm/sms/callback',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_SMS_Page_Callback\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (99,1,'civicrm/admin/badgelayout','action=browse','Event Name Badge Layouts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Badge_Page_Layout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,399,1,0,NULL,'a:2:{s:4:\"desc\";s:107:\"Configure name badge layouts for event participants, including logos and what data to include on the badge.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
- (100,1,'civicrm/admin/badgelayout/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Badge_Form_Layout\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:24:\"Event Name Badge Layouts\";s:3:\"url\";s:52:\"/civicrm/admin/badgelayout?reset=1&amp;action=browse\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (101,1,'civicrm/ajax/jqState',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:7:\"jqState\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (102,1,'civicrm/ajax/jqCounty',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:8:\"jqCounty\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (103,1,'civicrm/profile',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Profile_Page_Router\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (104,1,'civicrm/profile/create',NULL,'CiviCRM Profile Create','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Profile_Page_Router\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (105,1,'civicrm/profile/view',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Profile_Page_View\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (106,1,'civicrm/custom/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Custom_Form_CustomData\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (107,1,'civicrm/ajax/optionlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:13:\"getOptionList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (108,1,'civicrm/ajax/reorder',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:11:\"fixOrdering\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (109,1,'civicrm/ajax/multirecordfieldlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:23:\"getMultiRecordFieldList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (110,1,'civicrm/upgrade',NULL,'Upgrade CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Upgrade_Page_Upgrade\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (111,1,'civicrm/export',NULL,'Download Errors','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Export_BAO_Export\";i:1;s:6:\"invoke\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (112,1,'civicrm/export/contact',NULL,'Export Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Export_BAO_Export\";i:1;s:6:\"invoke\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Download Errors\";s:3:\"url\";s:23:\"/civicrm/export?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),
- (113,1,'civicrm/export/standalone',NULL,'Export','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Export_Controller_Standalone\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Download Errors\";s:3:\"url\";s:23:\"/civicrm/export?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (114,1,'civicrm/admin/options/acl_role',NULL,'ACL Roles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (115,1,'civicrm/acl',NULL,'Manage ACLs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_ACL_Page_ACL\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (116,1,'civicrm/acl/entityrole',NULL,'Assign Users to ACL Roles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_ACL_Page_EntityRole\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"Manage ACLs\";s:3:\"url\";s:20:\"/civicrm/acl?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (117,1,'civicrm/acl/basic',NULL,'ACL','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_ACL_Page_ACLBasic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"Manage ACLs\";s:3:\"url\";s:20:\"/civicrm/acl?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (118,1,'civicrm/file',NULL,'Browse Uploaded files','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access uploaded files\";}i:1;s:3:\"and\";}','s:18:\"CRM_Core_Page_File\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (119,1,'civicrm/file/delete',NULL,'Delete File','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:17:\"CRM_Core_BAO_File\";i:1;s:16:\"deleteAttachment\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:21:\"Browse Uploaded files\";s:3:\"url\";s:21:\"/civicrm/file?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (120,1,'civicrm/friend',NULL,'Tell a Friend','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:15:\"CRM_Friend_Form\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (121,1,'civicrm/logout',NULL,'Log out','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_System\";i:1;s:6:\"logout\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,9999,1,1,NULL,'a:0:{}'),
- (122,1,'civicrm/i18n',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"translate CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Core_I18n_Form\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (123,1,'civicrm/ajax/attachment',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access AJAX API\";}i:1;s:2:\"or\";}','a:2:{i:0;s:29:\"CRM_Core_Page_AJAX_Attachment\";i:1;s:10:\"attachFile\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (124,1,'civicrm/api',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Core_Page_Redirect\";','s:16:\"url=civicrm/api3\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (125,1,'civicrm/api3',NULL,'CiviCRM API v3','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Page_APIExplorer\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (126,1,'civicrm/ajax/apiexample',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:26:\"CRM_Admin_Page_APIExplorer\";i:1;s:14:\"getExampleFile\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (127,1,'civicrm/ajax/apidoc',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:26:\"CRM_Admin_Page_APIExplorer\";i:1;s:6:\"getDoc\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (128,1,'civicrm/ajax/rest',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access AJAX API\";}i:1;s:2:\"or\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:4:\"ajax\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (129,1,'civicrm/api/json',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:8:\"ajaxJson\";}','s:16:\"url=civicrm/api3\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (130,1,'civicrm/inline',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:12:\"loadTemplate\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (131,1,'civicrm/ajax/chart',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_ContributionCharts\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (132,1,'civicrm/asset/builder',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','a:2:{i:0;s:23:\"\\Civi\\Core\\AssetBuilder\";i:1;s:7:\"pageRun\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (133,1,'civicrm/contribute/ajax/tableview',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contribute_Page_DashBoard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (134,1,'civicrm/payment/ipn',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Core_Payment\";i:1;s:9:\"handleIPN\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (135,1,'civicrm/batch',NULL,'Batch Data Entry','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Page_Batch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (136,1,'civicrm/batch/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Form_Batch\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Batch Data Entry\";s:3:\"url\";s:22:\"/civicrm/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (137,1,'civicrm/batch/entry',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Form_Entry\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Batch Data Entry\";s:3:\"url\";s:22:\"/civicrm/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (138,1,'civicrm/ajax/batch',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Batch_Page_AJAX\";i:1;s:9:\"batchSave\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (139,1,'civicrm/ajax/batchlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Batch_Page_AJAX\";i:1;s:12:\"getBatchList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (140,1,'civicrm/ajax/inline',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Core_Page_AJAX\";i:1;s:3:\"run\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (141,1,'civicrm/dev/qunit',NULL,'QUnit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:19:\"CRM_Core_Page_QUnit\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (142,1,'civicrm/profile-editor/schema',NULL,'ProfileEditor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:25:\"CRM_UF_Page_ProfileEditor\";i:1;s:13:\"getSchemaJSON\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (143,1,'civicrm/a',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"\\Civi\\Angular\\Page\\Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (144,1,'civicrm/ajax/angular-modules',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:26:\"\\Civi\\Angular\\Page\\Modules\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (145,1,'civicrm/ajax/recurringentity/update-mode',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:34:\"CRM_Core_Page_AJAX_RecurringEntity\";i:1;s:10:\"updateMode\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (146,1,'civicrm/recurringentity/preview',NULL,'Confirm dates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Core_Page_RecurringEntityPreview\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (147,1,'civicrm/shortcode',NULL,'Insert CiviCRM Content','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Core_Form_ShortCode\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (148,1,'civicrm/task/add-to-group',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contact_Form_Task_AddToGroup\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (149,1,'civicrm/task/remove-from-group',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contact_Form_Task_RemoveFromGroup\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (150,1,'civicrm/task/add-to-tag',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Contact_Form_Task_AddToTag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (151,1,'civicrm/task/remove-from-tag',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Contact_Form_Task_RemoveFromTag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (152,1,'civicrm/task/send-email',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (153,1,'civicrm/task/make-mailing-label',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Label\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (154,1,'civicrm/task/pick-profile',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Contact_Form_Task_PickProfile\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (155,1,'civicrm/task/print-document',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_PDF\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (156,1,'civicrm/task/unhold-email',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Form_Task_Unhold\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (157,1,'civicrm/task/alter-contact-preference',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contact_Form_Task_AlterPreferences\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (158,1,'civicrm/task/delete-contact',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Form_Task_Delete\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (159,1,'civicrm',NULL,'CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_DashBoard\";',NULL,'a:0:{}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),
- (160,1,'civicrm/dashboard',NULL,'CiviCRM Home','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,1,NULL,'a:0:{}'),
- (161,1,'civicrm/contact/search',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,10,1,1,NULL,'a:0:{}'),
- (162,1,'civicrm/contact/image',NULL,'Process Uploaded Images','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access uploaded files\";}i:1;s:3:\"and\";}','a:2:{i:0;s:23:\"CRM_Contact_BAO_Contact\";i:1;s:12:\"processImage\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (163,1,'civicrm/contact/imagefile',NULL,'Get Image File','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_ImageFile\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (164,1,'civicrm/contact/search/basic',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (165,1,'civicrm/contact/search/advanced',NULL,'Advanced Search','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=512\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,12,1,1,NULL,'a:0:{}'),
- (166,1,'civicrm/contact/search/builder',NULL,'Search Builder','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:9:\"mode=8192\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,14,1,1,NULL,'a:0:{}'),
- (167,1,'civicrm/contact/search/custom/list',NULL,'Custom Searches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Page_CustomSearch\";','s:10:\"mode=16384\";','a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:38:\"/civicrm/contact/search/custom?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,16,1,1,NULL,'a:0:{}'),
- (168,1,'civicrm/contact/add',NULL,'New Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (169,1,'civicrm/contact/add/individual','ct=Individual','New Individual','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (170,1,'civicrm/contact/add/household','ct=Household','New Household','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (171,1,'civicrm/contact/add/organization','ct=Organization','New Organization','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (172,1,'civicrm/contact/relatedcontact',NULL,'Edit Related Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"access Contact Dashboard\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contact_Form_RelatedContact\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (173,1,'civicrm/contact/merge',NULL,'Merge Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:22:\"CRM_Contact_Form_Merge\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (174,1,'civicrm/contact/email',NULL,'Email a Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (175,1,'civicrm/contact/map',NULL,'Map Location(s)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_Map\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (176,1,'civicrm/contact/map/event',NULL,'Map Event Location','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contact_Form_Task_Map_Event\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Map Location(s)\";s:3:\"url\";s:28:\"/civicrm/contact/map?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (177,1,'civicrm/contact/view','cid=%%cid%%','Contact Summary','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:29:\"CRM_Contact_Page_View_Summary\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (178,1,'civicrm/contact/view/delete',NULL,'Delete Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:28:\"CRM_Contact_Form_Task_Delete\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (179,1,'civicrm/contact/view/activity','show=1,cid=%%cid%%','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:21:\"CRM_Activity_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (180,1,'civicrm/activity/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Activity_Form_Activity\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (181,1,'civicrm/activity/email/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (182,1,'civicrm/activity/pdf/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_PDF\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (183,1,'civicrm/contact/view/rel','cid=%%cid%%','Relationships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contact_Page_View_Relationship\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (184,1,'civicrm/contact/view/group','cid=%%cid%%','Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contact_Page_View_GroupContact\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (185,1,'civicrm/contact/view/smartgroup','cid=%%cid%%','Smart Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:39:\"CRM_Contact_Page_View_ContactSmartGroup\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (186,1,'civicrm/contact/view/note','cid=%%cid%%','Notes','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:26:\"CRM_Contact_Page_View_Note\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (187,1,'civicrm/contact/view/tag','cid=%%cid%%','Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:25:\"CRM_Contact_Page_View_Tag\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (188,1,'civicrm/contact/view/cd',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:32:\"CRM_Contact_Page_View_CustomData\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (189,1,'civicrm/contact/view/cd/edit',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Form_CustomData\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (190,1,'civicrm/contact/view/vcard',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Page_View_Vcard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (191,1,'civicrm/contact/view/print',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Page_View_Print\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (192,1,'civicrm/contact/view/log',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:25:\"CRM_Contact_Page_View_Log\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (193,1,'civicrm/user',NULL,'Contact Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"access Contact Dashboard\";}i:1;s:3:\"and\";}','s:35:\"CRM_Contact_Page_View_UserDashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (194,1,'civicrm/dashlet/activity',NULL,'Activity Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Dashlet_Page_Activity\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (195,1,'civicrm/dashlet/blog',NULL,'CiviCRM Blog','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Dashlet_Page_Blog\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (196,1,'civicrm/dashlet/getting-started',NULL,'CiviCRM Resources','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Dashlet_Page_GettingStarted\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (197,1,'civicrm/ajax/relation',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:12:\"relationship\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
- (198,1,'civicrm/ajax/groupTree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"groupTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (199,1,'civicrm/ajax/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:11:\"customField\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (200,1,'civicrm/ajax/customvalue',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:17:\"deleteCustomValue\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
- (201,1,'civicrm/ajax/cmsuser',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"checkUserName\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (202,1,'civicrm/ajax/checkemail',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:15:\"getContactEmail\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (203,1,'civicrm/ajax/checkphone',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:15:\"getContactPhone\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (204,1,'civicrm/ajax/subtype',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"buildSubTypes\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (205,1,'civicrm/ajax/signature',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:12:\"getSignature\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (206,1,'civicrm/ajax/pdfFormat',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"pdfFormat\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (207,1,'civicrm/ajax/paperSize',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"paperSize\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (208,1,'civicrm/ajax/contactref',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:31:\"access contact reference fields\";i:1;s:15:\" access CiviCRM\";}i:1;s:2:\"or\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:16:\"contactReference\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (209,1,'civicrm/dashlet/myCases',NULL,'Case Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Dashlet_Page_MyCases\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (210,1,'civicrm/dashlet/allCases',NULL,'All Cases Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','s:25:\"CRM_Dashlet_Page_AllCases\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (211,1,'civicrm/dashlet/casedashboard',NULL,'Case Dashboard Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Dashlet_Page_CaseDashboard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (212,1,'civicrm/contact/deduperules',NULL,'Find and Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer dedupe rules\";i:1;s:24:\"merge duplicate contacts\";}i:1;s:2:\"or\";}','s:28:\"CRM_Contact_Page_DedupeRules\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,105,1,0,NULL,'a:2:{s:4:\"desc\";s:158:\"Manage the rules used to identify potentially duplicate contact records. Scan for duplicates using a selected rule and merge duplicate contact data as needed.\";s:10:\"adminGroup\";s:6:\"Manage\";}'),
- (213,1,'civicrm/contact/dedupefind',NULL,'Find and Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Page_DedupeFind\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (214,1,'civicrm/ajax/dedupefind',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:10:\"getDedupes\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (215,1,'civicrm/contact/dedupemerge',NULL,'Batch Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Page_DedupeMerge\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (216,1,'civicrm/dedupe/exception',NULL,'Dedupe Exceptions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contact_Page_DedupeException\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,110,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:6:\"Manage\";}'),
- (217,1,'civicrm/ajax/dedupeRules',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:16:\"buildDedupeRules\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (218,1,'civicrm/contact/view/useradd','cid=%%cid%%','Add User','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:29:\"CRM_Contact_Page_View_Useradd\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (219,1,'civicrm/ajax/markSelection',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:22:\"selectUnselectContacts\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (220,1,'civicrm/ajax/toggleDedupeSelect',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:18:\"toggleDedupeSelect\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (221,1,'civicrm/ajax/flipDupePairs',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"flipDupePairs\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (222,1,'civicrm/activity/sms/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:8:\"send SMS\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_SMS\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (223,1,'civicrm/ajax/contactrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"view my contact\";}i:1;s:2:\"or\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:23:\"getContactRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (224,1,'civicrm/ajax/api4',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Api4_Permission\";i:1;s:5:\"check\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Api4_Page_AJAX\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (225,1,'civicrm/api4',NULL,'CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Api4_Page_Api4Explorer\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (226,1,'civicrm/activity','action=add&context=standalone','New Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Activity_Form_Activity\";','s:14:\"attachUpload=1\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (227,1,'civicrm/activity/view',NULL,'View Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Form_ActivityView\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (228,1,'civicrm/ajax/activity',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:15:\"getCaseActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (229,1,'civicrm/ajax/globalrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:26:\"getCaseGlobalRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (230,1,'civicrm/ajax/clientrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:26:\"getCaseClientRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (231,1,'civicrm/ajax/caseroles',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:12:\"getCaseRoles\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (232,1,'civicrm/ajax/contactactivity',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:18:\"getContactActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (233,1,'civicrm/ajax/activity/convert',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:21:\"convertToCaseActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
- (234,1,'civicrm/activity/search',NULL,'Find Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Controller_Search\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (235,1,'civicrm/tag',NULL,'Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:16:\"CRM_Tag_Page_Tag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,25,1,0,NULL,'a:2:{s:4:\"desc\";s:158:\"Tags are useful for segmenting the contacts in your database into categories (e.g. Staff Member, Donor, Volunteer, etc.). Create and edit available tags here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (236,1,'civicrm/tag/edit','action=add','New Tag','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:17:\"CRM_Tag_Form_Edit\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:4:\"Tags\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (237,1,'civicrm/tag/merge',NULL,'Merge Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:18:\"CRM_Tag_Form_Merge\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:4:\"Tags\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (238,1,'civicrm/ajax/tagTree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:10:\"getTagTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (239,1,'civicrm/pcp',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Form_PCP\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (240,1,'civicrm/pcp/campaign',NULL,'Setup a Personal Campaign Page - Account Information','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (241,1,'civicrm/pcp/info',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_PCP_Page_PCPInfo\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (242,1,'civicrm/admin/pcp','context=contribute','Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Page_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,362,1,0,NULL,'a:2:{s:4:\"desc\";s:49:\"View and manage existing personal campaign pages.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
- (243,1,'civicrm/payment/form',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:26:\"CRM_Financial_Form_Payment\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (244,1,'civicrm/payment/edit',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:30:\"CRM_Financial_Form_PaymentEdit\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
- (245,1,'civicrm/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Custom_Form_CustomDataByType\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (246,1,'civicrm/event',NULL,'CiviEvent Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:24:\"CRM_Event_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,800,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviEvent\";}'),
- (247,1,'civicrm/participant/add','action=add','Register New Participant','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Event_Page_Tab\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:9:\"CiviEvent\";}'),
- (248,1,'civicrm/event/info',NULL,'Event Information','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:24:\"CRM_Event_Page_EventInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (249,1,'civicrm/event/register',NULL,'Event Registration','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Controller_Registration\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),
- (250,1,'civicrm/event/confirm',NULL,'Confirm Event Registration','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:46:\"CRM_Event_Form_Registration_ParticipantConfirm\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),
- (251,1,'civicrm/event/ical',NULL,'Current and Upcoming Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"view event info\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Event_ICalendar\";i:1;s:3:\"run\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (252,1,'civicrm/event/list',NULL,'Current and Upcoming Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"view event info\";}i:1;s:3:\"and\";}','s:19:\"CRM_Event_Page_List\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (253,1,'civicrm/event/participant',NULL,'Event Participants List','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"view event participants\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Page_ParticipantListing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (254,1,'civicrm/admin/event',NULL,'Manage Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:26:\"CRM_Event_Page_ManageEvent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:2:{s:4:\"desc\";s:136:\"Create and edit event configuration including times, locations, online registration forms, and fees. Links for iCal and RSS syndication.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
- (255,1,'civicrm/admin/eventTemplate',NULL,'Event Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Admin_Page_EventTemplate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,375,1,0,NULL,'a:2:{s:4:\"desc\";s:115:\"Administrators can create Event Templates - which are basically master event records pre-filled with default values\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
- (256,1,'civicrm/admin/options/event_type',NULL,'Event Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,385,1,0,NULL,'a:2:{s:4:\"desc\";s:143:\"Use Event Types to categorize your events. Event feeds can be filtered by Event Type and participant searches can use Event Type as a criteria.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
- (257,1,'civicrm/admin/participant_status',NULL,'Participant Status','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Admin_Page_ParticipantStatusType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:154:\"Define statuses for event participants here (e.g. Registered, Attended, Cancelled...). You can then assign statuses and search for participants by status.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
- (258,1,'civicrm/admin/options/participant_role',NULL,'Participant Role','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,395,1,0,NULL,'a:2:{s:4:\"desc\";s:138:\"Define participant roles for events here (e.g. Attendee, Host, Speaker...). You can then assign roles and search for participants by role.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
- (259,1,'civicrm/admin/options/participant_listing',NULL,'Participant Listing Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,398,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Template to control participant listing display.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
- (260,1,'civicrm/admin/options/conference_slot',NULL,'Conference Slot Labels','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,415,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Define conference slots and labels.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
- (261,1,'civicrm/event/search',NULL,'Find Participants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:27:\"CRM_Event_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,810,1,1,NULL,'a:0:{}'),
- (262,1,'civicrm/event/manage',NULL,'Manage Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:26:\"CRM_Event_Page_ManageEvent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,820,1,1,NULL,'a:0:{}'),
- (263,1,'civicrm/event/badge',NULL,'Print Event Name Badge','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:25:\"CRM_Event_Form_Task_Badge\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (264,1,'civicrm/event/manage/settings',NULL,'Event Info and Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Event_Form_ManageEvent_EventInfo\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,910,1,0,NULL,'a:0:{}'),
- (265,1,'civicrm/event/manage/location',NULL,'Event Location','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:35:\"CRM_Event_Form_ManageEvent_Location\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,930,1,0,NULL,'a:0:{}'),
- (266,1,'civicrm/event/manage/fee',NULL,'Event Fees','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:30:\"CRM_Event_Form_ManageEvent_Fee\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,920,1,0,NULL,'a:0:{}'),
- (267,1,'civicrm/event/manage/registration',NULL,'Event Online Registration','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:39:\"CRM_Event_Form_ManageEvent_Registration\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,930,1,0,NULL,'a:0:{}'),
- (268,1,'civicrm/event/manage/friend',NULL,'Tell a Friend','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:21:\"CRM_Friend_Form_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,940,1,0,NULL,'a:0:{}'),
- (269,1,'civicrm/event/manage/reminder',NULL,'Schedule Reminders','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:44:\"CRM_Event_Form_ManageEvent_ScheduleReminders\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,950,1,0,NULL,'a:0:{}'),
- (270,1,'civicrm/event/manage/repeat',NULL,'Repeat Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Form_ManageEvent_Repeat\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,960,1,0,NULL,'a:0:{}'),
- (271,1,'civicrm/event/manage/conference',NULL,'Conference Slots','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:37:\"CRM_Event_Form_ManageEvent_Conference\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,950,1,0,NULL,'a:0:{}'),
- (272,1,'civicrm/event/add','action=add','New Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Event_Form_ManageEvent_EventInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,830,1,0,NULL,'a:0:{}'),
- (273,1,'civicrm/event/import',NULL,'Import Participants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:23:\"edit event participants\";}i:1;s:3:\"and\";}','s:27:\"CRM_Event_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,840,1,1,NULL,'a:0:{}'),
- (274,1,'civicrm/event/price',NULL,'Manage Price Sets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,850,1,1,NULL,'a:0:{}'),
- (275,1,'civicrm/event/selfsvcupdate',NULL,'Self-service Registration Update','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Event_Form_SelfSvcUpdate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,880,1,1,NULL,'a:0:{}'),
- (276,1,'civicrm/event/selfsvctransfer',NULL,'Self-service Registration Transfer','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:30:\"CRM_Event_Form_SelfSvcTransfer\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,890,1,1,NULL,'a:0:{}'),
- (277,1,'civicrm/contact/view/participant',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:18:\"CRM_Event_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,4,1,0,NULL,'a:0:{}'),
- (278,1,'civicrm/ajax/eventFee',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Event_Page_AJAX\";i:1;s:8:\"eventFee\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (279,1,'civicrm/ajax/locBlock',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:11:\"getLocBlock\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (280,1,'civicrm/event/participant/feeselection',NULL,'Change Registration Selections','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:38:\"CRM_Event_Form_ParticipantFeeSelection\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:23:\"Event Participants List\";s:3:\"url\";s:34:\"/civicrm/event/participant?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (281,1,'civicrm/event/manage/pcp',NULL,'Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_PCP_Form_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,540,1,1,NULL,'a:0:{}'),
- (282,1,'civicrm/event/pcp',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Form_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (283,1,'civicrm/event/campaign',NULL,'Setup a Personal Campaign Page - Account Information','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (284,1,'civicrm/contribute',NULL,'CiviContribute Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contribute_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,500,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
- (285,1,'civicrm/contribute/add','action=add','New Contribution','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:23:\"CRM_Contribute_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
- (286,1,'civicrm/contribute/chart',NULL,'Contribution Summary - Chart View','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_ContributionCharts\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
- (287,1,'civicrm/contribute/transact',NULL,'CiviContribute','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Controller_Contribution\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,1,0,1,0,NULL,'a:0:{}'),
- (288,1,'civicrm/admin/contribute',NULL,'Manage Contribution Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Contribute_Page_ContributionPage\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,360,1,0,NULL,'a:2:{s:4:\"desc\";s:242:\"CiviContribute allows you to create and maintain any number of Online Contribution Pages. You can create different pages for different programs or campaigns - and customize text, amounts, types of information collected from contributors, etc.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
- (289,1,'civicrm/admin/contribute/settings',NULL,'Title and Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Form_ContributionPage_Settings\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:0:{}'),
- (290,1,'civicrm/admin/contribute/amount',NULL,'Contribution Amounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Amount\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,410,1,0,NULL,'a:0:{}'),
- (291,1,'civicrm/admin/contribute/membership',NULL,'Membership Section','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Member_Form_MembershipBlock\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:0:{}'),
- (292,1,'civicrm/admin/contribute/custom',NULL,'Include Profiles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Custom\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:0:{}'),
- (293,1,'civicrm/admin/contribute/thankyou',NULL,'Thank-you and Receipting','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Form_ContributionPage_ThankYou\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:0:{}'),
- (294,1,'civicrm/admin/contribute/friend',NULL,'Tell a Friend','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Friend_Form_Contribute\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,440,1,0,NULL,'a:0:{}'),
- (295,1,'civicrm/admin/contribute/widget',NULL,'Configure Widget','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Widget\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,460,1,0,NULL,'a:0:{}'),
- (296,1,'civicrm/admin/contribute/premium',NULL,'Premiums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:44:\"CRM_Contribute_Form_ContributionPage_Premium\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,470,1,0,NULL,'a:0:{}'),
- (297,1,'civicrm/admin/contribute/addProductToPage',NULL,'Add Products to This Page','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:47:\"CRM_Contribute_Form_ContributionPage_AddProduct\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,480,1,0,NULL,'a:0:{}'),
- (298,1,'civicrm/admin/contribute/add','action=add','New Contribution Page','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Contribute_Controller_ContributionPage\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (299,1,'civicrm/admin/contribute/managePremiums',NULL,'Manage Premiums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Contribute_Page_ManagePremiums\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,365,1,0,NULL,'a:2:{s:4:\"desc\";s:175:\"CiviContribute allows you to configure any number of Premiums which can be offered to contributors as incentives / thank-you gifts. Define the premiums you want to offer here.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
- (300,1,'civicrm/admin/financial/financialType',NULL,'Financial Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Financial_Page_FinancialType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,580,1,0,NULL,'a:2:{s:4:\"desc\";s:64:\"Formerly civicrm_contribution_type merged into this table in 4.1\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
- (301,1,'civicrm/payment','action=add','New Payment','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contribute_Form_AdditionalPayment\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
- (302,1,'civicrm/admin/financial/financialAccount',NULL,'Financial Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Financial_Page_FinancialAccount\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:2:{s:4:\"desc\";s:128:\"Financial types are used to categorize contributions for reporting and accounting purposes. These are also referred to as Funds.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
- (303,1,'civicrm/admin/options/payment_instrument',NULL,'Payment Methods','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:4:\"desc\";s:224:\"You may choose to record the payment instrument used for each contribution. Common payment methods are installed by default (e.g. Check, Cash, Credit Card...). If your site requires additional payment methods, add them here.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
- (304,1,'civicrm/admin/options/accept_creditcard',NULL,'Accepted Credit Cards','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,395,1,0,NULL,'a:2:{s:4:\"desc\";s:94:\"Credit card options that will be offered to contributors using your Online Contribution pages.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
- (305,1,'civicrm/admin/options/soft_credit_type',NULL,'Soft Credit Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:86:\"Soft Credit Types that will be offered to contributors during soft credit contribution\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
- (306,1,'civicrm/contact/view/contribution',NULL,'Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:23:\"CRM_Contribute_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (307,1,'civicrm/contact/view/contributionrecur',NULL,'Recurring Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:37:\"CRM_Contribute_Page_ContributionRecur\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (308,1,'civicrm/contact/view/contribution/additionalinfo',NULL,'Additional Info','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contribute_Form_AdditionalInfo\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}i:2;a:2:{s:5:\"title\";s:13:\"Contributions\";s:3:\"url\";s:42:\"/civicrm/contact/view/contribution?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (309,1,'civicrm/contribute/search',NULL,'Find Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,510,1,1,NULL,'a:0:{}'),
- (310,1,'civicrm/contribute/searchBatch',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contribute_Controller_SearchBatch\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,588,1,1,NULL,'a:0:{}'),
- (311,1,'civicrm/contribute/import',NULL,'Import Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:21:\"access CiviContribute\";i:1;s:18:\"edit contributions\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,520,1,1,NULL,'a:0:{}'),
- (312,1,'civicrm/contribute/manage',NULL,'Manage Contribution Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:36:\"CRM_Contribute_Page_ContributionPage\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,530,1,1,NULL,'a:0:{}'),
- (313,1,'civicrm/contribute/additionalinfo',NULL,'AdditionalInfo Form','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:34:\"CRM_Contribute_Form_AdditionalInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),
- (314,1,'civicrm/ajax/permlocation',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:23:\"getPermissionedLocation\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (315,1,'civicrm/contribute/unsubscribe',NULL,'Cancel Subscription','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_CancelSubscription\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (316,1,'civicrm/contribute/onbehalf',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_Contribution_OnBehalfOf\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (317,1,'civicrm/contribute/updatebilling',NULL,'Update Billing Details','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:33:\"CRM_Contribute_Form_UpdateBilling\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (318,1,'civicrm/contribute/updaterecur',NULL,'Update Subscription','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_UpdateSubscription\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (319,1,'civicrm/contribute/subscriptionstatus',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Page_SubscriptionStatus\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (320,1,'civicrm/admin/financial/financialType/accounts',NULL,'Financial Type Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:39:\"CRM_Financial_Page_FinancialTypeAccount\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:15:\"Financial Types\";s:3:\"url\";s:46:\"/civicrm/admin/financial/financialType?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,581,1,0,NULL,'a:0:{}'),
- (321,1,'civicrm/financial/batch',NULL,'Accounting Batch','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"create manual batch\";}i:1;s:3:\"and\";}','s:33:\"CRM_Financial_Page_FinancialBatch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,585,1,0,NULL,'a:0:{}'),
- (322,1,'civicrm/financial/financialbatches',NULL,'Accounting Batches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Financial_Page_Batch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,586,1,0,NULL,'a:0:{}'),
- (323,1,'civicrm/batchtransaction',NULL,'Accounting Batch','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Financial_Page_BatchTransaction\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,600,1,0,NULL,'a:0:{}'),
- (324,1,'civicrm/financial/batch/export',NULL,'Accounting Batch Export','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"create manual batch\";}i:1;s:3:\"and\";}','s:25:\"CRM_Financial_Form_Export\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Accounting Batch\";s:3:\"url\";s:32:\"/civicrm/financial/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,610,1,0,NULL,'a:0:{}'),
- (325,1,'civicrm/payment/view','action=view','View Payment','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contribute_Page_PaymentInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
- (326,1,'civicrm/admin/setting/preferences/contribute',NULL,'CiviContribute Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:21:\"access CiviContribute\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:37:\"CRM_Admin_Form_Preferences_Contribute\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:42:\"Configure global CiviContribute behaviors.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
- (327,1,'civicrm/contribute/invoice',NULL,'PDF Invoice','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:20:\"checkDownloadInvoice\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Contribute_Form_Task_Invoice\";i:1;s:11:\"getPrintPDF\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,620,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
- (328,1,'civicrm/contribute/invoice/email',NULL,'Email Invoice','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:20:\"checkDownloadInvoice\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Form_Task_Invoice\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"PDF Invoice\";s:3:\"url\";s:35:\"/civicrm/contribute/invoice?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,630,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
- (329,1,'civicrm/ajax/softcontributionlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:24:\"CRM_Contribute_Page_AJAX\";i:1;s:23:\"getSoftContributionRows\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (330,1,'civicrm/contribute/contributionrecur-payments',NULL,'Recurring Contribution\'s Payments','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Page_ContributionRecurPayments\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (331,1,'civicrm/membership/recurring-contributions',NULL,'Membership Recurring Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:38:\"CRM_Member_Page_RecurringContributions\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (332,1,'civicrm/contribute/widget',NULL,'CiviContribute','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contribute_Page_Widget\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (333,1,'civicrm/contribute/task',NULL,'Contribution Task','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:30:\"CRM_Contribute_Controller_Task\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (334,1,'civicrm/admin/contribute/pcp',NULL,'Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_PCP_Form_Contribute\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,450,1,0,NULL,'a:0:{}'),
- (335,1,'civicrm/contribute/campaign',NULL,'Setup a Personal Campaign Page - Account Information','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (336,1,'civicrm/member',NULL,'CiviMember Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:25:\"CRM_Member_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,700,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviMember\";}'),
- (337,1,'civicrm/member/add','action=add','New Membership','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:19:\"CRM_Member_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:10:\"CiviMember\";}'),
- (338,1,'civicrm/admin/member/membershipType',NULL,'Membership Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Page_MembershipType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:2:{s:4:\"desc\";s:174:\"Define the types of memberships you want to offer. For each type, you can specify a \'name\' (Gold Member, Honor Society Member...), a description, duration, and a minimum fee.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),
- (339,1,'civicrm/admin/member/membershipStatus',NULL,'Membership Status Rules','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Member_Page_MembershipStatus\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:4:\"desc\";s:187:\"Status \'rules\' define the current status for a membership based on that membership\'s start and end dates. You can adjust the default status options and rules as needed to meet your needs.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),
- (340,1,'civicrm/contact/view/membership','force=1,cid=%%cid%%','Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:19:\"CRM_Member_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,2,1,0,NULL,'a:0:{}'),
- (341,1,'civicrm/membership/view',NULL,'Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Form_MembershipView\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,390,1,0,NULL,'a:0:{}'),
- (342,1,'civicrm/member/search',NULL,'Find Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:28:\"CRM_Member_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,710,1,1,NULL,'a:0:{}'),
- (343,1,'civicrm/member/import',NULL,'Import Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:16:\"edit memberships\";}i:1;s:3:\"and\";}','s:28:\"CRM_Member_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,720,1,1,NULL,'a:0:{}'),
- (344,1,'civicrm/ajax/memType',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Member_Page_AJAX\";i:1;s:21:\"getMemberTypeDefaults\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (345,1,'civicrm/admin/member/membershipType/add',NULL,'Membership Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Form_MembershipType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:16:\"Membership Types\";s:3:\"url\";s:44:\"/civicrm/admin/member/membershipType?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (346,1,'civicrm/mailing',NULL,'CiviMail','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:8:\"send SMS\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,600,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviMail\";}'),
- (347,1,'civicrm/admin/mail',NULL,'Mailer Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Mail\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:61:\"Configure spool period, throttling and other mailer settings.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
- (348,1,'civicrm/admin/component',NULL,'Headers, Footers, and Automated Messages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Page_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,410,1,0,NULL,'a:2:{s:4:\"desc\";s:143:\"Configure the header and footer used for mailings. Customize the content of automated Subscribe, Unsubscribe, Resubscribe and Opt-out messages.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
- (349,1,'civicrm/admin/options/from_email_address/civimail',NULL,'From Email Addresses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:4:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}i:3;a:2:{s:5:\"title\";s:20:\"From Email Addresses\";s:3:\"url\";s:49:\"/civicrm/admin/options/from_email_address?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,415,1,0,NULL,'a:2:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
- (350,1,'civicrm/admin/mailSettings',NULL,'Mail Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_MailSettings\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:2:{s:4:\"desc\";s:32:\"Configure email account setting.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
- (351,1,'civicrm/mailing/send',NULL,'New Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:27:\"CRM_Mailing_Controller_Send\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,610,1,1,NULL,'a:0:{}'),
- (352,1,'civicrm/mailing/browse/scheduled','scheduled=true','Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:5:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";i:2;s:15:\"create mailings\";i:3;s:17:\"schedule mailings\";i:4;s:8:\"send SMS\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,620,1,1,NULL,'a:0:{}'),
- (353,1,'civicrm/mailing/browse/unscheduled','scheduled=false','Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,620,1,1,NULL,'a:0:{}'),
- (354,1,'civicrm/mailing/browse/archived',NULL,'Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,625,1,1,NULL,'a:0:{}'),
- (355,1,'civicrm/mailing/component',NULL,'Headers, Footers, and Automated Messages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Page_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,630,1,1,NULL,'a:0:{}'),
- (356,1,'civicrm/mailing/unsubscribe',NULL,'Unsubscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:28:\"CRM_Mailing_Form_Unsubscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,640,1,0,NULL,'a:0:{}'),
- (357,1,'civicrm/mailing/resubscribe',NULL,'Resubscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:28:\"CRM_Mailing_Page_Resubscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,645,1,0,NULL,'a:0:{}'),
- (358,1,'civicrm/mailing/optout',NULL,'Opt-out','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:23:\"CRM_Mailing_Form_Optout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,650,1,0,NULL,'a:0:{}'),
- (359,1,'civicrm/mailing/confirm',NULL,'Confirm','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:24:\"CRM_Mailing_Page_Confirm\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,660,1,0,NULL,'a:0:{}'),
- (360,1,'civicrm/mailing/subscribe',NULL,'Subscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Form_Subscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,660,1,0,NULL,'a:0:{}'),
- (361,1,'civicrm/mailing/preview',NULL,'Preview Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";i:2;s:15:\"create mailings\";i:3;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:24:\"CRM_Mailing_Page_Preview\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,670,1,0,NULL,'a:0:{}'),
- (362,1,'civicrm/mailing/report','mid=%%mid%%','Mailing Report','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Report\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,680,1,0,NULL,'a:0:{}'),
- (363,1,'civicrm/mailing/forward',NULL,'Forward Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:31:\"CRM_Mailing_Form_ForwardMailing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,685,1,0,NULL,'a:0:{}'),
- (364,1,'civicrm/mailing/queue',NULL,'Sending Mail','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,690,1,0,NULL,'a:0:{}'),
- (365,1,'civicrm/mailing/report/event',NULL,'Mailing Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:22:\"CRM_Mailing_Page_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}i:2;a:2:{s:5:\"title\";s:14:\"Mailing Report\";s:3:\"url\";s:47:\"/civicrm/mailing/report?reset=1&amp;mid=%%mid%%\";}}',NULL,NULL,4,NULL,NULL,NULL,0,695,1,0,NULL,'a:0:{}'),
- (366,1,'civicrm/ajax/template',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:8:\"template\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (367,1,'civicrm/mailing/view',NULL,'View Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:28:\"view public CiviMail content\";i:1;s:15:\"access CiviMail\";i:2;s:16:\"approve mailings\";}i:1;s:2:\"or\";}','s:21:\"CRM_Mailing_Page_View\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,800,1,0,NULL,'a:0:{}'),
- (368,1,'civicrm/mailing/approve',NULL,'Approve Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";}i:1;s:2:\"or\";}','s:24:\"CRM_Mailing_Form_Approve\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,850,1,0,NULL,'a:0:{}'),
- (369,1,'civicrm/contact/view/mailing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:20:\"CRM_Mailing_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (370,1,'civicrm/ajax/contactmailing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:18:\"getContactMailings\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (371,1,'civicrm/ajax/setupMailAccount',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:5:\"setup\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (372,1,'civicrm/mailing/url',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:20:\"CRM_Mailing_Page_Url\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (373,1,'civicrm/mailing/open',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:21:\"CRM_Mailing_Page_Open\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (374,1,'civicrm/grant',NULL,'CiviGrant Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:24:\"CRM_Grant_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,1000,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviGrant\";}'),
- (375,1,'civicrm/grant/info',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:24:\"CRM_Grant_Page_DashBoard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviGrant Dashboard\";s:3:\"url\";s:22:\"/civicrm/grant?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),
- (376,1,'civicrm/grant/search',NULL,'Find Grants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:27:\"CRM_Grant_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviGrant Dashboard\";s:3:\"url\";s:22:\"/civicrm/grant?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,1010,1,1,NULL,'a:0:{}'),
- (377,1,'civicrm/grant/add','action=add','New Grant','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:18:\"CRM_Grant_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviGrant Dashboard\";s:3:\"url\";s:22:\"/civicrm/grant?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviGrant\";}'),
- (378,1,'civicrm/contact/view/grant',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:18:\"CRM_Grant_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (379,1,'civicrm/pledge',NULL,'CiviPledge Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:25:\"CRM_Pledge_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,550,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviPledge\";}'),
- (380,1,'civicrm/pledge/search',NULL,'Find Pledges','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:28:\"CRM_Pledge_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,560,1,1,NULL,'a:0:{}'),
- (381,1,'civicrm/contact/view/pledge','force=1,cid=%%cid%%','Pledges','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:19:\"CRM_Pledge_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,570,1,0,NULL,'a:0:{}'),
- (382,1,'civicrm/pledge/add','action=add','New Pledge','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:19:\"CRM_Pledge_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviPledge\";}'),
- (383,1,'civicrm/pledge/payment',NULL,'Pledge Payments','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:23:\"CRM_Pledge_Page_Payment\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,580,1,0,NULL,'a:0:{}'),
- (384,1,'civicrm/ajax/pledgeAmount',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviPledge\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Pledge_Page_AJAX\";i:1;s:17:\"getPledgeDefaults\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (385,1,'civicrm/case',NULL,'CiviCase Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Case_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,900,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviCase\";}'),
- (386,1,'civicrm/case/add',NULL,'Open Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Case_Form_Case\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviCase\";}'),
- (387,1,'civicrm/case/search',NULL,'Find Cases','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Case_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,910,1,1,NULL,'a:0:{}'),
- (388,1,'civicrm/case/activity',NULL,'Case Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Case_Form_Activity\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (389,1,'civicrm/case/report',NULL,'Case Activity Audit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','s:20:\"CRM_Case_Form_Report\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (390,1,'civicrm/case/cd/edit',NULL,'Case Custom Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Case_Form_CustomData\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (391,1,'civicrm/contact/view/case',NULL,'Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:17:\"CRM_Case_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (392,1,'civicrm/case/activity/view',NULL,'Activity View','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Case_Form_ActivityView\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Case Activity\";s:3:\"url\";s:30:\"/civicrm/case/activity?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (393,1,'civicrm/contact/view/case/editClient',NULL,'Assign to Another Client','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:24:\"CRM_Case_Form_EditClient\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}i:2;a:2:{s:5:\"title\";s:4:\"Case\";s:3:\"url\";s:34:\"/civicrm/contact/view/case?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (394,1,'civicrm/case/addToCase',NULL,'File on Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Case_Form_ActivityToCase\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (395,1,'civicrm/case/details',NULL,'Case Details','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Case_Page_CaseDetails\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (396,1,'civicrm/admin/setting/case',NULL,'CiviCase Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Case\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
- (397,1,'civicrm/admin/options/case_type',NULL,'Case Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Core_Page_Redirect\";','s:24:\"url=civicrm/a/#/caseType\";','a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:137:\"List of types which can be assigned to Cases. (Enable the Cases tab from System Settings - Enable Components if you want to track cases.)\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
- (398,1,'civicrm/admin/options/redaction_rule',NULL,'Redaction Rules','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:223:\"List of rules which can be applied to user input strings so that the redacted output can be recognized as repeated instances of the same string or can be identified as a \"semantic type of the data element\" within case data.\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
- (399,1,'civicrm/admin/options/case_status',NULL,'Case Statuses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"List of statuses that can be assigned to a case.\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
- (400,1,'civicrm/admin/options/encounter_medium',NULL,'Encounter Mediums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:26:\"List of encounter mediums.\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
- (401,1,'civicrm/case/report/print',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','a:2:{i:0;s:28:\"CRM_Case_XMLProcessor_Report\";i:1;s:15:\"printCaseReport\";}',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}i:2;a:2:{s:5:\"title\";s:19:\"Case Activity Audit\";s:3:\"url\";s:28:\"/civicrm/case/report?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (402,1,'civicrm/case/ajax/addclient',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:9:\"addClient\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (403,1,'civicrm/case/ajax/processtags',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:15:\"processCaseTags\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
- (404,1,'civicrm/case/ajax/details',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:11:\"CaseDetails\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (405,1,'civicrm/ajax/delcaserole',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:15:\"deleteCaseRoles\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (406,1,'civicrm/ajax/get-cases',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:8:\"getCases\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (407,1,'civicrm/case/email/add','action=add,task=email','Email','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Case_Form_Task_Email\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (408,1,'civicrm/report',NULL,'CiviReport','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:22:\"CRM_Report_Page_Report\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1200,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviReport\";}'),
- (409,1,'civicrm/report/list',NULL,'CiviCRM Reports','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_InstanceList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (410,1,'civicrm/report/template/list',NULL,'Create New Report from Template','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_TemplateList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1220,1,1,NULL,'a:0:{}'),
- (411,1,'civicrm/report/options/report_template',NULL,'Manage Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:23:\"CRM_Report_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1241,1,1,NULL,'a:0:{}'),
- (412,1,'civicrm/admin/report/register',NULL,'Register Report','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:24:\"CRM_Report_Form_Register\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:30:\"Register the Report templates.\";}'),
- (413,1,'civicrm/report/instance',NULL,'Report','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:24:\"CRM_Report_Page_Instance\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (414,1,'civicrm/admin/report/template/list',NULL,'Create New Report from Template','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_TemplateList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:49:\"Component wise listing of all available templates\";s:10:\"adminGroup\";s:10:\"CiviReport\";}'),
- (415,1,'civicrm/admin/report/options/report_template',NULL,'Manage Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:23:\"CRM_Report_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:45:\"Browse, Edit and Delete the Report templates.\";s:10:\"adminGroup\";s:10:\"CiviReport\";}'),
- (416,1,'civicrm/admin/report/list',NULL,'Reports Listing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_InstanceList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:60:\"Browse existing report, change report criteria and settings.\";s:10:\"adminGroup\";s:10:\"CiviReport\";}'),
- (417,1,'civicrm/campaign',NULL,'Campaign Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:27:\"CRM_Campaign_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (418,1,'civicrm/campaign/add',NULL,'New Campaign','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:26:\"CRM_Campaign_Form_Campaign\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (419,1,'civicrm/survey/add',NULL,'New Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:29:\"CRM_Campaign_Form_Survey_Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (420,1,'civicrm/campaign/vote',NULL,'Conduct Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:25:\"reserve campaign contacts\";i:3;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','s:22:\"CRM_Campaign_Page_Vote\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (421,1,'civicrm/admin/campaign/surveyType',NULL,'Survey Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCampaign\";}i:1;s:3:\"and\";}','s:28:\"CRM_Campaign_Page_SurveyType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (422,1,'civicrm/admin/options/campaign_type',NULL,'Campaign Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,2,1,0,NULL,'a:3:{s:4:\"desc\";s:47:\"categorize your campaigns using campaign types.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (423,1,'civicrm/admin/options/campaign_status',NULL,'Campaign Status','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,3,1,0,NULL,'a:3:{s:4:\"desc\";s:34:\"Define statuses for campaign here.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (424,1,'civicrm/admin/options/engagement_index',NULL,'Engagement Index','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,4,1,0,NULL,'a:3:{s:4:\"desc\";s:18:\"Engagement levels.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (425,1,'civicrm/survey/search','op=interview','Record Respondents Interview','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','s:30:\"CRM_Campaign_Controller_Search\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (426,1,'civicrm/campaign/gotv',NULL,'GOTV (Track Voters)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:25:\"release campaign contacts\";i:3;s:22:\"gotv campaign contacts\";}i:1;s:2:\"or\";}','s:22:\"CRM_Campaign_Form_Gotv\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (427,1,'civicrm/petition/add',NULL,'New Petition','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:26:\"CRM_Campaign_Form_Petition\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (428,1,'civicrm/petition/sign',NULL,'Sign Petition','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:36:\"CRM_Campaign_Form_Petition_Signature\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (429,1,'civicrm/petition/browse',NULL,'View Petition Signatures','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Campaign_Page_Petition\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (430,1,'civicrm/petition/confirm',NULL,'Email address verified','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:34:\"CRM_Campaign_Page_Petition_Confirm\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (431,1,'civicrm/petition/thankyou',NULL,'Thank You','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:35:\"CRM_Campaign_Page_Petition_ThankYou\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (432,1,'civicrm/campaign/registerInterview',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','a:2:{i:0;s:22:\"CRM_Campaign_Page_AJAX\";i:1;s:17:\"registerInterview\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (433,1,'civicrm/survey/configure/main',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:29:\"CRM_Campaign_Form_Survey_Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (434,1,'civicrm/survey/configure/questions',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:34:\"CRM_Campaign_Form_Survey_Questions\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (435,1,'civicrm/survey/configure/results',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:32:\"CRM_Campaign_Form_Survey_Results\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (436,1,'civicrm/survey/delete',NULL,'Delete Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:31:\"CRM_Campaign_Form_Survey_Delete\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (437,1,'civicrm/admin/ckeditor',NULL,'Configure CKEditor 4','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Ckeditor4_Form_CKEditorConfig\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (438,1,'civicrm/ajax/event/add_participant_to_cart',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Event_Cart_Page_CheckoutAJAX\";i:1;s:23:\"add_participant_to_cart\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (439,1,'civicrm/ajax/event/remove_participant_from_cart',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Event_Cart_Page_CheckoutAJAX\";i:1;s:28:\"remove_participant_from_cart\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (440,1,'civicrm/event/add_to_cart',NULL,'Add Event To Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:29:\"CRM_Event_Cart_Page_AddToCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (441,1,'civicrm/event/cart_checkout',NULL,'Cart Checkout','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:34:\"CRM_Event_Cart_Controller_Checkout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),
- (442,1,'civicrm/event/remove_from_cart',NULL,'Remove From Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:34:\"CRM_Event_Cart_Page_RemoveFromCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (443,1,'civicrm/event/view_cart',NULL,'View Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Event_Cart_Page_ViewCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (444,1,'civicrm/contact/search/custom',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Legacycustomsearches_Controller_Search\";','s:10:\"mode=16384\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,10,1,1,NULL,'a:0:{}'),
- (445,1,'civicrm/admin/setting/flexmailer',NULL,'Flexmailer Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:8:\"CiviMail\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";}'),
- (446,1,'civicrm/admin/setting/recaptcha',NULL,'reCAPTCHA Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:43:\"Configure anti-abuse/bot-prevention service\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (447,1,'admin',NULL,NULL,NULL,NULL,NULL,NULL,'a:15:{s:26:\"Customize Data and Screens\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:19:{s:20:\"{weight}.Custom Data\";a:6:{s:5:\"title\";s:11:\"Custom Data\";s:4:\"desc\";s:109:\"Configure custom fields to collect and store custom data which is not included in the standard CiviCRM forms.\";s:2:\"id\";s:10:\"CustomData\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:17:\"{weight}.Profiles\";a:6:{s:5:\"title\";s:8:\"Profiles\";s:4:\"desc\";s:151:\"Profiles allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features.\";s:2:\"id\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Activity Types\";a:6:{s:5:\"title\";s:14:\"Activity Types\";s:4:\"desc\";s:155:\"CiviCRM has several built-in activity types (meetings, phone calls, emails sent). Track other types of interactions by creating custom activity types here.\";s:2:\"id\";s:13:\"ActivityTypes\";s:3:\"url\";s:44:\"/civicrm/admin/options/activity_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Relationship Types\";a:6:{s:5:\"title\";s:18:\"Relationship Types\";s:4:\"desc\";s:148:\"Contacts can be linked to each other through Relationships (e.g. Spouse, Employer, etc.). Define the types of relationships you want to record here.\";s:2:\"id\";s:17:\"RelationshipTypes\";s:3:\"url\";s:30:\"/civicrm/admin/reltype?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Contact Types\";a:6:{s:5:\"title\";s:13:\"Contact Types\";s:4:\"desc\";N;s:2:\"id\";s:12:\"ContactTypes\";s:3:\"url\";s:38:\"/civicrm/admin/options/subtype?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Gender Options\";a:6:{s:5:\"title\";s:14:\"Gender Options\";s:4:\"desc\";s:79:\"Options for assigning gender to individual contacts (e.g. Male, Female, Other).\";s:2:\"id\";s:13:\"GenderOptions\";s:3:\"url\";s:37:\"/civicrm/admin/options/gender?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Individual Prefixes (Ms, Mr...)\";a:6:{s:5:\"title\";s:31:\"Individual Prefixes (Ms, Mr...)\";s:4:\"desc\";s:66:\"Options for individual contact prefixes (e.g. Ms., Mr., Dr. etc.).\";s:2:\"id\";s:27:\"IndividualPrefixes_Ms_Mr...\";s:3:\"url\";s:48:\"/civicrm/admin/options/individual_prefix?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Individual Suffixes (Jr, Sr...)\";a:6:{s:5:\"title\";s:31:\"Individual Suffixes (Jr, Sr...)\";s:4:\"desc\";s:61:\"Options for individual contact suffixes (e.g. Jr., Sr. etc.).\";s:2:\"id\";s:27:\"IndividualSuffixes_Jr_Sr...\";s:3:\"url\";s:48:\"/civicrm/admin/options/individual_suffix?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:39:\"{weight}.Location Types (Home, Work...)\";a:6:{s:5:\"title\";s:30:\"Location Types (Home, Work...)\";s:4:\"desc\";s:94:\"Options for categorizing contact addresses and phone numbers (e.g. Home, Work, Billing, etc.).\";s:2:\"id\";s:26:\"LocationTypes_Home_Work...\";s:3:\"url\";s:35:\"/civicrm/admin/locationType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Website Types\";a:6:{s:5:\"title\";s:13:\"Website Types\";s:4:\"desc\";s:48:\"Options for assigning website types to contacts.\";s:2:\"id\";s:12:\"WebsiteTypes\";s:3:\"url\";s:43:\"/civicrm/admin/options/website_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:35:\"{weight}.Instant Messenger Services\";a:6:{s:5:\"title\";s:26:\"Instant Messenger Services\";s:4:\"desc\";s:79:\"List of IM services which can be used when recording screen-names for contacts.\";s:2:\"id\";s:24:\"InstantMessengerServices\";s:3:\"url\";s:56:\"/civicrm/admin/options/instant_messenger_service?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Mobile Phone Providers\";a:6:{s:5:\"title\";s:22:\"Mobile Phone Providers\";s:4:\"desc\";s:90:\"List of mobile phone providers which can be assigned when recording contact phone numbers.\";s:2:\"id\";s:20:\"MobilePhoneProviders\";s:3:\"url\";s:46:\"/civicrm/admin/options/mobile_provider?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:19:\"{weight}.Phone Type\";a:6:{s:5:\"title\";s:10:\"Phone Type\";s:4:\"desc\";s:80:\"Options for assigning phone type to contacts (e.g Phone,\n    Mobile, Fax, Pager)\";s:2:\"id\";s:9:\"PhoneType\";s:3:\"url\";s:41:\"/civicrm/admin/options/phone_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Display Preferences\";a:6:{s:5:\"title\";s:19:\"Display Preferences\";s:4:\"desc\";N;s:2:\"id\";s:18:\"DisplayPreferences\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/display?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Search Preferences\";a:6:{s:5:\"title\";s:18:\"Search Preferences\";s:4:\"desc\";N;s:2:\"id\";s:17:\"SearchPreferences\";s:3:\"url\";s:37:\"/civicrm/admin/setting/search?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Navigation Menu\";a:6:{s:5:\"title\";s:15:\"Navigation Menu\";s:4:\"desc\";s:79:\"Add or remove menu items, and modify the order of items on the navigation menu.\";s:2:\"id\";s:14:\"NavigationMenu\";s:3:\"url\";s:27:\"/civicrm/admin/menu?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Word Replacements\";a:6:{s:5:\"title\";s:17:\"Word Replacements\";s:4:\"desc\";s:18:\"Word Replacements.\";s:2:\"id\";s:16:\"WordReplacements\";s:3:\"url\";s:47:\"/civicrm/admin/options/wordreplacements?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Manage Custom Searches\";a:6:{s:5:\"title\";s:22:\"Manage Custom Searches\";s:4:\"desc\";s:225:\"Developers and accidental techies with a bit of PHP and SQL knowledge can create new search forms to handle specific search and reporting needs which aren\'t covered by the built-in Advanced Search and Search Builder features.\";s:2:\"id\";s:20:\"ManageCustomSearches\";s:3:\"url\";s:44:\"/civicrm/admin/options/custom_search?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:13:\"{weight}.Tags\";a:6:{s:5:\"title\";s:4:\"Tags\";s:4:\"desc\";s:158:\"Tags are useful for segmenting the contacts in your database into categories (e.g. Staff Member, Donor, Volunteer, etc.). Create and edit available tags here.\";s:2:\"id\";s:4:\"Tags\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:14:\"Communications\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:11:{s:46:\"{weight}.Organization Address and Contact Info\";a:6:{s:5:\"title\";s:37:\"Organization Address and Contact Info\";s:4:\"desc\";s:150:\"Configure primary contact name, email, return-path and address information. This information is used by CiviMail to identify the sending organization.\";s:2:\"id\";s:33:\"OrganizationAddressandContactInfo\";s:3:\"url\";s:47:\"/civicrm/admin/domain?action=update&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:29:\"{weight}.From Email Addresses\";a:6:{s:5:\"title\";s:20:\"From Email Addresses\";s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:2:\"id\";s:18:\"FromEmailAddresses\";s:3:\"url\";s:49:\"/civicrm/admin/options/from_email_address?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Message Templates\";a:6:{s:5:\"title\";s:17:\"Message Templates\";s:4:\"desc\";s:130:\"Message templates allow you to save and re-use messages with layouts which you can use when sending email to one or more contacts.\";s:2:\"id\";s:16:\"MessageTemplates\";s:3:\"url\";s:39:\"/civicrm/admin/messageTemplates?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Schedule Reminders\";a:6:{s:5:\"title\";s:18:\"Schedule Reminders\";s:4:\"desc\";s:19:\"Schedule Reminders.\";s:2:\"id\";s:17:\"ScheduleReminders\";s:3:\"url\";s:40:\"/civicrm/admin/scheduleReminders?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Preferred Communication Methods\";a:6:{s:5:\"title\";s:31:\"Preferred Communication Methods\";s:4:\"desc\";s:117:\"One or more preferred methods of communication can be assigned to each contact. Customize the available options here.\";s:2:\"id\";s:29:\"PreferredCommunicationMethods\";s:3:\"url\";s:61:\"/civicrm/admin/options/preferred_communication_method?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Label Formats\";a:6:{s:5:\"title\";s:13:\"Label Formats\";s:4:\"desc\";s:67:\"Configure Label Formats that are used when creating mailing labels.\";s:2:\"id\";s:12:\"LabelFormats\";s:3:\"url\";s:35:\"/civicrm/admin/labelFormats?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.Print Page (PDF) Formats\";a:6:{s:5:\"title\";s:24:\"Print Page (PDF) Formats\";s:4:\"desc\";s:95:\"Configure PDF Page Formats that can be assigned to Message Templates when creating PDF letters.\";s:2:\"id\";s:20:\"PrintPage_PDFFormats\";s:3:\"url\";s:33:\"/civicrm/admin/pdfFormats?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:36:\"{weight}.Communication Style Options\";a:6:{s:5:\"title\";s:27:\"Communication Style Options\";s:4:\"desc\";s:42:\"Options for Communication Style selection.\";s:2:\"id\";s:25:\"CommunicationStyleOptions\";s:3:\"url\";s:50:\"/civicrm/admin/options/communication_style?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Email Greeting Formats\";a:6:{s:5:\"title\";s:22:\"Email Greeting Formats\";s:4:\"desc\";s:75:\"Options for assigning email greetings to individual and household contacts.\";s:2:\"id\";s:20:\"EmailGreetingFormats\";s:3:\"url\";s:45:\"/civicrm/admin/options/email_greeting?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:32:\"{weight}.Postal Greeting Formats\";a:6:{s:5:\"title\";s:23:\"Postal Greeting Formats\";s:4:\"desc\";s:76:\"Options for assigning postal greetings to individual and household contacts.\";s:2:\"id\";s:21:\"PostalGreetingFormats\";s:3:\"url\";s:46:\"/civicrm/admin/options/postal_greeting?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Addressee Formats\";a:6:{s:5:\"title\";s:17:\"Addressee Formats\";s:4:\"desc\";s:83:\"Options for assigning addressee to individual, household and organization contacts.\";s:2:\"id\";s:16:\"AddresseeFormats\";s:3:\"url\";s:40:\"/civicrm/admin/options/addressee?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:12:\"Localization\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:4:{s:39:\"{weight}.Languages, Currency, Locations\";a:6:{s:5:\"title\";s:30:\"Languages, Currency, Locations\";s:4:\"desc\";N;s:2:\"id\";s:28:\"Languages_Currency_Locations\";s:3:\"url\";s:43:\"/civicrm/admin/setting/localization?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Address Settings\";a:6:{s:5:\"title\";s:16:\"Address Settings\";s:4:\"desc\";N;s:2:\"id\";s:15:\"AddressSettings\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/address?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:21:\"{weight}.Date Formats\";a:6:{s:5:\"title\";s:12:\"Date Formats\";s:4:\"desc\";N;s:2:\"id\";s:11:\"DateFormats\";s:3:\"url\";s:35:\"/civicrm/admin/setting/date?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Preferred Languages\";a:6:{s:5:\"title\";s:19:\"Preferred Languages\";s:4:\"desc\";s:30:\"Options for contact languages.\";s:2:\"id\";s:18:\"PreferredLanguages\";s:3:\"url\";s:40:\"/civicrm/admin/options/languages?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:21:\"Users and Permissions\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:2:{s:23:\"{weight}.Access Control\";a:6:{s:5:\"title\";s:14:\"Access Control\";s:4:\"desc\";s:73:\"Grant or deny access to actions (view, edit...), features and components.\";s:2:\"id\";s:13:\"AccessControl\";s:3:\"url\";s:29:\"/civicrm/admin/access?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:38:\"{weight}.Synchronize Users to Contacts\";a:6:{s:5:\"title\";s:29:\"Synchronize Users to Contacts\";s:4:\"desc\";s:71:\"Automatically create a CiviCRM contact record for each CMS user record.\";s:2:\"id\";s:26:\"SynchronizeUserstoContacts\";s:3:\"url\";s:32:\"/civicrm/admin/synchUser?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:15:\"System Settings\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:19:{s:32:\"{weight}.Configuration Checklist\";a:6:{s:5:\"title\";s:23:\"Configuration Checklist\";s:4:\"desc\";s:55:\"List of configuration tasks with links to each setting.\";s:2:\"id\";s:22:\"ConfigurationChecklist\";s:3:\"url\";s:33:\"/civicrm/admin/configtask?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:34:\"{weight}.Enable CiviCRM Components\";a:6:{s:5:\"title\";s:25:\"Enable CiviCRM Components\";s:4:\"desc\";s:269:\"Enable or disable components (e.g. CiviEvent, CiviMember, etc.) for your site based on the features you need. We recommend disabling any components not being used in order to simplify the user interface. You can easily re-enable components at any time from this screen.\";s:2:\"id\";s:23:\"EnableCiviCRMComponents\";s:3:\"url\";s:40:\"/civicrm/admin/setting/component?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Manage Extensions\";a:6:{s:5:\"title\";s:17:\"Manage Extensions\";s:4:\"desc\";s:0:\"\";s:2:\"id\";s:16:\"ManageExtensions\";s:3:\"url\";s:33:\"/civicrm/admin/extensions?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:32:\"{weight}.Outbound Email Settings\";a:6:{s:5:\"title\";s:23:\"Outbound Email Settings\";s:4:\"desc\";N;s:2:\"id\";s:21:\"OutboundEmailSettings\";s:3:\"url\";s:35:\"/civicrm/admin/setting/smtp?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:37:\"{weight}.Settings - Payment Processor\";a:6:{s:5:\"title\";s:28:\"Settings - Payment Processor\";s:4:\"desc\";s:48:\"Payment Processor setup for CiviCRM transactions\";s:2:\"id\";s:25:\"Settings-PaymentProcessor\";s:3:\"url\";s:39:\"/civicrm/admin/paymentProcessor?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:30:\"{weight}.Mapping and Geocoding\";a:6:{s:5:\"title\";s:21:\"Mapping and Geocoding\";s:4:\"desc\";N;s:2:\"id\";s:19:\"MappingandGeocoding\";s:3:\"url\";s:38:\"/civicrm/admin/setting/mapping?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:53:\"{weight}.Misc (Undelete, PDFs, Limits, Logging, etc.)\";a:6:{s:5:\"title\";s:44:\"Misc (Undelete, PDFs, Limits, Logging, etc.)\";s:4:\"desc\";s:63:\"Enable undelete/move to trash feature, detailed change logging.\";s:2:\"id\";s:38:\"Misc_Undelete_PDFs_Limits_Logging_etc.\";s:3:\"url\";s:35:\"/civicrm/admin/setting/misc?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:20:\"{weight}.Directories\";a:6:{s:5:\"title\";s:11:\"Directories\";s:4:\"desc\";N;s:2:\"id\";s:11:\"Directories\";s:3:\"url\";s:35:\"/civicrm/admin/setting/path?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Resource URLs\";a:6:{s:5:\"title\";s:13:\"Resource URLs\";s:4:\"desc\";N;s:2:\"id\";s:12:\"ResourceURLs\";s:3:\"url\";s:34:\"/civicrm/admin/setting/url?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Cleanup Caches and Update Paths\";a:6:{s:5:\"title\";s:31:\"Cleanup Caches and Update Paths\";s:4:\"desc\";s:157:\"Reset the Base Directory Path and Base URL settings - generally when a CiviCRM site is moved to another location in the file system and/or to another domain.\";s:2:\"id\";s:27:\"CleanupCachesandUpdatePaths\";s:3:\"url\";s:50:\"/civicrm/admin/setting/updateConfigBackend?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.CMS Database Integration\";a:6:{s:5:\"title\";s:24:\"CMS Database Integration\";s:4:\"desc\";N;s:2:\"id\";s:22:\"CMSDatabaseIntegration\";s:3:\"url\";s:33:\"/civicrm/admin/setting/uf?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:36:\"{weight}.Safe File Extension Options\";a:6:{s:5:\"title\";s:27:\"Safe File Extension Options\";s:4:\"desc\";s:44:\"File Extensions that can be considered safe.\";s:2:\"id\";s:24:\"SafeFileExtensionOptions\";s:3:\"url\";s:50:\"/civicrm/admin/options/safe_file_extension?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Option Groups\";a:6:{s:5:\"title\";s:13:\"Option Groups\";s:4:\"desc\";s:35:\"Access all meta-data option groups.\";s:2:\"id\";s:12:\"OptionGroups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Import/Export Mappings\";a:6:{s:5:\"title\";s:22:\"Import/Export Mappings\";s:4:\"desc\";s:141:\"Import and Export mappings allow you to easily run the same job multiple times. This option allows you to rename or delete existing mappings.\";s:2:\"id\";s:21:\"Import_ExportMappings\";s:3:\"url\";s:30:\"/civicrm/admin/mapping?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:18:\"{weight}.Debugging\";a:6:{s:5:\"title\";s:9:\"Debugging\";s:4:\"desc\";N;s:2:\"id\";s:9:\"Debugging\";s:3:\"url\";s:36:\"/civicrm/admin/setting/debug?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Multi Site Settings\";a:6:{s:5:\"title\";s:19:\"Multi Site Settings\";s:4:\"desc\";N;s:2:\"id\";s:17:\"MultiSiteSettings\";s:3:\"url\";s:52:\"/civicrm/admin/setting/preferences/multisite?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Scheduled Jobs\";a:6:{s:5:\"title\";s:14:\"Scheduled Jobs\";s:4:\"desc\";s:35:\"Managing periodially running tasks.\";s:2:\"id\";s:13:\"ScheduledJobs\";s:3:\"url\";s:26:\"/civicrm/admin/job?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Sms Providers\";a:6:{s:5:\"title\";s:13:\"Sms Providers\";s:4:\"desc\";s:27:\"To configure a sms provider\";s:2:\"id\";s:12:\"SmsProviders\";s:3:\"url\";s:35:\"/civicrm/admin/sms/provider?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.reCAPTCHA Settings\";a:6:{s:5:\"title\";s:18:\"reCAPTCHA Settings\";s:4:\"desc\";s:43:\"Configure anti-abuse/bot-prevention service\";s:2:\"id\";s:17:\"reCAPTCHASettings\";s:3:\"url\";s:40:\"/civicrm/admin/setting/recaptcha?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:12:\"CiviCampaign\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:40:\"{weight}.CiviCampaign Component Settings\";a:6:{s:5:\"title\";s:31:\"CiviCampaign Component Settings\";s:4:\"desc\";s:40:\"Configure global CiviCampaign behaviors.\";s:2:\"id\";s:29:\"CiviCampaignComponentSettings\";s:3:\"url\";s:51:\"/civicrm/admin/setting/preferences/campaign?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:21:\"{weight}.Survey Types\";a:6:{s:5:\"title\";s:12:\"Survey Types\";s:4:\"desc\";N;s:2:\"id\";s:11:\"SurveyTypes\";s:3:\"url\";s:42:\"/civicrm/admin/campaign/surveyType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Campaign Types\";a:6:{s:5:\"title\";s:14:\"Campaign Types\";s:4:\"desc\";s:47:\"categorize your campaigns using campaign types.\";s:2:\"id\";s:13:\"CampaignTypes\";s:3:\"url\";s:44:\"/civicrm/admin/options/campaign_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Campaign Status\";a:6:{s:5:\"title\";s:15:\"Campaign Status\";s:4:\"desc\";s:34:\"Define statuses for campaign here.\";s:2:\"id\";s:14:\"CampaignStatus\";s:3:\"url\";s:46:\"/civicrm/admin/options/campaign_status?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Engagement Index\";a:6:{s:5:\"title\";s:16:\"Engagement Index\";s:4:\"desc\";s:18:\"Engagement levels.\";s:2:\"id\";s:15:\"EngagementIndex\";s:3:\"url\";s:47:\"/civicrm/admin/options/engagement_index?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:9:\"CiviEvent\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:9:{s:37:\"{weight}.CiviEvent Component Settings\";a:6:{s:5:\"title\";s:28:\"CiviEvent Component Settings\";s:4:\"desc\";s:37:\"Configure global CiviEvent behaviors.\";s:2:\"id\";s:26:\"CiviEventComponentSettings\";s:3:\"url\";s:48:\"/civicrm/admin/setting/preferences/event?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.Event Name Badge Layouts\";a:6:{s:5:\"title\";s:24:\"Event Name Badge Layouts\";s:4:\"desc\";s:107:\"Configure name badge layouts for event participants, including logos and what data to include on the badge.\";s:2:\"id\";s:21:\"EventNameBadgeLayouts\";s:3:\"url\";s:52:\"/civicrm/admin/badgelayout?action=browse&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Manage Events\";a:6:{s:5:\"title\";s:13:\"Manage Events\";s:4:\"desc\";s:136:\"Create and edit event configuration including times, locations, online registration forms, and fees. Links for iCal and RSS syndication.\";s:2:\"id\";s:12:\"ManageEvents\";s:3:\"url\";s:28:\"/civicrm/admin/event?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Event Templates\";a:6:{s:5:\"title\";s:15:\"Event Templates\";s:4:\"desc\";s:115:\"Administrators can create Event Templates - which are basically master event records pre-filled with default values\";s:2:\"id\";s:14:\"EventTemplates\";s:3:\"url\";s:36:\"/civicrm/admin/eventTemplate?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:20:\"{weight}.Event Types\";a:6:{s:5:\"title\";s:11:\"Event Types\";s:4:\"desc\";s:143:\"Use Event Types to categorize your events. Event feeds can be filtered by Event Type and participant searches can use Event Type as a criteria.\";s:2:\"id\";s:10:\"EventTypes\";s:3:\"url\";s:41:\"/civicrm/admin/options/event_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Participant Status\";a:6:{s:5:\"title\";s:18:\"Participant Status\";s:4:\"desc\";s:154:\"Define statuses for event participants here (e.g. Registered, Attended, Cancelled...). You can then assign statuses and search for participants by status.\";s:2:\"id\";s:17:\"ParticipantStatus\";s:3:\"url\";s:41:\"/civicrm/admin/participant_status?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Participant Role\";a:6:{s:5:\"title\";s:16:\"Participant Role\";s:4:\"desc\";s:138:\"Define participant roles for events here (e.g. Attendee, Host, Speaker...). You can then assign roles and search for participants by role.\";s:2:\"id\";s:15:\"ParticipantRole\";s:3:\"url\";s:47:\"/civicrm/admin/options/participant_role?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:38:\"{weight}.Participant Listing Templates\";a:6:{s:5:\"title\";s:29:\"Participant Listing Templates\";s:4:\"desc\";s:48:\"Template to control participant listing display.\";s:2:\"id\";s:27:\"ParticipantListingTemplates\";s:3:\"url\";s:50:\"/civicrm/admin/options/participant_listing?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Conference Slot Labels\";a:6:{s:5:\"title\";s:22:\"Conference Slot Labels\";s:4:\"desc\";s:35:\"Define conference slots and labels.\";s:2:\"id\";s:20:\"ConferenceSlotLabels\";s:3:\"url\";s:46:\"/civicrm/admin/options/conference_slot?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:8:\"CiviMail\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:6:{s:36:\"{weight}.CiviMail Component Settings\";a:6:{s:5:\"title\";s:27:\"CiviMail Component Settings\";s:4:\"desc\";s:36:\"Configure global CiviMail behaviors.\";s:2:\"id\";s:25:\"CiviMailComponentSettings\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/mailing?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Mailer Settings\";a:6:{s:5:\"title\";s:15:\"Mailer Settings\";s:4:\"desc\";s:61:\"Configure spool period, throttling and other mailer settings.\";s:2:\"id\";s:14:\"MailerSettings\";s:3:\"url\";s:27:\"/civicrm/admin/mail?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:49:\"{weight}.Headers, Footers, and Automated Messages\";a:6:{s:5:\"title\";s:40:\"Headers, Footers, and Automated Messages\";s:4:\"desc\";s:143:\"Configure the header and footer used for mailings. Customize the content of automated Subscribe, Unsubscribe, Resubscribe and Opt-out messages.\";s:2:\"id\";s:36:\"Headers_Footers_andAutomatedMessages\";s:3:\"url\";s:32:\"/civicrm/admin/component?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:29:\"{weight}.From Email Addresses\";a:6:{s:5:\"title\";s:20:\"From Email Addresses\";s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:2:\"id\";s:18:\"FromEmailAddresses\";s:3:\"url\";s:58:\"/civicrm/admin/options/from_email_address/civimail?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Mail Accounts\";a:6:{s:5:\"title\";s:13:\"Mail Accounts\";s:4:\"desc\";s:32:\"Configure email account setting.\";s:2:\"id\";s:12:\"MailAccounts\";s:3:\"url\";s:35:\"/civicrm/admin/mailSettings?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Flexmailer Settings\";a:6:{s:5:\"title\";s:19:\"Flexmailer Settings\";s:4:\"desc\";N;s:2:\"id\";s:18:\"FlexmailerSettings\";s:3:\"url\";s:41:\"/civicrm/admin/setting/flexmailer?reset=1\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";s:5:\"extra\";N;}}}s:10:\"CiviMember\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:38:\"{weight}.CiviMember Component Settings\";a:6:{s:5:\"title\";s:29:\"CiviMember Component Settings\";s:4:\"desc\";s:38:\"Configure global CiviMember behaviors.\";s:2:\"id\";s:27:\"CiviMemberComponentSettings\";s:3:\"url\";s:49:\"/civicrm/admin/setting/preferences/member?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Membership Types\";a:6:{s:5:\"title\";s:16:\"Membership Types\";s:4:\"desc\";s:174:\"Define the types of memberships you want to offer. For each type, you can specify a \'name\' (Gold Member, Honor Society Member...), a description, duration, and a minimum fee.\";s:2:\"id\";s:15:\"MembershipTypes\";s:3:\"url\";s:44:\"/civicrm/admin/member/membershipType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:32:\"{weight}.Membership Status Rules\";a:6:{s:5:\"title\";s:23:\"Membership Status Rules\";s:4:\"desc\";s:187:\"Status \'rules\' define the current status for a membership based on that membership\'s start and end dates. You can adjust the default status options and rules as needed to meet your needs.\";s:2:\"id\";s:21:\"MembershipStatusRules\";s:3:\"url\";s:46:\"/civicrm/admin/member/membershipStatus?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:6:\"Manage\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:27:\"{weight}.Scheduled Jobs Log\";a:6:{s:5:\"title\";s:18:\"Scheduled Jobs Log\";s:4:\"desc\";s:46:\"Browsing the log of periodially running tasks.\";s:2:\"id\";s:16:\"ScheduledJobsLog\";s:3:\"url\";s:29:\"/civicrm/admin/joblog?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:42:\"{weight}.Find and Merge Duplicate Contacts\";a:6:{s:5:\"title\";s:33:\"Find and Merge Duplicate Contacts\";s:4:\"desc\";s:158:\"Manage the rules used to identify potentially duplicate contact records. Scan for duplicates using a selected rule and merge duplicate contact data as needed.\";s:2:\"id\";s:29:\"FindandMergeDuplicateContacts\";s:3:\"url\";s:36:\"/civicrm/contact/deduperules?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Dedupe Exceptions\";a:6:{s:5:\"title\";s:17:\"Dedupe Exceptions\";s:4:\"desc\";N;s:2:\"id\";s:16:\"DedupeExceptions\";s:3:\"url\";s:33:\"/civicrm/dedupe/exception?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:12:\"Option Lists\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:1:{s:20:\"{weight}.Grant Types\";a:6:{s:5:\"title\";s:11:\"Grant Types\";s:4:\"desc\";s:148:\"List of types which can be assigned to Grants. (Enable CiviGrant from Administer > Systme Settings > Enable Components if you want to track grants.)\";s:2:\"id\";s:10:\"GrantTypes\";s:3:\"url\";s:41:\"/civicrm/admin/options/grant_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:9:\"Customize\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:1:{s:19:\"{weight}.Price Sets\";a:6:{s:5:\"title\";s:10:\"Price Sets\";s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";s:2:\"id\";s:9:\"PriceSets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:14:\"CiviContribute\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:9:{s:32:\"{weight}.Personal Campaign Pages\";a:6:{s:5:\"title\";s:23:\"Personal Campaign Pages\";s:4:\"desc\";s:49:\"View and manage existing personal campaign pages.\";s:2:\"id\";s:21:\"PersonalCampaignPages\";s:3:\"url\";s:49:\"/civicrm/admin/pcp?context=contribute&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:34:\"{weight}.Manage Contribution Pages\";a:6:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:4:\"desc\";s:242:\"CiviContribute allows you to create and maintain any number of Online Contribution Pages. You can create different pages for different programs or campaigns - and customize text, amounts, types of information collected from contributors, etc.\";s:2:\"id\";s:23:\"ManageContributionPages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Manage Premiums\";a:6:{s:5:\"title\";s:15:\"Manage Premiums\";s:4:\"desc\";s:175:\"CiviContribute allows you to configure any number of Premiums which can be offered to contributors as incentives / thank-you gifts. Define the premiums you want to offer here.\";s:2:\"id\";s:14:\"ManagePremiums\";s:3:\"url\";s:48:\"/civicrm/admin/contribute/managePremiums?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Financial Types\";a:6:{s:5:\"title\";s:15:\"Financial Types\";s:4:\"desc\";s:64:\"Formerly civicrm_contribution_type merged into this table in 4.1\";s:2:\"id\";s:14:\"FinancialTypes\";s:3:\"url\";s:46:\"/civicrm/admin/financial/financialType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Financial Accounts\";a:6:{s:5:\"title\";s:18:\"Financial Accounts\";s:4:\"desc\";s:128:\"Financial types are used to categorize contributions for reporting and accounting purposes. These are also referred to as Funds.\";s:2:\"id\";s:17:\"FinancialAccounts\";s:3:\"url\";s:49:\"/civicrm/admin/financial/financialAccount?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Payment Methods\";a:6:{s:5:\"title\";s:15:\"Payment Methods\";s:4:\"desc\";s:224:\"You may choose to record the payment instrument used for each contribution. Common payment methods are installed by default (e.g. Check, Cash, Credit Card...). If your site requires additional payment methods, add them here.\";s:2:\"id\";s:14:\"PaymentMethods\";s:3:\"url\";s:49:\"/civicrm/admin/options/payment_instrument?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:30:\"{weight}.Accepted Credit Cards\";a:6:{s:5:\"title\";s:21:\"Accepted Credit Cards\";s:4:\"desc\";s:94:\"Credit card options that will be offered to contributors using your Online Contribution pages.\";s:2:\"id\";s:19:\"AcceptedCreditCards\";s:3:\"url\";s:48:\"/civicrm/admin/options/accept_creditcard?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Soft Credit Types\";a:6:{s:5:\"title\";s:17:\"Soft Credit Types\";s:4:\"desc\";s:86:\"Soft Credit Types that will be offered to contributors during soft credit contribution\";s:2:\"id\";s:15:\"SoftCreditTypes\";s:3:\"url\";s:47:\"/civicrm/admin/options/soft_credit_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:42:\"{weight}.CiviContribute Component Settings\";a:6:{s:5:\"title\";s:33:\"CiviContribute Component Settings\";s:4:\"desc\";s:42:\"Configure global CiviContribute behaviors.\";s:2:\"id\";s:31:\"CiviContributeComponentSettings\";s:3:\"url\";s:53:\"/civicrm/admin/setting/preferences/contribute?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:8:\"CiviCase\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:26:\"{weight}.CiviCase Settings\";a:6:{s:5:\"title\";s:17:\"CiviCase Settings\";s:4:\"desc\";N;s:2:\"id\";s:16:\"CiviCaseSettings\";s:3:\"url\";s:35:\"/civicrm/admin/setting/case?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:19:\"{weight}.Case Types\";a:6:{s:5:\"title\";s:10:\"Case Types\";s:4:\"desc\";s:137:\"List of types which can be assigned to Cases. (Enable the Cases tab from System Settings - Enable Components if you want to track cases.)\";s:2:\"id\";s:9:\"CaseTypes\";s:3:\"url\";s:40:\"/civicrm/admin/options/case_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Redaction Rules\";a:6:{s:5:\"title\";s:15:\"Redaction Rules\";s:4:\"desc\";s:223:\"List of rules which can be applied to user input strings so that the redacted output can be recognized as repeated instances of the same string or can be identified as a \"semantic type of the data element\" within case data.\";s:2:\"id\";s:14:\"RedactionRules\";s:3:\"url\";s:45:\"/civicrm/admin/options/redaction_rule?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Case Statuses\";a:6:{s:5:\"title\";s:13:\"Case Statuses\";s:4:\"desc\";s:48:\"List of statuses that can be assigned to a case.\";s:2:\"id\";s:12:\"CaseStatuses\";s:3:\"url\";s:42:\"/civicrm/admin/options/case_status?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Encounter Mediums\";a:6:{s:5:\"title\";s:17:\"Encounter Mediums\";s:4:\"desc\";s:26:\"List of encounter mediums.\";s:2:\"id\";s:16:\"EncounterMediums\";s:3:\"url\";s:47:\"/civicrm/admin/options/encounter_medium?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:10:\"CiviReport\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:40:\"{weight}.Create New Report from Template\";a:6:{s:5:\"title\";s:31:\"Create New Report from Template\";s:4:\"desc\";s:49:\"Component wise listing of all available templates\";s:2:\"id\";s:27:\"CreateNewReportfromTemplate\";s:3:\"url\";s:43:\"/civicrm/admin/report/template/list?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Manage Templates\";a:6:{s:5:\"title\";s:16:\"Manage Templates\";s:4:\"desc\";s:45:\"Browse, Edit and Delete the Report templates.\";s:2:\"id\";s:15:\"ManageTemplates\";s:3:\"url\";s:53:\"/civicrm/admin/report/options/report_template?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Reports Listing\";a:6:{s:5:\"title\";s:15:\"Reports Listing\";s:4:\"desc\";s:60:\"Browse existing report, change report criteria and settings.\";s:2:\"id\";s:14:\"ReportsListing\";s:3:\"url\";s:34:\"/civicrm/admin/report/list?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}}',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,NULL,'a:0:{}');
+ (5,1,'civicrm/activity','action=add&context=standalone','New Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Activity_Form_Activity\";','s:14:\"attachUpload=1\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (6,1,'civicrm/activity/view',NULL,'View Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Form_ActivityView\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (7,1,'civicrm/ajax/activity',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:15:\"getCaseActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (8,1,'civicrm/ajax/globalrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:26:\"getCaseGlobalRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (9,1,'civicrm/ajax/clientrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:26:\"getCaseClientRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (10,1,'civicrm/ajax/caseroles',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:12:\"getCaseRoles\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (11,1,'civicrm/ajax/contactactivity',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:18:\"getContactActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (12,1,'civicrm/ajax/activity/convert',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:21:\"convertToCaseActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
+ (13,1,'civicrm/activity/search',NULL,'Find Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Controller_Search\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (14,1,'civicrm/payment/form',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:26:\"CRM_Financial_Form_Payment\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (15,1,'civicrm/payment/edit',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:30:\"CRM_Financial_Form_PaymentEdit\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
+ (16,1,'civicrm/tag',NULL,'Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:16:\"CRM_Tag_Page_Tag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,25,1,0,NULL,'a:2:{s:4:\"desc\";s:158:\"Tags are useful for segmenting the contacts in your database into categories (e.g. Staff Member, Donor, Volunteer, etc.). Create and edit available tags here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (17,1,'civicrm/tag/edit','action=add','New Tag','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:17:\"CRM_Tag_Form_Edit\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:4:\"Tags\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (18,1,'civicrm/tag/merge',NULL,'Merge Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:18:\"CRM_Tag_Form_Merge\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:4:\"Tags\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (19,1,'civicrm/ajax/tagTree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:10:\"getTagTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (20,1,'civicrm',NULL,'CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_DashBoard\";',NULL,'a:0:{}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (21,1,'civicrm/dashboard',NULL,'CiviCRM Home','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,1,NULL,'a:0:{}'),
+ (22,1,'civicrm/contact/search',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,10,1,1,NULL,'a:0:{}'),
+ (23,1,'civicrm/contact/image',NULL,'Process Uploaded Images','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access uploaded files\";}i:1;s:3:\"and\";}','a:2:{i:0;s:23:\"CRM_Contact_BAO_Contact\";i:1;s:12:\"processImage\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (24,1,'civicrm/contact/imagefile',NULL,'Get Image File','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_ImageFile\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (25,1,'civicrm/contact/search/basic',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (26,1,'civicrm/contact/search/advanced',NULL,'Advanced Search','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=512\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,12,1,1,NULL,'a:0:{}'),
+ (27,1,'civicrm/contact/search/builder',NULL,'Search Builder','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:9:\"mode=8192\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,14,1,1,NULL,'a:0:{}'),
+ (28,1,'civicrm/contact/search/custom/list',NULL,'Custom Searches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Page_CustomSearch\";','s:10:\"mode=16384\";','a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:38:\"/civicrm/contact/search/custom?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,16,1,1,NULL,'a:0:{}'),
+ (29,1,'civicrm/contact/add',NULL,'New Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (30,1,'civicrm/contact/add/individual','ct=Individual','New Individual','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (31,1,'civicrm/contact/add/household','ct=Household','New Household','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (32,1,'civicrm/contact/add/organization','ct=Organization','New Organization','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (33,1,'civicrm/contact/relatedcontact',NULL,'Edit Related Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"access Contact Dashboard\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contact_Form_RelatedContact\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (34,1,'civicrm/contact/merge',NULL,'Merge Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:22:\"CRM_Contact_Form_Merge\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (35,1,'civicrm/contact/email',NULL,'Email a Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (36,1,'civicrm/contact/map',NULL,'Map Location(s)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_Map\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (37,1,'civicrm/contact/map/event',NULL,'Map Event Location','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contact_Form_Task_Map_Event\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Map Location(s)\";s:3:\"url\";s:28:\"/civicrm/contact/map?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (38,1,'civicrm/contact/view','cid=%%cid%%','Contact Summary','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:29:\"CRM_Contact_Page_View_Summary\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (39,1,'civicrm/contact/view/delete',NULL,'Delete Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:28:\"CRM_Contact_Form_Task_Delete\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (40,1,'civicrm/contact/view/activity','show=1,cid=%%cid%%','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:21:\"CRM_Activity_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (41,1,'civicrm/activity/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Activity_Form_Activity\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (42,1,'civicrm/activity/email/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (43,1,'civicrm/activity/pdf/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_PDF\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (44,1,'civicrm/contact/view/rel','cid=%%cid%%','Relationships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contact_Page_View_Relationship\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (45,1,'civicrm/contact/view/group','cid=%%cid%%','Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contact_Page_View_GroupContact\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (46,1,'civicrm/contact/view/smartgroup','cid=%%cid%%','Smart Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:39:\"CRM_Contact_Page_View_ContactSmartGroup\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (47,1,'civicrm/contact/view/note','cid=%%cid%%','Notes','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:26:\"CRM_Contact_Page_View_Note\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (48,1,'civicrm/contact/view/tag','cid=%%cid%%','Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:25:\"CRM_Contact_Page_View_Tag\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (49,1,'civicrm/contact/view/cd',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:32:\"CRM_Contact_Page_View_CustomData\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (50,1,'civicrm/contact/view/cd/edit',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Form_CustomData\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (51,1,'civicrm/contact/view/vcard',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Page_View_Vcard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (52,1,'civicrm/contact/view/print',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Page_View_Print\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (53,1,'civicrm/contact/view/log',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:25:\"CRM_Contact_Page_View_Log\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (54,1,'civicrm/user',NULL,'Contact Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"access Contact Dashboard\";}i:1;s:3:\"and\";}','s:35:\"CRM_Contact_Page_View_UserDashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (55,1,'civicrm/dashlet/activity',NULL,'Activity Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Dashlet_Page_Activity\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (56,1,'civicrm/dashlet/blog',NULL,'CiviCRM Blog','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Dashlet_Page_Blog\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (57,1,'civicrm/dashlet/getting-started',NULL,'CiviCRM Resources','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Dashlet_Page_GettingStarted\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (58,1,'civicrm/ajax/relation',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:12:\"relationship\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
+ (59,1,'civicrm/ajax/groupTree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"groupTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (60,1,'civicrm/ajax/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:11:\"customField\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (61,1,'civicrm/ajax/customvalue',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:17:\"deleteCustomValue\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
+ (62,1,'civicrm/ajax/cmsuser',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"checkUserName\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (63,1,'civicrm/ajax/checkemail',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:15:\"getContactEmail\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (64,1,'civicrm/ajax/checkphone',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:15:\"getContactPhone\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (65,1,'civicrm/ajax/subtype',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"buildSubTypes\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (66,1,'civicrm/ajax/signature',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:12:\"getSignature\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (67,1,'civicrm/ajax/pdfFormat',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"pdfFormat\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (68,1,'civicrm/ajax/paperSize',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"paperSize\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (69,1,'civicrm/ajax/contactref',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:31:\"access contact reference fields\";i:1;s:15:\" access CiviCRM\";}i:1;s:2:\"or\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:16:\"contactReference\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (70,1,'civicrm/dashlet/myCases',NULL,'Case Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Dashlet_Page_MyCases\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (71,1,'civicrm/dashlet/allCases',NULL,'All Cases Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','s:25:\"CRM_Dashlet_Page_AllCases\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (72,1,'civicrm/dashlet/casedashboard',NULL,'Case Dashboard Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Dashlet_Page_CaseDashboard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (73,1,'civicrm/contact/deduperules',NULL,'Find and Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer dedupe rules\";i:1;s:24:\"merge duplicate contacts\";}i:1;s:2:\"or\";}','s:28:\"CRM_Contact_Page_DedupeRules\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,105,1,0,NULL,'a:2:{s:4:\"desc\";s:158:\"Manage the rules used to identify potentially duplicate contact records. Scan for duplicates using a selected rule and merge duplicate contact data as needed.\";s:10:\"adminGroup\";s:6:\"Manage\";}'),
+ (74,1,'civicrm/contact/dedupefind',NULL,'Find and Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Page_DedupeFind\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (75,1,'civicrm/ajax/dedupefind',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:10:\"getDedupes\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (76,1,'civicrm/contact/dedupemerge',NULL,'Batch Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Page_DedupeMerge\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (77,1,'civicrm/dedupe/exception',NULL,'Dedupe Exceptions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contact_Page_DedupeException\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,110,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:6:\"Manage\";}'),
+ (78,1,'civicrm/ajax/dedupeRules',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:16:\"buildDedupeRules\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (79,1,'civicrm/contact/view/useradd','cid=%%cid%%','Add User','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:29:\"CRM_Contact_Page_View_Useradd\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (80,1,'civicrm/ajax/markSelection',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:22:\"selectUnselectContacts\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (81,1,'civicrm/ajax/toggleDedupeSelect',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:18:\"toggleDedupeSelect\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (82,1,'civicrm/ajax/flipDupePairs',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"flipDupePairs\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (83,1,'civicrm/activity/sms/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:8:\"send SMS\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_SMS\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (84,1,'civicrm/ajax/contactrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"view my contact\";}i:1;s:2:\"or\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:23:\"getContactRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (85,1,'civicrm/admin/custom/group',NULL,'Custom Data','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Page_Group\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:109:\"Configure custom fields to collect and store custom data which is not included in the standard CiviCRM forms.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (86,1,'civicrm/admin/custom/group/edit',NULL,'Configure Custom Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Form_Group\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (87,1,'civicrm/admin/custom/group/preview',NULL,'Custom Field Preview','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:23:\"CRM_Custom_Form_Preview\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (88,1,'civicrm/admin/custom/group/delete',NULL,'Delete Custom Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:27:\"CRM_Custom_Form_DeleteGroup\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (89,1,'civicrm/admin/custom/group/field',NULL,'Custom Data Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,11,1,0,0,'a:0:{}'),
+ (90,1,'civicrm/admin/custom/group/field/delete',NULL,'Delete Custom Field','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:27:\"CRM_Custom_Form_DeleteField\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (91,1,'civicrm/admin/custom/group/field/option',NULL,'Custom Field - Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:22:\"CRM_Custom_Page_Option\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (92,1,'civicrm/admin/custom/group/field/add',NULL,'Custom Field - Add','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (93,1,'civicrm/admin/custom/group/field/update',NULL,'Custom Field - Edit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (94,1,'civicrm/admin/custom/group/field/move',NULL,'Custom Field - Move','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:25:\"CRM_Custom_Form_MoveField\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (95,1,'civicrm/admin/uf/group',NULL,'Profiles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Page_Group\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:4:\"desc\";s:151:\"Profiles allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (96,1,'civicrm/admin/uf/group/field',NULL,'CiviCRM Profile Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,21,1,0,0,'a:0:{}'),
+ (97,1,'civicrm/admin/uf/group/field/add',NULL,'Add Field','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,22,1,0,NULL,'a:0:{}'),
+ (98,1,'civicrm/admin/uf/group/field/update',NULL,'Edit Field','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,23,1,0,NULL,'a:0:{}'),
+ (99,1,'civicrm/admin/uf/group/add',NULL,'New CiviCRM Profile','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Group\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,24,1,0,NULL,'a:0:{}'),
+ (100,1,'civicrm/admin/uf/group/update',NULL,'Profile Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Group\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,25,1,0,NULL,'a:0:{}'),
+ (101,1,'civicrm/admin/uf/group/setting',NULL,'AdditionalInfo Form','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_UF_Form_AdvanceSetting\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,0,1,0,NULL,'a:0:{}'),
+ (102,1,'civicrm/admin/options/activity_type',NULL,'Activity Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:4:\"desc\";s:155:\"CiviCRM has several built-in activity types (meetings, phone calls, emails sent). Track other types of interactions by creating custom activity types here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (103,1,'civicrm/admin/reltype',NULL,'Relationship Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Page_RelationshipType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,35,1,0,NULL,'a:2:{s:4:\"desc\";s:148:\"Contacts can be linked to each other through Relationships (e.g. Spouse, Employer, etc.). Define the types of relationships you want to record here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (104,1,'civicrm/admin/options/subtype',NULL,'Contact Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Page_ContactType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (105,1,'civicrm/admin/options/gender',NULL,'Gender Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,45,1,0,NULL,'a:2:{s:4:\"desc\";s:79:\"Options for assigning gender to individual contacts (e.g. Male, Female, Other).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (106,1,'civicrm/admin/options/individual_prefix',NULL,'Individual Prefixes (Ms, Mr...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:2:{s:4:\"desc\";s:66:\"Options for individual contact prefixes (e.g. Ms., Mr., Dr. etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (107,1,'civicrm/admin/options/individual_suffix',NULL,'Individual Suffixes (Jr, Sr...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,55,1,0,NULL,'a:2:{s:4:\"desc\";s:61:\"Options for individual contact suffixes (e.g. Jr., Sr. etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (108,1,'civicrm/admin/locationType',NULL,'Location Types (Home, Work...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_LocationType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:2:{s:4:\"desc\";s:94:\"Options for categorizing contact addresses and phone numbers (e.g. Home, Work, Billing, etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (109,1,'civicrm/admin/options/website_type',NULL,'Website Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,65,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Options for assigning website types to contacts.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (110,1,'civicrm/admin/options/instant_messenger_service',NULL,'Instant Messenger Services','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:2:{s:4:\"desc\";s:79:\"List of IM services which can be used when recording screen-names for contacts.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (111,1,'civicrm/admin/options/mobile_provider',NULL,'Mobile Phone Providers','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,75,1,0,NULL,'a:2:{s:4:\"desc\";s:90:\"List of mobile phone providers which can be assigned when recording contact phone numbers.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (112,1,'civicrm/admin/options/phone_type',NULL,'Phone Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:2:{s:4:\"desc\";s:80:\"Options for assigning phone type to contacts (e.g Phone,\n    Mobile, Fax, Pager)\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (113,1,'civicrm/admin/setting/preferences/display',NULL,'Display Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Display\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (114,1,'civicrm/admin/setting/search',NULL,'Search Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Form_Setting_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,95,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (115,1,'civicrm/admin/setting/preferences/date',NULL,'View Date Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Admin_Page_PreferencesDate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (116,1,'civicrm/admin/menu',NULL,'Navigation Menu','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_Navigation\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:2:{s:4:\"desc\";s:79:\"Add or remove menu items, and modify the order of items on the navigation menu.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (117,1,'civicrm/admin/options/wordreplacements',NULL,'Word Replacements','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Form_WordReplacements\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,105,1,0,NULL,'a:2:{s:4:\"desc\";s:18:\"Word Replacements.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (118,1,'civicrm/admin/options/custom_search',NULL,'Manage Custom Searches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,110,1,0,NULL,'a:2:{s:4:\"desc\";s:225:\"Developers and accidental techies with a bit of PHP and SQL knowledge can create new search forms to handle specific search and reporting needs which aren\'t covered by the built-in Advanced Search and Search Builder features.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (119,1,'civicrm/admin/domain','action=update','Organization Address and Contact Info','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Contact_Form_Domain\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:150:\"Configure primary contact name, email, return-path and address information. This information is used by CiviMail to identify the sending organization.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (120,1,'civicrm/admin/options/from_email_address',NULL,'From Email Addresses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (121,1,'civicrm/admin/messageTemplates',NULL,'Message Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:22:\"edit message templates\";i:1;s:34:\"edit user-driven message templates\";i:2;s:38:\"edit system workflow message templates\";}i:1;s:2:\"or\";}','s:31:\"CRM_Admin_Page_MessageTemplates\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:4:\"desc\";s:130:\"Message templates allow you to save and re-use messages with layouts which you can use when sending email to one or more contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (122,1,'civicrm/admin/messageTemplates/add',NULL,'Message Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:22:\"edit message templates\";i:1;s:34:\"edit user-driven message templates\";i:2;s:38:\"edit system workflow message templates\";}i:1;s:2:\"or\";}','s:31:\"CRM_Admin_Form_MessageTemplates\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:17:\"Message Templates\";s:3:\"url\";s:39:\"/civicrm/admin/messageTemplates?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,262,1,0,NULL,'a:1:{s:4:\"desc\";s:26:\"Add/Edit Message Templates\";}'),
+ (123,1,'civicrm/admin/scheduleReminders',NULL,'Schedule Reminders','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCRM data\";i:1;s:15:\"edit all events\";}i:1;s:2:\"or\";}','s:32:\"CRM_Admin_Page_ScheduleReminders\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:2:{s:4:\"desc\";s:19:\"Schedule Reminders.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (124,1,'civicrm/admin/weight',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_Weight\";i:1;s:8:\"fixOrder\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (125,1,'civicrm/admin/options/preferred_communication_method',NULL,'Preferred Communication Methods','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:2:{s:4:\"desc\";s:117:\"One or more preferred methods of communication can be assigned to each contact. Customize the available options here.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (126,1,'civicrm/admin/labelFormats',NULL,'Label Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_LabelFormats\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:2:{s:4:\"desc\";s:67:\"Configure Label Formats that are used when creating mailing labels.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (127,1,'civicrm/admin/pdfFormats',NULL,'Print Page (PDF) Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_PdfFormats\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:2:{s:4:\"desc\";s:95:\"Configure PDF Page Formats that can be assigned to Message Templates when creating PDF letters.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (128,1,'civicrm/admin/options/communication_style',NULL,'Communication Style Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,75,1,0,NULL,'a:2:{s:4:\"desc\";s:42:\"Options for Communication Style selection.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (129,1,'civicrm/admin/options/email_greeting',NULL,'Email Greeting Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:2:{s:4:\"desc\";s:75:\"Options for assigning email greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (130,1,'civicrm/admin/options/postal_greeting',NULL,'Postal Greeting Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:2:{s:4:\"desc\";s:76:\"Options for assigning postal greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (131,1,'civicrm/admin/options/addressee',NULL,'Addressee Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:2:{s:4:\"desc\";s:83:\"Options for assigning addressee to individual, household and organization contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (132,1,'civicrm/admin/setting/localization',NULL,'Languages, Currency, Locations','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Admin_Form_Setting_Localization\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:12:\"Localization\";}'),
+ (133,1,'civicrm/admin/setting/preferences/address',NULL,'Address Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Address\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:12:\"Localization\";}'),
+ (134,1,'civicrm/admin/setting/date',NULL,'Date Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Date\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:12:\"Localization\";}'),
+ (135,1,'civicrm/admin/options/languages',NULL,'Preferred Languages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:2:{s:4:\"desc\";s:30:\"Options for contact languages.\";s:10:\"adminGroup\";s:12:\"Localization\";}'),
+ (136,1,'civicrm/admin/access',NULL,'Access Control','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Admin_Page_Access\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:73:\"Grant or deny access to actions (view, edit...), features and components.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";}'),
+ (137,1,'civicrm/admin/access/wp-permissions',NULL,'WordPress Access Control','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_ACL_Form_WordPress_Permissions\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:14:\"Access Control\";s:3:\"url\";s:29:\"/civicrm/admin/access?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:1:{s:4:\"desc\";s:65:\"Grant access to CiviCRM components and other CiviCRM permissions.\";}'),
+ (138,1,'civicrm/admin/synchUser',NULL,'Synchronize Users to Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_CMSUser\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:4:\"desc\";s:71:\"Automatically create a CiviCRM contact record for each CMS user record.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";}'),
+ (139,1,'civicrm/admin/configtask',NULL,'Configuration Checklist','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Page_ConfigTaskList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}','civicrm/admin/configtask',NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:55:\"List of configuration tasks with links to each setting.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (140,1,'civicrm/admin/setting/component',NULL,'Enable CiviCRM Components','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Form_Setting_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:269:\"Enable or disable components (e.g. CiviEvent, CiviMember, etc.) for your site based on the features you need. We recommend disabling any components not being used in order to simplify the user interface. You can easily re-enable components at any time from this screen.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (141,1,'civicrm/admin/extensions',NULL,'Manage Extensions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_Extensions\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,120,1,0,NULL,'a:2:{s:4:\"desc\";s:0:\"\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (142,1,'civicrm/admin/extensions/upgrade',NULL,'Database Upgrades','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Page_ExtensionsUpgrade\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:17:\"Manage Extensions\";s:3:\"url\";s:33:\"/civicrm/admin/extensions?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (143,1,'civicrm/admin/setting/smtp',NULL,'Outbound Email Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Smtp\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (144,1,'civicrm/admin/paymentProcessor',NULL,'Settings - Payment Processor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:29:\"administer payment processors\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Page_PaymentProcessor\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Payment Processor setup for CiviCRM transactions\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (145,1,'civicrm/admin/setting/mapping',NULL,'Mapping and Geocoding','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Admin_Form_Setting_Mapping\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (146,1,'civicrm/admin/setting/misc',NULL,'Misc (Undelete, PDFs, Limits, Logging, etc.)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Admin_Form_Setting_Miscellaneous\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:2:{s:4:\"desc\";s:63:\"Enable undelete/move to trash feature, detailed change logging.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (147,1,'civicrm/admin/setting/path',NULL,'Directories','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Path\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (148,1,'civicrm/admin/setting/url',NULL,'Resource URLs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Form_Setting_Url\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (149,1,'civicrm/admin/setting/updateConfigBackend',NULL,'Cleanup Caches and Update Paths','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Admin_Form_Setting_UpdateConfigBackend\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:2:{s:4:\"desc\";s:157:\"Reset the Base Directory Path and Base URL settings - generally when a CiviCRM site is moved to another location in the file system and/or to another domain.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (150,1,'civicrm/admin/setting/uf',NULL,'CMS Database Integration','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Form_Setting_UF\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (151,1,'civicrm/admin/options/safe_file_extension',NULL,'Safe File Extension Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:2:{s:4:\"desc\";s:44:\"File Extensions that can be considered safe.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (152,1,'civicrm/admin/options',NULL,'Option Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,105,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Access all meta-data option groups.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (153,1,'civicrm/admin/mapping',NULL,'Import/Export Mappings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Mapping\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,110,1,0,NULL,'a:2:{s:4:\"desc\";s:141:\"Import and Export mappings allow you to easily run the same job multiple times. This option allows you to rename or delete existing mappings.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (154,1,'civicrm/admin/setting/debug',NULL,'Debugging','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Form_Setting_Debugging\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,120,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (155,1,'civicrm/admin/setting/preferences/multisite',NULL,'Multi Site Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,130,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (156,1,'civicrm/admin/setting/preferences/campaign',NULL,'CiviCampaign Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:3:{s:4:\"desc\";s:40:\"Configure global CiviCampaign behaviors.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (157,1,'civicrm/admin/setting/preferences/event',NULL,'CiviEvent Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:2:{s:4:\"desc\";s:37:\"Configure global CiviEvent behaviors.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
+ (158,1,'civicrm/admin/setting/preferences/mailing',NULL,'CiviMail Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Mailing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:2:{s:4:\"desc\";s:36:\"Configure global CiviMail behaviors.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
+ (159,1,'civicrm/admin/setting/preferences/member',NULL,'CiviMember Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Admin_Form_Preferences_Member\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:38:\"Configure global CiviMember behaviors.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),
+ (160,1,'civicrm/admin/runjobs',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_System\";i:1;s:20:\"executeScheduledJobs\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:36:\"URL used for running scheduled jobs.\";}'),
+ (161,1,'civicrm/admin/job',NULL,'Scheduled Jobs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:18:\"CRM_Admin_Page_Job\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1370,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Managing periodially running tasks.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (162,1,'civicrm/admin/joblog',NULL,'Scheduled Jobs Log','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:21:\"CRM_Admin_Page_JobLog\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1380,1,0,NULL,'a:2:{s:4:\"desc\";s:46:\"Browsing the log of periodially running tasks.\";s:10:\"adminGroup\";s:6:\"Manage\";}'),
+ (163,1,'civicrm/admin/options/grant_type',NULL,'Grant Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,385,1,0,NULL,'a:2:{s:4:\"desc\";s:148:\"List of types which can be assigned to Grants. (Enable CiviGrant from Administer > Systme Settings > Enable Components if you want to track grants.)\";s:10:\"adminGroup\";s:12:\"Option Lists\";}'),
+ (164,1,'civicrm/admin/paymentProcessorType',NULL,'Payment Processor Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Admin_Page_PaymentProcessorType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:1:{s:4:\"desc\";s:34:\"Payment Processor type information\";}'),
+ (165,1,'civicrm/admin',NULL,'Administer CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_Admin_Page_Admin\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,9000,1,1,NULL,'a:0:{}'),
+ (166,1,'civicrm/ajax/navmenu',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:7:\"navMenu\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (167,1,'civicrm/ajax/menutree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:8:\"menuTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
+ (168,1,'civicrm/ajax/statusmsg',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:12:\"getStatusMsg\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (169,1,'civicrm/admin/price',NULL,'Price Sets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";s:10:\"adminGroup\";s:9:\"Customize\";}'),
+ (170,1,'civicrm/admin/price/add','action=add','New Price Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";}'),
+ (171,1,'civicrm/admin/price/field',NULL,'Price Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:20:\"CRM_Price_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,0,'a:0:{}'),
+ (172,1,'civicrm/admin/price/field/option',NULL,'Price Field Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:21:\"CRM_Price_Page_Option\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (173,1,'civicrm/ajax/mapping',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:11:\"mappingList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (174,1,'civicrm/ajax/recipientListing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:16:\"recipientListing\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (175,1,'civicrm/admin/sms/provider',NULL,'Sms Providers','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_SMS_Page_Provider\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,500,1,0,NULL,'a:2:{s:4:\"desc\";s:27:\"To configure a sms provider\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (176,1,'civicrm/sms/send',NULL,'New Mass SMS','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:8:\"send SMS\";}i:1;s:3:\"and\";}','s:23:\"CRM_SMS_Controller_Send\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,610,1,1,NULL,'a:0:{}'),
+ (177,1,'civicrm/sms/callback',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_SMS_Page_Callback\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (178,1,'civicrm/admin/badgelayout','action=browse','Event Name Badge Layouts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Badge_Page_Layout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,399,1,0,NULL,'a:2:{s:4:\"desc\";s:107:\"Configure name badge layouts for event participants, including logos and what data to include on the badge.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
+ (179,1,'civicrm/admin/badgelayout/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Badge_Form_Layout\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:24:\"Event Name Badge Layouts\";s:3:\"url\";s:52:\"/civicrm/admin/badgelayout?reset=1&amp;action=browse\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (180,1,'civicrm/ajax/api4',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Api4_Permission\";i:1;s:5:\"check\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Api4_Page_AJAX\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (181,1,'civicrm/api4',NULL,'CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Api4_Page_Api4Explorer\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (182,1,'civicrm/custom/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Custom_Form_CustomData\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (183,1,'civicrm/ajax/optionlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:13:\"getOptionList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (184,1,'civicrm/ajax/reorder',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:11:\"fixOrdering\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (185,1,'civicrm/ajax/multirecordfieldlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:23:\"getMultiRecordFieldList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (186,1,'civicrm/profile',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Profile_Page_Router\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (187,1,'civicrm/profile/create',NULL,'CiviCRM Profile Create','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Profile_Page_Router\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (188,1,'civicrm/profile/view',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Profile_Page_View\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (189,1,'civicrm/pcp',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Form_PCP\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (190,1,'civicrm/pcp/campaign',NULL,'Setup a Personal Campaign Page - Account Information','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (191,1,'civicrm/pcp/info',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_PCP_Page_PCPInfo\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (192,1,'civicrm/admin/pcp','context=contribute','Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Page_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,362,1,0,NULL,'a:2:{s:4:\"desc\";s:49:\"View and manage existing personal campaign pages.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
+ (193,1,'civicrm/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Custom_Form_CustomDataByType\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (194,1,'civicrm/ajax/jqState',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:7:\"jqState\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (195,1,'civicrm/ajax/jqCounty',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:8:\"jqCounty\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (196,1,'civicrm/import',NULL,'Import','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Import_Controller\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,400,1,1,NULL,'a:0:{}'),
+ (197,1,'civicrm/import/contact',NULL,'Import Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,410,1,1,NULL,'a:0:{}'),
+ (198,1,'civicrm/import/activity',NULL,'Import Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,420,1,1,NULL,'a:0:{}'),
+ (199,1,'civicrm/import/custom','id=%%id%%','Import Multi-value Custom Data','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Custom_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,420,1,1,NULL,'a:0:{}'),
+ (200,1,'civicrm/ajax/status',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:28:\"CRM_Contact_Import_Page_AJAX\";i:1;s:6:\"status\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (201,1,'civicrm/upgrade',NULL,'Upgrade CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Upgrade_Page_Upgrade\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (202,1,'civicrm/export',NULL,'Download Errors','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Export_BAO_Export\";i:1;s:6:\"invoke\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (203,1,'civicrm/export/contact',NULL,'Export Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Export_BAO_Export\";i:1;s:6:\"invoke\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Download Errors\";s:3:\"url\";s:23:\"/civicrm/export?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (204,1,'civicrm/export/standalone',NULL,'Export','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Export_Controller_Standalone\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Download Errors\";s:3:\"url\";s:23:\"/civicrm/export?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (205,1,'civicrm/admin/options/acl_role',NULL,'ACL Roles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (206,1,'civicrm/acl',NULL,'Manage ACLs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_ACL_Page_ACL\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (207,1,'civicrm/acl/entityrole',NULL,'Assign Users to ACL Roles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_ACL_Page_EntityRole\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"Manage ACLs\";s:3:\"url\";s:20:\"/civicrm/acl?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (208,1,'civicrm/acl/basic',NULL,'ACL','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_ACL_Page_ACLBasic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"Manage ACLs\";s:3:\"url\";s:20:\"/civicrm/acl?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (209,1,'civicrm/file',NULL,'Browse Uploaded files','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access uploaded files\";}i:1;s:3:\"and\";}','s:18:\"CRM_Core_Page_File\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (210,1,'civicrm/file/delete',NULL,'Delete File','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:17:\"CRM_Core_BAO_File\";i:1;s:16:\"deleteAttachment\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:21:\"Browse Uploaded files\";s:3:\"url\";s:21:\"/civicrm/file?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (211,1,'civicrm/friend',NULL,'Tell a Friend','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:15:\"CRM_Friend_Form\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (212,1,'civicrm/logout',NULL,'Log out','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_System\";i:1;s:6:\"logout\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,9999,1,1,NULL,'a:0:{}'),
+ (213,1,'civicrm/i18n',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"translate CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Core_I18n_Form\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (214,1,'civicrm/ajax/attachment',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access AJAX API\";}i:1;s:2:\"or\";}','a:2:{i:0;s:29:\"CRM_Core_Page_AJAX_Attachment\";i:1;s:10:\"attachFile\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (215,1,'civicrm/api',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Core_Page_Redirect\";','s:16:\"url=civicrm/api3\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (216,1,'civicrm/api3',NULL,'CiviCRM API v3','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Page_APIExplorer\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (217,1,'civicrm/ajax/apiexample',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:26:\"CRM_Admin_Page_APIExplorer\";i:1;s:14:\"getExampleFile\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (218,1,'civicrm/ajax/apidoc',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:26:\"CRM_Admin_Page_APIExplorer\";i:1;s:6:\"getDoc\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (219,1,'civicrm/ajax/rest',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access AJAX API\";}i:1;s:2:\"or\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:4:\"ajax\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (220,1,'civicrm/api/json',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:8:\"ajaxJson\";}','s:16:\"url=civicrm/api3\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (221,1,'civicrm/inline',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:12:\"loadTemplate\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (222,1,'civicrm/ajax/chart',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_ContributionCharts\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (223,1,'civicrm/asset/builder',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','a:2:{i:0;s:23:\"\\Civi\\Core\\AssetBuilder\";i:1;s:7:\"pageRun\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (224,1,'civicrm/contribute/ajax/tableview',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contribute_Page_DashBoard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (225,1,'civicrm/payment/ipn',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Core_Payment\";i:1;s:9:\"handleIPN\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (226,1,'civicrm/batch',NULL,'Batch Data Entry','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Page_Batch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (227,1,'civicrm/batch/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Form_Batch\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Batch Data Entry\";s:3:\"url\";s:22:\"/civicrm/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (228,1,'civicrm/batch/entry',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Form_Entry\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Batch Data Entry\";s:3:\"url\";s:22:\"/civicrm/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (229,1,'civicrm/ajax/batch',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Batch_Page_AJAX\";i:1;s:9:\"batchSave\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (230,1,'civicrm/ajax/batchlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Batch_Page_AJAX\";i:1;s:12:\"getBatchList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (231,1,'civicrm/ajax/inline',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Core_Page_AJAX\";i:1;s:3:\"run\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (232,1,'civicrm/dev/qunit',NULL,'QUnit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:19:\"CRM_Core_Page_QUnit\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (233,1,'civicrm/profile-editor/schema',NULL,'ProfileEditor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:25:\"CRM_UF_Page_ProfileEditor\";i:1;s:13:\"getSchemaJSON\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (234,1,'civicrm/a',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"\\Civi\\Angular\\Page\\Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (235,1,'civicrm/ajax/angular-modules',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:26:\"\\Civi\\Angular\\Page\\Modules\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (236,1,'civicrm/ajax/recurringentity/update-mode',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:34:\"CRM_Core_Page_AJAX_RecurringEntity\";i:1;s:10:\"updateMode\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (237,1,'civicrm/recurringentity/preview',NULL,'Confirm dates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Core_Page_RecurringEntityPreview\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (238,1,'civicrm/shortcode',NULL,'Insert CiviCRM Content','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Core_Form_ShortCode\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (239,1,'civicrm/task/add-to-group',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contact_Form_Task_AddToGroup\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (240,1,'civicrm/task/remove-from-group',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contact_Form_Task_RemoveFromGroup\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (241,1,'civicrm/task/add-to-tag',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Contact_Form_Task_AddToTag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (242,1,'civicrm/task/remove-from-tag',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Contact_Form_Task_RemoveFromTag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (243,1,'civicrm/task/send-email',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (244,1,'civicrm/task/make-mailing-label',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Label\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (245,1,'civicrm/task/pick-profile',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Contact_Form_Task_PickProfile\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (246,1,'civicrm/task/print-document',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_PDF\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (247,1,'civicrm/task/unhold-email',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Form_Task_Unhold\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (248,1,'civicrm/task/alter-contact-preference',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contact_Form_Task_AlterPreferences\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (249,1,'civicrm/task/delete-contact',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Form_Task_Delete\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (250,1,'civicrm/event',NULL,'CiviEvent Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:24:\"CRM_Event_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,800,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviEvent\";}'),
+ (251,1,'civicrm/participant/add','action=add','Register New Participant','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Event_Page_Tab\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:9:\"CiviEvent\";}'),
+ (252,1,'civicrm/event/info',NULL,'Event Information','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:24:\"CRM_Event_Page_EventInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (253,1,'civicrm/event/register',NULL,'Event Registration','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Controller_Registration\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (254,1,'civicrm/event/confirm',NULL,'Confirm Event Registration','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:46:\"CRM_Event_Form_Registration_ParticipantConfirm\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (255,1,'civicrm/event/ical',NULL,'Current and Upcoming Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"view event info\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Event_ICalendar\";i:1;s:3:\"run\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (256,1,'civicrm/event/list',NULL,'Current and Upcoming Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"view event info\";}i:1;s:3:\"and\";}','s:19:\"CRM_Event_Page_List\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (257,1,'civicrm/event/participant',NULL,'Event Participants List','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"view event participants\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Page_ParticipantListing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (258,1,'civicrm/admin/event',NULL,'Manage Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:26:\"CRM_Event_Page_ManageEvent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:2:{s:4:\"desc\";s:136:\"Create and edit event configuration including times, locations, online registration forms, and fees. Links for iCal and RSS syndication.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
+ (259,1,'civicrm/admin/eventTemplate',NULL,'Event Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Admin_Page_EventTemplate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,375,1,0,NULL,'a:2:{s:4:\"desc\";s:115:\"Administrators can create Event Templates - which are basically master event records pre-filled with default values\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
+ (260,1,'civicrm/admin/options/event_type',NULL,'Event Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,385,1,0,NULL,'a:2:{s:4:\"desc\";s:143:\"Use Event Types to categorize your events. Event feeds can be filtered by Event Type and participant searches can use Event Type as a criteria.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
+ (261,1,'civicrm/admin/participant_status',NULL,'Participant Status','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Admin_Page_ParticipantStatusType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:154:\"Define statuses for event participants here (e.g. Registered, Attended, Cancelled...). You can then assign statuses and search for participants by status.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
+ (262,1,'civicrm/admin/options/participant_role',NULL,'Participant Role','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,395,1,0,NULL,'a:2:{s:4:\"desc\";s:138:\"Define participant roles for events here (e.g. Attendee, Host, Speaker...). You can then assign roles and search for participants by role.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
+ (263,1,'civicrm/admin/options/participant_listing',NULL,'Participant Listing Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,398,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Template to control participant listing display.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
+ (264,1,'civicrm/admin/options/conference_slot',NULL,'Conference Slot Labels','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,415,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Define conference slots and labels.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
+ (265,1,'civicrm/event/search',NULL,'Find Participants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:27:\"CRM_Event_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,810,1,1,NULL,'a:0:{}'),
+ (266,1,'civicrm/event/manage',NULL,'Manage Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:26:\"CRM_Event_Page_ManageEvent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,820,1,1,NULL,'a:0:{}'),
+ (267,1,'civicrm/event/badge',NULL,'Print Event Name Badge','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:25:\"CRM_Event_Form_Task_Badge\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (268,1,'civicrm/event/manage/settings',NULL,'Event Info and Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Event_Form_ManageEvent_EventInfo\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,910,1,0,NULL,'a:0:{}'),
+ (269,1,'civicrm/event/manage/location',NULL,'Event Location','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:35:\"CRM_Event_Form_ManageEvent_Location\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,930,1,0,NULL,'a:0:{}'),
+ (270,1,'civicrm/event/manage/fee',NULL,'Event Fees','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:30:\"CRM_Event_Form_ManageEvent_Fee\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,920,1,0,NULL,'a:0:{}'),
+ (271,1,'civicrm/event/manage/registration',NULL,'Event Online Registration','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:39:\"CRM_Event_Form_ManageEvent_Registration\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,930,1,0,NULL,'a:0:{}'),
+ (272,1,'civicrm/event/manage/friend',NULL,'Tell a Friend','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:21:\"CRM_Friend_Form_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,940,1,0,NULL,'a:0:{}'),
+ (273,1,'civicrm/event/manage/reminder',NULL,'Schedule Reminders','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:44:\"CRM_Event_Form_ManageEvent_ScheduleReminders\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,950,1,0,NULL,'a:0:{}'),
+ (274,1,'civicrm/event/manage/repeat',NULL,'Repeat Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Form_ManageEvent_Repeat\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,960,1,0,NULL,'a:0:{}'),
+ (275,1,'civicrm/event/manage/conference',NULL,'Conference Slots','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:37:\"CRM_Event_Form_ManageEvent_Conference\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,950,1,0,NULL,'a:0:{}'),
+ (276,1,'civicrm/event/add','action=add','New Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Event_Form_ManageEvent_EventInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,830,1,0,NULL,'a:0:{}'),
+ (277,1,'civicrm/event/import',NULL,'Import Participants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:23:\"edit event participants\";}i:1;s:3:\"and\";}','s:27:\"CRM_Event_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,840,1,1,NULL,'a:0:{}'),
+ (278,1,'civicrm/event/price',NULL,'Manage Price Sets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,850,1,1,NULL,'a:0:{}'),
+ (279,1,'civicrm/event/selfsvcupdate',NULL,'Self-service Registration Update','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Event_Form_SelfSvcUpdate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,880,1,1,NULL,'a:0:{}'),
+ (280,1,'civicrm/event/selfsvctransfer',NULL,'Self-service Registration Transfer','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:30:\"CRM_Event_Form_SelfSvcTransfer\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,890,1,1,NULL,'a:0:{}'),
+ (281,1,'civicrm/contact/view/participant',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:18:\"CRM_Event_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,4,1,0,NULL,'a:0:{}'),
+ (282,1,'civicrm/ajax/eventFee',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Event_Page_AJAX\";i:1;s:8:\"eventFee\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (283,1,'civicrm/ajax/locBlock',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:11:\"getLocBlock\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (284,1,'civicrm/event/participant/feeselection',NULL,'Change Registration Selections','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:38:\"CRM_Event_Form_ParticipantFeeSelection\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:23:\"Event Participants List\";s:3:\"url\";s:34:\"/civicrm/event/participant?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (285,1,'civicrm/event/manage/pcp',NULL,'Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_PCP_Form_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,540,1,1,NULL,'a:0:{}'),
+ (286,1,'civicrm/event/pcp',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Form_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (287,1,'civicrm/event/campaign',NULL,'Setup a Personal Campaign Page - Account Information','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (288,1,'civicrm/contribute',NULL,'CiviContribute Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contribute_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,500,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
+ (289,1,'civicrm/contribute/add','action=add','New Contribution','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:23:\"CRM_Contribute_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
+ (290,1,'civicrm/contribute/chart',NULL,'Contribution Summary - Chart View','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_ContributionCharts\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
+ (291,1,'civicrm/contribute/transact',NULL,'CiviContribute','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Controller_Contribution\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,1,0,1,0,NULL,'a:0:{}'),
+ (292,1,'civicrm/admin/contribute',NULL,'Manage Contribution Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Contribute_Page_ContributionPage\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,360,1,0,NULL,'a:2:{s:4:\"desc\";s:242:\"CiviContribute allows you to create and maintain any number of Online Contribution Pages. You can create different pages for different programs or campaigns - and customize text, amounts, types of information collected from contributors, etc.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
+ (293,1,'civicrm/admin/contribute/settings',NULL,'Title and Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Form_ContributionPage_Settings\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:0:{}'),
+ (294,1,'civicrm/admin/contribute/amount',NULL,'Contribution Amounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Amount\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,410,1,0,NULL,'a:0:{}'),
+ (295,1,'civicrm/admin/contribute/membership',NULL,'Membership Section','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Member_Form_MembershipBlock\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:0:{}'),
+ (296,1,'civicrm/admin/contribute/custom',NULL,'Include Profiles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Custom\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:0:{}'),
+ (297,1,'civicrm/admin/contribute/thankyou',NULL,'Thank-you and Receipting','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Form_ContributionPage_ThankYou\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:0:{}'),
+ (298,1,'civicrm/admin/contribute/friend',NULL,'Tell a Friend','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Friend_Form_Contribute\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,440,1,0,NULL,'a:0:{}'),
+ (299,1,'civicrm/admin/contribute/widget',NULL,'Configure Widget','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Widget\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,460,1,0,NULL,'a:0:{}'),
+ (300,1,'civicrm/admin/contribute/premium',NULL,'Premiums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:44:\"CRM_Contribute_Form_ContributionPage_Premium\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,470,1,0,NULL,'a:0:{}'),
+ (301,1,'civicrm/admin/contribute/addProductToPage',NULL,'Add Products to This Page','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:47:\"CRM_Contribute_Form_ContributionPage_AddProduct\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,480,1,0,NULL,'a:0:{}'),
+ (302,1,'civicrm/admin/contribute/add','action=add','New Contribution Page','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Contribute_Controller_ContributionPage\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (303,1,'civicrm/admin/contribute/managePremiums',NULL,'Manage Premiums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Contribute_Page_ManagePremiums\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,365,1,0,NULL,'a:2:{s:4:\"desc\";s:175:\"CiviContribute allows you to configure any number of Premiums which can be offered to contributors as incentives / thank-you gifts. Define the premiums you want to offer here.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
+ (304,1,'civicrm/admin/financial/financialType',NULL,'Financial Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Financial_Page_FinancialType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,580,1,0,NULL,'a:2:{s:4:\"desc\";s:64:\"Formerly civicrm_contribution_type merged into this table in 4.1\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
+ (305,1,'civicrm/payment','action=add','New Payment','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contribute_Form_AdditionalPayment\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
+ (306,1,'civicrm/admin/financial/financialAccount',NULL,'Financial Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Financial_Page_FinancialAccount\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:2:{s:4:\"desc\";s:128:\"Financial types are used to categorize contributions for reporting and accounting purposes. These are also referred to as Funds.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
+ (307,1,'civicrm/admin/options/payment_instrument',NULL,'Payment Methods','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:4:\"desc\";s:224:\"You may choose to record the payment instrument used for each contribution. Common payment methods are installed by default (e.g. Check, Cash, Credit Card...). If your site requires additional payment methods, add them here.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
+ (308,1,'civicrm/admin/options/accept_creditcard',NULL,'Accepted Credit Cards','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,395,1,0,NULL,'a:2:{s:4:\"desc\";s:94:\"Credit card options that will be offered to contributors using your Online Contribution pages.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
+ (309,1,'civicrm/admin/options/soft_credit_type',NULL,'Soft Credit Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:86:\"Soft Credit Types that will be offered to contributors during soft credit contribution\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
+ (310,1,'civicrm/contact/view/contribution',NULL,'Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:23:\"CRM_Contribute_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (311,1,'civicrm/contact/view/contributionrecur',NULL,'Recurring Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:37:\"CRM_Contribute_Page_ContributionRecur\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (312,1,'civicrm/contact/view/contribution/additionalinfo',NULL,'Additional Info','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contribute_Form_AdditionalInfo\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}i:2;a:2:{s:5:\"title\";s:13:\"Contributions\";s:3:\"url\";s:42:\"/civicrm/contact/view/contribution?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (313,1,'civicrm/contribute/search',NULL,'Find Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,510,1,1,NULL,'a:0:{}'),
+ (314,1,'civicrm/contribute/searchBatch',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contribute_Controller_SearchBatch\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,588,1,1,NULL,'a:0:{}'),
+ (315,1,'civicrm/contribute/import',NULL,'Import Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:21:\"access CiviContribute\";i:1;s:18:\"edit contributions\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,520,1,1,NULL,'a:0:{}'),
+ (316,1,'civicrm/contribute/manage',NULL,'Manage Contribution Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:36:\"CRM_Contribute_Page_ContributionPage\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,530,1,1,NULL,'a:0:{}'),
+ (317,1,'civicrm/contribute/additionalinfo',NULL,'AdditionalInfo Form','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:34:\"CRM_Contribute_Form_AdditionalInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (318,1,'civicrm/ajax/permlocation',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:23:\"getPermissionedLocation\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (319,1,'civicrm/contribute/unsubscribe',NULL,'Cancel Subscription','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_CancelSubscription\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (320,1,'civicrm/contribute/onbehalf',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_Contribution_OnBehalfOf\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (321,1,'civicrm/contribute/updatebilling',NULL,'Update Billing Details','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:33:\"CRM_Contribute_Form_UpdateBilling\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (322,1,'civicrm/contribute/updaterecur',NULL,'Update Subscription','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_UpdateSubscription\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (323,1,'civicrm/contribute/subscriptionstatus',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Page_SubscriptionStatus\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (324,1,'civicrm/admin/financial/financialType/accounts',NULL,'Financial Type Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:39:\"CRM_Financial_Page_FinancialTypeAccount\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:15:\"Financial Types\";s:3:\"url\";s:46:\"/civicrm/admin/financial/financialType?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,581,1,0,NULL,'a:0:{}'),
+ (325,1,'civicrm/financial/batch',NULL,'Accounting Batch','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"create manual batch\";}i:1;s:3:\"and\";}','s:33:\"CRM_Financial_Page_FinancialBatch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,585,1,0,NULL,'a:0:{}'),
+ (326,1,'civicrm/financial/financialbatches',NULL,'Accounting Batches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Financial_Page_Batch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,586,1,0,NULL,'a:0:{}'),
+ (327,1,'civicrm/batchtransaction',NULL,'Accounting Batch','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Financial_Page_BatchTransaction\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,600,1,0,NULL,'a:0:{}'),
+ (328,1,'civicrm/financial/batch/export',NULL,'Accounting Batch Export','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"create manual batch\";}i:1;s:3:\"and\";}','s:25:\"CRM_Financial_Form_Export\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Accounting Batch\";s:3:\"url\";s:32:\"/civicrm/financial/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,610,1,0,NULL,'a:0:{}'),
+ (329,1,'civicrm/payment/view','action=view','View Payment','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contribute_Page_PaymentInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
+ (330,1,'civicrm/admin/setting/preferences/contribute',NULL,'CiviContribute Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:21:\"access CiviContribute\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:37:\"CRM_Admin_Form_Preferences_Contribute\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:42:\"Configure global CiviContribute behaviors.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
+ (331,1,'civicrm/contribute/invoice',NULL,'PDF Invoice','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:20:\"checkDownloadInvoice\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Contribute_Form_Task_Invoice\";i:1;s:11:\"getPrintPDF\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,620,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
+ (332,1,'civicrm/contribute/invoice/email',NULL,'Email Invoice','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:20:\"checkDownloadInvoice\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Form_Task_Invoice\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"PDF Invoice\";s:3:\"url\";s:35:\"/civicrm/contribute/invoice?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,630,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
+ (333,1,'civicrm/ajax/softcontributionlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:24:\"CRM_Contribute_Page_AJAX\";i:1;s:23:\"getSoftContributionRows\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (334,1,'civicrm/contribute/contributionrecur-payments',NULL,'Recurring Contribution\'s Payments','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Page_ContributionRecurPayments\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (335,1,'civicrm/membership/recurring-contributions',NULL,'Membership Recurring Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:38:\"CRM_Member_Page_RecurringContributions\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (336,1,'civicrm/contribute/widget',NULL,'CiviContribute','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contribute_Page_Widget\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (337,1,'civicrm/contribute/task',NULL,'Contribution Task','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:30:\"CRM_Contribute_Controller_Task\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (338,1,'civicrm/admin/contribute/pcp',NULL,'Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_PCP_Form_Contribute\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,450,1,0,NULL,'a:0:{}'),
+ (339,1,'civicrm/contribute/campaign',NULL,'Setup a Personal Campaign Page - Account Information','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (340,1,'civicrm/member',NULL,'CiviMember Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:25:\"CRM_Member_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,700,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviMember\";}'),
+ (341,1,'civicrm/member/add','action=add','New Membership','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:19:\"CRM_Member_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:10:\"CiviMember\";}'),
+ (342,1,'civicrm/admin/member/membershipType',NULL,'Membership Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Page_MembershipType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:2:{s:4:\"desc\";s:174:\"Define the types of memberships you want to offer. For each type, you can specify a \'name\' (Gold Member, Honor Society Member...), a description, duration, and a minimum fee.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),
+ (343,1,'civicrm/admin/member/membershipStatus',NULL,'Membership Status Rules','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Member_Page_MembershipStatus\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:4:\"desc\";s:187:\"Status \'rules\' define the current status for a membership based on that membership\'s start and end dates. You can adjust the default status options and rules as needed to meet your needs.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),
+ (344,1,'civicrm/contact/view/membership','force=1,cid=%%cid%%','Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:19:\"CRM_Member_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,2,1,0,NULL,'a:0:{}'),
+ (345,1,'civicrm/membership/view',NULL,'Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Form_MembershipView\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,390,1,0,NULL,'a:0:{}'),
+ (346,1,'civicrm/member/search',NULL,'Find Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:28:\"CRM_Member_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,710,1,1,NULL,'a:0:{}'),
+ (347,1,'civicrm/member/import',NULL,'Import Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:16:\"edit memberships\";}i:1;s:3:\"and\";}','s:28:\"CRM_Member_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,720,1,1,NULL,'a:0:{}'),
+ (348,1,'civicrm/ajax/memType',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Member_Page_AJAX\";i:1;s:21:\"getMemberTypeDefaults\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (349,1,'civicrm/admin/member/membershipType/add',NULL,'Membership Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Form_MembershipType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:16:\"Membership Types\";s:3:\"url\";s:44:\"/civicrm/admin/member/membershipType?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (350,1,'civicrm/mailing',NULL,'CiviMail','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:8:\"send SMS\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,600,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviMail\";}'),
+ (351,1,'civicrm/admin/mail',NULL,'Mailer Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Mail\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:61:\"Configure spool period, throttling and other mailer settings.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
+ (352,1,'civicrm/admin/component',NULL,'Headers, Footers, and Automated Messages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Page_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,410,1,0,NULL,'a:2:{s:4:\"desc\";s:143:\"Configure the header and footer used for mailings. Customize the content of automated Subscribe, Unsubscribe, Resubscribe and Opt-out messages.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
+ (353,1,'civicrm/admin/options/from_email_address/civimail',NULL,'From Email Addresses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:4:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}i:3;a:2:{s:5:\"title\";s:20:\"From Email Addresses\";s:3:\"url\";s:49:\"/civicrm/admin/options/from_email_address?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,415,1,0,NULL,'a:2:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
+ (354,1,'civicrm/admin/mailSettings',NULL,'Mail Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_MailSettings\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:2:{s:4:\"desc\";s:32:\"Configure email account setting.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
+ (355,1,'civicrm/mailing/send',NULL,'New Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:27:\"CRM_Mailing_Controller_Send\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,610,1,1,NULL,'a:0:{}'),
+ (356,1,'civicrm/mailing/browse/scheduled','scheduled=true','Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:5:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";i:2;s:15:\"create mailings\";i:3;s:17:\"schedule mailings\";i:4;s:8:\"send SMS\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,620,1,1,NULL,'a:0:{}'),
+ (357,1,'civicrm/mailing/browse/unscheduled','scheduled=false','Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,620,1,1,NULL,'a:0:{}'),
+ (358,1,'civicrm/mailing/browse/archived',NULL,'Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,625,1,1,NULL,'a:0:{}'),
+ (359,1,'civicrm/mailing/component',NULL,'Headers, Footers, and Automated Messages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Page_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,630,1,1,NULL,'a:0:{}'),
+ (360,1,'civicrm/mailing/unsubscribe',NULL,'Unsubscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:28:\"CRM_Mailing_Form_Unsubscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,640,1,0,NULL,'a:0:{}'),
+ (361,1,'civicrm/mailing/resubscribe',NULL,'Resubscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:28:\"CRM_Mailing_Page_Resubscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,645,1,0,NULL,'a:0:{}'),
+ (362,1,'civicrm/mailing/optout',NULL,'Opt-out','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:23:\"CRM_Mailing_Form_Optout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,650,1,0,NULL,'a:0:{}'),
+ (363,1,'civicrm/mailing/confirm',NULL,'Confirm','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:24:\"CRM_Mailing_Page_Confirm\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,660,1,0,NULL,'a:0:{}'),
+ (364,1,'civicrm/mailing/subscribe',NULL,'Subscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Form_Subscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,660,1,0,NULL,'a:0:{}'),
+ (365,1,'civicrm/mailing/preview',NULL,'Preview Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";i:2;s:15:\"create mailings\";i:3;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:24:\"CRM_Mailing_Page_Preview\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,670,1,0,NULL,'a:0:{}'),
+ (366,1,'civicrm/mailing/report','mid=%%mid%%','Mailing Report','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Report\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,680,1,0,NULL,'a:0:{}'),
+ (367,1,'civicrm/mailing/forward',NULL,'Forward Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:31:\"CRM_Mailing_Form_ForwardMailing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,685,1,0,NULL,'a:0:{}'),
+ (368,1,'civicrm/mailing/queue',NULL,'Sending Mail','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,690,1,0,NULL,'a:0:{}'),
+ (369,1,'civicrm/mailing/report/event',NULL,'Mailing Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:22:\"CRM_Mailing_Page_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}i:2;a:2:{s:5:\"title\";s:14:\"Mailing Report\";s:3:\"url\";s:47:\"/civicrm/mailing/report?reset=1&amp;mid=%%mid%%\";}}',NULL,NULL,4,NULL,NULL,NULL,0,695,1,0,NULL,'a:0:{}'),
+ (370,1,'civicrm/ajax/template',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:8:\"template\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (371,1,'civicrm/mailing/view',NULL,'View Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:28:\"view public CiviMail content\";i:1;s:15:\"access CiviMail\";i:2;s:16:\"approve mailings\";}i:1;s:2:\"or\";}','s:21:\"CRM_Mailing_Page_View\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,800,1,0,NULL,'a:0:{}'),
+ (372,1,'civicrm/mailing/approve',NULL,'Approve Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";}i:1;s:2:\"or\";}','s:24:\"CRM_Mailing_Form_Approve\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,850,1,0,NULL,'a:0:{}'),
+ (373,1,'civicrm/contact/view/mailing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:20:\"CRM_Mailing_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (374,1,'civicrm/ajax/contactmailing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:18:\"getContactMailings\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (375,1,'civicrm/ajax/setupMailAccount',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:5:\"setup\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (376,1,'civicrm/mailing/url',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:20:\"CRM_Mailing_Page_Url\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (377,1,'civicrm/mailing/open',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:21:\"CRM_Mailing_Page_Open\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (378,1,'civicrm/pledge',NULL,'CiviPledge Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:25:\"CRM_Pledge_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,550,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviPledge\";}'),
+ (379,1,'civicrm/pledge/search',NULL,'Find Pledges','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:28:\"CRM_Pledge_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,560,1,1,NULL,'a:0:{}'),
+ (380,1,'civicrm/contact/view/pledge','force=1,cid=%%cid%%','Pledges','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:19:\"CRM_Pledge_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,570,1,0,NULL,'a:0:{}'),
+ (381,1,'civicrm/pledge/add','action=add','New Pledge','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:19:\"CRM_Pledge_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviPledge\";}'),
+ (382,1,'civicrm/pledge/payment',NULL,'Pledge Payments','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:23:\"CRM_Pledge_Page_Payment\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,580,1,0,NULL,'a:0:{}'),
+ (383,1,'civicrm/ajax/pledgeAmount',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviPledge\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Pledge_Page_AJAX\";i:1;s:17:\"getPledgeDefaults\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (384,1,'civicrm/case',NULL,'CiviCase Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Case_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,900,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviCase\";}'),
+ (385,1,'civicrm/case/add',NULL,'Open Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Case_Form_Case\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviCase\";}'),
+ (386,1,'civicrm/case/search',NULL,'Find Cases','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Case_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,910,1,1,NULL,'a:0:{}'),
+ (387,1,'civicrm/case/activity',NULL,'Case Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Case_Form_Activity\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (388,1,'civicrm/case/report',NULL,'Case Activity Audit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','s:20:\"CRM_Case_Form_Report\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (389,1,'civicrm/case/cd/edit',NULL,'Case Custom Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Case_Form_CustomData\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (390,1,'civicrm/contact/view/case',NULL,'Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:17:\"CRM_Case_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (391,1,'civicrm/case/activity/view',NULL,'Activity View','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Case_Form_ActivityView\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Case Activity\";s:3:\"url\";s:30:\"/civicrm/case/activity?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (392,1,'civicrm/contact/view/case/editClient',NULL,'Assign to Another Client','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:24:\"CRM_Case_Form_EditClient\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}i:2;a:2:{s:5:\"title\";s:4:\"Case\";s:3:\"url\";s:34:\"/civicrm/contact/view/case?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (393,1,'civicrm/case/addToCase',NULL,'File on Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Case_Form_ActivityToCase\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (394,1,'civicrm/case/details',NULL,'Case Details','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Case_Page_CaseDetails\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (395,1,'civicrm/admin/setting/case',NULL,'CiviCase Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Case\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
+ (396,1,'civicrm/admin/options/case_type',NULL,'Case Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Core_Page_Redirect\";','s:24:\"url=civicrm/a/#/caseType\";','a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:137:\"List of types which can be assigned to Cases. (Enable the Cases tab from System Settings - Enable Components if you want to track cases.)\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
+ (397,1,'civicrm/admin/options/redaction_rule',NULL,'Redaction Rules','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:223:\"List of rules which can be applied to user input strings so that the redacted output can be recognized as repeated instances of the same string or can be identified as a \"semantic type of the data element\" within case data.\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
+ (398,1,'civicrm/admin/options/case_status',NULL,'Case Statuses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"List of statuses that can be assigned to a case.\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
+ (399,1,'civicrm/admin/options/encounter_medium',NULL,'Encounter Mediums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:26:\"List of encounter mediums.\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
+ (400,1,'civicrm/case/report/print',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','a:2:{i:0;s:28:\"CRM_Case_XMLProcessor_Report\";i:1;s:15:\"printCaseReport\";}',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}i:2;a:2:{s:5:\"title\";s:19:\"Case Activity Audit\";s:3:\"url\";s:28:\"/civicrm/case/report?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (401,1,'civicrm/case/ajax/addclient',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:9:\"addClient\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (402,1,'civicrm/case/ajax/processtags',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:15:\"processCaseTags\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
+ (403,1,'civicrm/case/ajax/details',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:11:\"CaseDetails\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (404,1,'civicrm/ajax/delcaserole',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:15:\"deleteCaseRoles\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (405,1,'civicrm/ajax/get-cases',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:8:\"getCases\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (406,1,'civicrm/case/email/add','action=add,task=email','Email','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Case_Form_Task_Email\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (407,1,'civicrm/report',NULL,'CiviReport','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:22:\"CRM_Report_Page_Report\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1200,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviReport\";}'),
+ (408,1,'civicrm/report/list',NULL,'CiviCRM Reports','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_InstanceList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (409,1,'civicrm/report/template/list',NULL,'Create New Report from Template','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_TemplateList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1220,1,1,NULL,'a:0:{}'),
+ (410,1,'civicrm/report/options/report_template',NULL,'Manage Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:23:\"CRM_Report_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1241,1,1,NULL,'a:0:{}'),
+ (411,1,'civicrm/admin/report/register',NULL,'Register Report','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:24:\"CRM_Report_Form_Register\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:30:\"Register the Report templates.\";}'),
+ (412,1,'civicrm/report/instance',NULL,'Report','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:24:\"CRM_Report_Page_Instance\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (413,1,'civicrm/admin/report/template/list',NULL,'Create New Report from Template','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_TemplateList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:49:\"Component wise listing of all available templates\";s:10:\"adminGroup\";s:10:\"CiviReport\";}'),
+ (414,1,'civicrm/admin/report/options/report_template',NULL,'Manage Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:23:\"CRM_Report_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:45:\"Browse, Edit and Delete the Report templates.\";s:10:\"adminGroup\";s:10:\"CiviReport\";}'),
+ (415,1,'civicrm/admin/report/list',NULL,'Reports Listing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_InstanceList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:60:\"Browse existing report, change report criteria and settings.\";s:10:\"adminGroup\";s:10:\"CiviReport\";}'),
+ (416,1,'civicrm/campaign',NULL,'Campaign Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:27:\"CRM_Campaign_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (417,1,'civicrm/campaign/add',NULL,'New Campaign','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:26:\"CRM_Campaign_Form_Campaign\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (418,1,'civicrm/survey/add',NULL,'New Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:29:\"CRM_Campaign_Form_Survey_Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (419,1,'civicrm/campaign/vote',NULL,'Conduct Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:25:\"reserve campaign contacts\";i:3;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','s:22:\"CRM_Campaign_Page_Vote\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (420,1,'civicrm/admin/campaign/surveyType',NULL,'Survey Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCampaign\";}i:1;s:3:\"and\";}','s:28:\"CRM_Campaign_Page_SurveyType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (421,1,'civicrm/admin/options/campaign_type',NULL,'Campaign Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,2,1,0,NULL,'a:3:{s:4:\"desc\";s:47:\"categorize your campaigns using campaign types.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (422,1,'civicrm/admin/options/campaign_status',NULL,'Campaign Status','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,3,1,0,NULL,'a:3:{s:4:\"desc\";s:34:\"Define statuses for campaign here.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (423,1,'civicrm/admin/options/engagement_index',NULL,'Engagement Index','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,4,1,0,NULL,'a:3:{s:4:\"desc\";s:18:\"Engagement levels.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (424,1,'civicrm/survey/search','op=interview','Record Respondents Interview','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','s:30:\"CRM_Campaign_Controller_Search\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (425,1,'civicrm/campaign/gotv',NULL,'GOTV (Track Voters)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:25:\"release campaign contacts\";i:3;s:22:\"gotv campaign contacts\";}i:1;s:2:\"or\";}','s:22:\"CRM_Campaign_Form_Gotv\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (426,1,'civicrm/petition/add',NULL,'New Petition','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:26:\"CRM_Campaign_Form_Petition\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (427,1,'civicrm/petition/sign',NULL,'Sign Petition','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:36:\"CRM_Campaign_Form_Petition_Signature\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (428,1,'civicrm/petition/browse',NULL,'View Petition Signatures','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Campaign_Page_Petition\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (429,1,'civicrm/petition/confirm',NULL,'Email address verified','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:34:\"CRM_Campaign_Page_Petition_Confirm\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (430,1,'civicrm/petition/thankyou',NULL,'Thank You','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:35:\"CRM_Campaign_Page_Petition_ThankYou\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (431,1,'civicrm/campaign/registerInterview',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','a:2:{i:0;s:22:\"CRM_Campaign_Page_AJAX\";i:1;s:17:\"registerInterview\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (432,1,'civicrm/survey/configure/main',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:29:\"CRM_Campaign_Form_Survey_Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (433,1,'civicrm/survey/configure/questions',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:34:\"CRM_Campaign_Form_Survey_Questions\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (434,1,'civicrm/survey/configure/results',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:32:\"CRM_Campaign_Form_Survey_Results\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (435,1,'civicrm/survey/delete',NULL,'Delete Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:31:\"CRM_Campaign_Form_Survey_Delete\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (436,1,'civicrm/admin/ckeditor',NULL,'Configure CKEditor 4','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Ckeditor4_Form_CKEditorConfig\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (437,1,'civicrm/ajax/event/add_participant_to_cart',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Event_Cart_Page_CheckoutAJAX\";i:1;s:23:\"add_participant_to_cart\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (438,1,'civicrm/ajax/event/remove_participant_from_cart',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Event_Cart_Page_CheckoutAJAX\";i:1;s:28:\"remove_participant_from_cart\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (439,1,'civicrm/event/add_to_cart',NULL,'Add Event To Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:29:\"CRM_Event_Cart_Page_AddToCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (440,1,'civicrm/event/cart_checkout',NULL,'Cart Checkout','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:34:\"CRM_Event_Cart_Controller_Checkout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (441,1,'civicrm/event/remove_from_cart',NULL,'Remove From Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:34:\"CRM_Event_Cart_Page_RemoveFromCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (442,1,'civicrm/event/view_cart',NULL,'View Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Event_Cart_Page_ViewCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (443,1,'civicrm/contact/search/custom',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Legacycustomsearches_Controller_Search\";','s:10:\"mode=16384\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,10,1,1,NULL,'a:0:{}'),
+ (444,1,'civicrm/admin/setting/flexmailer',NULL,'Flexmailer Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:8:\"CiviMail\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";}'),
+ (445,1,'civicrm/admin/setting/recaptcha',NULL,'reCAPTCHA Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:43:\"Configure anti-abuse/bot-prevention service\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (446,1,'admin',NULL,NULL,NULL,NULL,NULL,NULL,'a:15:{s:26:\"Customize Data and Screens\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:19:{s:13:\"{weight}.Tags\";a:6:{s:5:\"title\";s:4:\"Tags\";s:4:\"desc\";s:158:\"Tags are useful for segmenting the contacts in your database into categories (e.g. Staff Member, Donor, Volunteer, etc.). Create and edit available tags here.\";s:2:\"id\";s:4:\"Tags\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:20:\"{weight}.Custom Data\";a:6:{s:5:\"title\";s:11:\"Custom Data\";s:4:\"desc\";s:109:\"Configure custom fields to collect and store custom data which is not included in the standard CiviCRM forms.\";s:2:\"id\";s:10:\"CustomData\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:17:\"{weight}.Profiles\";a:6:{s:5:\"title\";s:8:\"Profiles\";s:4:\"desc\";s:151:\"Profiles allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features.\";s:2:\"id\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Activity Types\";a:6:{s:5:\"title\";s:14:\"Activity Types\";s:4:\"desc\";s:155:\"CiviCRM has several built-in activity types (meetings, phone calls, emails sent). Track other types of interactions by creating custom activity types here.\";s:2:\"id\";s:13:\"ActivityTypes\";s:3:\"url\";s:44:\"/civicrm/admin/options/activity_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Relationship Types\";a:6:{s:5:\"title\";s:18:\"Relationship Types\";s:4:\"desc\";s:148:\"Contacts can be linked to each other through Relationships (e.g. Spouse, Employer, etc.). Define the types of relationships you want to record here.\";s:2:\"id\";s:17:\"RelationshipTypes\";s:3:\"url\";s:30:\"/civicrm/admin/reltype?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Contact Types\";a:6:{s:5:\"title\";s:13:\"Contact Types\";s:4:\"desc\";N;s:2:\"id\";s:12:\"ContactTypes\";s:3:\"url\";s:38:\"/civicrm/admin/options/subtype?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Gender Options\";a:6:{s:5:\"title\";s:14:\"Gender Options\";s:4:\"desc\";s:79:\"Options for assigning gender to individual contacts (e.g. Male, Female, Other).\";s:2:\"id\";s:13:\"GenderOptions\";s:3:\"url\";s:37:\"/civicrm/admin/options/gender?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Individual Prefixes (Ms, Mr...)\";a:6:{s:5:\"title\";s:31:\"Individual Prefixes (Ms, Mr...)\";s:4:\"desc\";s:66:\"Options for individual contact prefixes (e.g. Ms., Mr., Dr. etc.).\";s:2:\"id\";s:27:\"IndividualPrefixes_Ms_Mr...\";s:3:\"url\";s:48:\"/civicrm/admin/options/individual_prefix?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Individual Suffixes (Jr, Sr...)\";a:6:{s:5:\"title\";s:31:\"Individual Suffixes (Jr, Sr...)\";s:4:\"desc\";s:61:\"Options for individual contact suffixes (e.g. Jr., Sr. etc.).\";s:2:\"id\";s:27:\"IndividualSuffixes_Jr_Sr...\";s:3:\"url\";s:48:\"/civicrm/admin/options/individual_suffix?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:39:\"{weight}.Location Types (Home, Work...)\";a:6:{s:5:\"title\";s:30:\"Location Types (Home, Work...)\";s:4:\"desc\";s:94:\"Options for categorizing contact addresses and phone numbers (e.g. Home, Work, Billing, etc.).\";s:2:\"id\";s:26:\"LocationTypes_Home_Work...\";s:3:\"url\";s:35:\"/civicrm/admin/locationType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Website Types\";a:6:{s:5:\"title\";s:13:\"Website Types\";s:4:\"desc\";s:48:\"Options for assigning website types to contacts.\";s:2:\"id\";s:12:\"WebsiteTypes\";s:3:\"url\";s:43:\"/civicrm/admin/options/website_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:35:\"{weight}.Instant Messenger Services\";a:6:{s:5:\"title\";s:26:\"Instant Messenger Services\";s:4:\"desc\";s:79:\"List of IM services which can be used when recording screen-names for contacts.\";s:2:\"id\";s:24:\"InstantMessengerServices\";s:3:\"url\";s:56:\"/civicrm/admin/options/instant_messenger_service?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Mobile Phone Providers\";a:6:{s:5:\"title\";s:22:\"Mobile Phone Providers\";s:4:\"desc\";s:90:\"List of mobile phone providers which can be assigned when recording contact phone numbers.\";s:2:\"id\";s:20:\"MobilePhoneProviders\";s:3:\"url\";s:46:\"/civicrm/admin/options/mobile_provider?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:19:\"{weight}.Phone Type\";a:6:{s:5:\"title\";s:10:\"Phone Type\";s:4:\"desc\";s:80:\"Options for assigning phone type to contacts (e.g Phone,\n    Mobile, Fax, Pager)\";s:2:\"id\";s:9:\"PhoneType\";s:3:\"url\";s:41:\"/civicrm/admin/options/phone_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Display Preferences\";a:6:{s:5:\"title\";s:19:\"Display Preferences\";s:4:\"desc\";N;s:2:\"id\";s:18:\"DisplayPreferences\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/display?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Search Preferences\";a:6:{s:5:\"title\";s:18:\"Search Preferences\";s:4:\"desc\";N;s:2:\"id\";s:17:\"SearchPreferences\";s:3:\"url\";s:37:\"/civicrm/admin/setting/search?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Navigation Menu\";a:6:{s:5:\"title\";s:15:\"Navigation Menu\";s:4:\"desc\";s:79:\"Add or remove menu items, and modify the order of items on the navigation menu.\";s:2:\"id\";s:14:\"NavigationMenu\";s:3:\"url\";s:27:\"/civicrm/admin/menu?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Word Replacements\";a:6:{s:5:\"title\";s:17:\"Word Replacements\";s:4:\"desc\";s:18:\"Word Replacements.\";s:2:\"id\";s:16:\"WordReplacements\";s:3:\"url\";s:47:\"/civicrm/admin/options/wordreplacements?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Manage Custom Searches\";a:6:{s:5:\"title\";s:22:\"Manage Custom Searches\";s:4:\"desc\";s:225:\"Developers and accidental techies with a bit of PHP and SQL knowledge can create new search forms to handle specific search and reporting needs which aren\'t covered by the built-in Advanced Search and Search Builder features.\";s:2:\"id\";s:20:\"ManageCustomSearches\";s:3:\"url\";s:44:\"/civicrm/admin/options/custom_search?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:6:\"Manage\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:42:\"{weight}.Find and Merge Duplicate Contacts\";a:6:{s:5:\"title\";s:33:\"Find and Merge Duplicate Contacts\";s:4:\"desc\";s:158:\"Manage the rules used to identify potentially duplicate contact records. Scan for duplicates using a selected rule and merge duplicate contact data as needed.\";s:2:\"id\";s:29:\"FindandMergeDuplicateContacts\";s:3:\"url\";s:36:\"/civicrm/contact/deduperules?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Dedupe Exceptions\";a:6:{s:5:\"title\";s:17:\"Dedupe Exceptions\";s:4:\"desc\";N;s:2:\"id\";s:16:\"DedupeExceptions\";s:3:\"url\";s:33:\"/civicrm/dedupe/exception?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Scheduled Jobs Log\";a:6:{s:5:\"title\";s:18:\"Scheduled Jobs Log\";s:4:\"desc\";s:46:\"Browsing the log of periodially running tasks.\";s:2:\"id\";s:16:\"ScheduledJobsLog\";s:3:\"url\";s:29:\"/civicrm/admin/joblog?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:14:\"Communications\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:11:{s:46:\"{weight}.Organization Address and Contact Info\";a:6:{s:5:\"title\";s:37:\"Organization Address and Contact Info\";s:4:\"desc\";s:150:\"Configure primary contact name, email, return-path and address information. This information is used by CiviMail to identify the sending organization.\";s:2:\"id\";s:33:\"OrganizationAddressandContactInfo\";s:3:\"url\";s:47:\"/civicrm/admin/domain?action=update&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:29:\"{weight}.From Email Addresses\";a:6:{s:5:\"title\";s:20:\"From Email Addresses\";s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:2:\"id\";s:18:\"FromEmailAddresses\";s:3:\"url\";s:49:\"/civicrm/admin/options/from_email_address?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Message Templates\";a:6:{s:5:\"title\";s:17:\"Message Templates\";s:4:\"desc\";s:130:\"Message templates allow you to save and re-use messages with layouts which you can use when sending email to one or more contacts.\";s:2:\"id\";s:16:\"MessageTemplates\";s:3:\"url\";s:39:\"/civicrm/admin/messageTemplates?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Schedule Reminders\";a:6:{s:5:\"title\";s:18:\"Schedule Reminders\";s:4:\"desc\";s:19:\"Schedule Reminders.\";s:2:\"id\";s:17:\"ScheduleReminders\";s:3:\"url\";s:40:\"/civicrm/admin/scheduleReminders?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Preferred Communication Methods\";a:6:{s:5:\"title\";s:31:\"Preferred Communication Methods\";s:4:\"desc\";s:117:\"One or more preferred methods of communication can be assigned to each contact. Customize the available options here.\";s:2:\"id\";s:29:\"PreferredCommunicationMethods\";s:3:\"url\";s:61:\"/civicrm/admin/options/preferred_communication_method?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Label Formats\";a:6:{s:5:\"title\";s:13:\"Label Formats\";s:4:\"desc\";s:67:\"Configure Label Formats that are used when creating mailing labels.\";s:2:\"id\";s:12:\"LabelFormats\";s:3:\"url\";s:35:\"/civicrm/admin/labelFormats?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.Print Page (PDF) Formats\";a:6:{s:5:\"title\";s:24:\"Print Page (PDF) Formats\";s:4:\"desc\";s:95:\"Configure PDF Page Formats that can be assigned to Message Templates when creating PDF letters.\";s:2:\"id\";s:20:\"PrintPage_PDFFormats\";s:3:\"url\";s:33:\"/civicrm/admin/pdfFormats?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:36:\"{weight}.Communication Style Options\";a:6:{s:5:\"title\";s:27:\"Communication Style Options\";s:4:\"desc\";s:42:\"Options for Communication Style selection.\";s:2:\"id\";s:25:\"CommunicationStyleOptions\";s:3:\"url\";s:50:\"/civicrm/admin/options/communication_style?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Email Greeting Formats\";a:6:{s:5:\"title\";s:22:\"Email Greeting Formats\";s:4:\"desc\";s:75:\"Options for assigning email greetings to individual and household contacts.\";s:2:\"id\";s:20:\"EmailGreetingFormats\";s:3:\"url\";s:45:\"/civicrm/admin/options/email_greeting?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:32:\"{weight}.Postal Greeting Formats\";a:6:{s:5:\"title\";s:23:\"Postal Greeting Formats\";s:4:\"desc\";s:76:\"Options for assigning postal greetings to individual and household contacts.\";s:2:\"id\";s:21:\"PostalGreetingFormats\";s:3:\"url\";s:46:\"/civicrm/admin/options/postal_greeting?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Addressee Formats\";a:6:{s:5:\"title\";s:17:\"Addressee Formats\";s:4:\"desc\";s:83:\"Options for assigning addressee to individual, household and organization contacts.\";s:2:\"id\";s:16:\"AddresseeFormats\";s:3:\"url\";s:40:\"/civicrm/admin/options/addressee?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:12:\"Localization\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:4:{s:39:\"{weight}.Languages, Currency, Locations\";a:6:{s:5:\"title\";s:30:\"Languages, Currency, Locations\";s:4:\"desc\";N;s:2:\"id\";s:28:\"Languages_Currency_Locations\";s:3:\"url\";s:43:\"/civicrm/admin/setting/localization?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Address Settings\";a:6:{s:5:\"title\";s:16:\"Address Settings\";s:4:\"desc\";N;s:2:\"id\";s:15:\"AddressSettings\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/address?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:21:\"{weight}.Date Formats\";a:6:{s:5:\"title\";s:12:\"Date Formats\";s:4:\"desc\";N;s:2:\"id\";s:11:\"DateFormats\";s:3:\"url\";s:35:\"/civicrm/admin/setting/date?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Preferred Languages\";a:6:{s:5:\"title\";s:19:\"Preferred Languages\";s:4:\"desc\";s:30:\"Options for contact languages.\";s:2:\"id\";s:18:\"PreferredLanguages\";s:3:\"url\";s:40:\"/civicrm/admin/options/languages?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:21:\"Users and Permissions\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:2:{s:23:\"{weight}.Access Control\";a:6:{s:5:\"title\";s:14:\"Access Control\";s:4:\"desc\";s:73:\"Grant or deny access to actions (view, edit...), features and components.\";s:2:\"id\";s:13:\"AccessControl\";s:3:\"url\";s:29:\"/civicrm/admin/access?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:38:\"{weight}.Synchronize Users to Contacts\";a:6:{s:5:\"title\";s:29:\"Synchronize Users to Contacts\";s:4:\"desc\";s:71:\"Automatically create a CiviCRM contact record for each CMS user record.\";s:2:\"id\";s:26:\"SynchronizeUserstoContacts\";s:3:\"url\";s:32:\"/civicrm/admin/synchUser?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:15:\"System Settings\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:19:{s:32:\"{weight}.Configuration Checklist\";a:6:{s:5:\"title\";s:23:\"Configuration Checklist\";s:4:\"desc\";s:55:\"List of configuration tasks with links to each setting.\";s:2:\"id\";s:22:\"ConfigurationChecklist\";s:3:\"url\";s:33:\"/civicrm/admin/configtask?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:34:\"{weight}.Enable CiviCRM Components\";a:6:{s:5:\"title\";s:25:\"Enable CiviCRM Components\";s:4:\"desc\";s:269:\"Enable or disable components (e.g. CiviEvent, CiviMember, etc.) for your site based on the features you need. We recommend disabling any components not being used in order to simplify the user interface. You can easily re-enable components at any time from this screen.\";s:2:\"id\";s:23:\"EnableCiviCRMComponents\";s:3:\"url\";s:40:\"/civicrm/admin/setting/component?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Manage Extensions\";a:6:{s:5:\"title\";s:17:\"Manage Extensions\";s:4:\"desc\";s:0:\"\";s:2:\"id\";s:16:\"ManageExtensions\";s:3:\"url\";s:33:\"/civicrm/admin/extensions?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:32:\"{weight}.Outbound Email Settings\";a:6:{s:5:\"title\";s:23:\"Outbound Email Settings\";s:4:\"desc\";N;s:2:\"id\";s:21:\"OutboundEmailSettings\";s:3:\"url\";s:35:\"/civicrm/admin/setting/smtp?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:37:\"{weight}.Settings - Payment Processor\";a:6:{s:5:\"title\";s:28:\"Settings - Payment Processor\";s:4:\"desc\";s:48:\"Payment Processor setup for CiviCRM transactions\";s:2:\"id\";s:25:\"Settings-PaymentProcessor\";s:3:\"url\";s:39:\"/civicrm/admin/paymentProcessor?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:30:\"{weight}.Mapping and Geocoding\";a:6:{s:5:\"title\";s:21:\"Mapping and Geocoding\";s:4:\"desc\";N;s:2:\"id\";s:19:\"MappingandGeocoding\";s:3:\"url\";s:38:\"/civicrm/admin/setting/mapping?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:53:\"{weight}.Misc (Undelete, PDFs, Limits, Logging, etc.)\";a:6:{s:5:\"title\";s:44:\"Misc (Undelete, PDFs, Limits, Logging, etc.)\";s:4:\"desc\";s:63:\"Enable undelete/move to trash feature, detailed change logging.\";s:2:\"id\";s:38:\"Misc_Undelete_PDFs_Limits_Logging_etc.\";s:3:\"url\";s:35:\"/civicrm/admin/setting/misc?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:20:\"{weight}.Directories\";a:6:{s:5:\"title\";s:11:\"Directories\";s:4:\"desc\";N;s:2:\"id\";s:11:\"Directories\";s:3:\"url\";s:35:\"/civicrm/admin/setting/path?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Resource URLs\";a:6:{s:5:\"title\";s:13:\"Resource URLs\";s:4:\"desc\";N;s:2:\"id\";s:12:\"ResourceURLs\";s:3:\"url\";s:34:\"/civicrm/admin/setting/url?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Cleanup Caches and Update Paths\";a:6:{s:5:\"title\";s:31:\"Cleanup Caches and Update Paths\";s:4:\"desc\";s:157:\"Reset the Base Directory Path and Base URL settings - generally when a CiviCRM site is moved to another location in the file system and/or to another domain.\";s:2:\"id\";s:27:\"CleanupCachesandUpdatePaths\";s:3:\"url\";s:50:\"/civicrm/admin/setting/updateConfigBackend?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.CMS Database Integration\";a:6:{s:5:\"title\";s:24:\"CMS Database Integration\";s:4:\"desc\";N;s:2:\"id\";s:22:\"CMSDatabaseIntegration\";s:3:\"url\";s:33:\"/civicrm/admin/setting/uf?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:36:\"{weight}.Safe File Extension Options\";a:6:{s:5:\"title\";s:27:\"Safe File Extension Options\";s:4:\"desc\";s:44:\"File Extensions that can be considered safe.\";s:2:\"id\";s:24:\"SafeFileExtensionOptions\";s:3:\"url\";s:50:\"/civicrm/admin/options/safe_file_extension?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Option Groups\";a:6:{s:5:\"title\";s:13:\"Option Groups\";s:4:\"desc\";s:35:\"Access all meta-data option groups.\";s:2:\"id\";s:12:\"OptionGroups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Import/Export Mappings\";a:6:{s:5:\"title\";s:22:\"Import/Export Mappings\";s:4:\"desc\";s:141:\"Import and Export mappings allow you to easily run the same job multiple times. This option allows you to rename or delete existing mappings.\";s:2:\"id\";s:21:\"Import_ExportMappings\";s:3:\"url\";s:30:\"/civicrm/admin/mapping?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:18:\"{weight}.Debugging\";a:6:{s:5:\"title\";s:9:\"Debugging\";s:4:\"desc\";N;s:2:\"id\";s:9:\"Debugging\";s:3:\"url\";s:36:\"/civicrm/admin/setting/debug?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Multi Site Settings\";a:6:{s:5:\"title\";s:19:\"Multi Site Settings\";s:4:\"desc\";N;s:2:\"id\";s:17:\"MultiSiteSettings\";s:3:\"url\";s:52:\"/civicrm/admin/setting/preferences/multisite?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Scheduled Jobs\";a:6:{s:5:\"title\";s:14:\"Scheduled Jobs\";s:4:\"desc\";s:35:\"Managing periodially running tasks.\";s:2:\"id\";s:13:\"ScheduledJobs\";s:3:\"url\";s:26:\"/civicrm/admin/job?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Sms Providers\";a:6:{s:5:\"title\";s:13:\"Sms Providers\";s:4:\"desc\";s:27:\"To configure a sms provider\";s:2:\"id\";s:12:\"SmsProviders\";s:3:\"url\";s:35:\"/civicrm/admin/sms/provider?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.reCAPTCHA Settings\";a:6:{s:5:\"title\";s:18:\"reCAPTCHA Settings\";s:4:\"desc\";s:43:\"Configure anti-abuse/bot-prevention service\";s:2:\"id\";s:17:\"reCAPTCHASettings\";s:3:\"url\";s:40:\"/civicrm/admin/setting/recaptcha?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:12:\"CiviCampaign\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:40:\"{weight}.CiviCampaign Component Settings\";a:6:{s:5:\"title\";s:31:\"CiviCampaign Component Settings\";s:4:\"desc\";s:40:\"Configure global CiviCampaign behaviors.\";s:2:\"id\";s:29:\"CiviCampaignComponentSettings\";s:3:\"url\";s:51:\"/civicrm/admin/setting/preferences/campaign?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:21:\"{weight}.Survey Types\";a:6:{s:5:\"title\";s:12:\"Survey Types\";s:4:\"desc\";N;s:2:\"id\";s:11:\"SurveyTypes\";s:3:\"url\";s:42:\"/civicrm/admin/campaign/surveyType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Campaign Types\";a:6:{s:5:\"title\";s:14:\"Campaign Types\";s:4:\"desc\";s:47:\"categorize your campaigns using campaign types.\";s:2:\"id\";s:13:\"CampaignTypes\";s:3:\"url\";s:44:\"/civicrm/admin/options/campaign_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Campaign Status\";a:6:{s:5:\"title\";s:15:\"Campaign Status\";s:4:\"desc\";s:34:\"Define statuses for campaign here.\";s:2:\"id\";s:14:\"CampaignStatus\";s:3:\"url\";s:46:\"/civicrm/admin/options/campaign_status?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Engagement Index\";a:6:{s:5:\"title\";s:16:\"Engagement Index\";s:4:\"desc\";s:18:\"Engagement levels.\";s:2:\"id\";s:15:\"EngagementIndex\";s:3:\"url\";s:47:\"/civicrm/admin/options/engagement_index?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:9:\"CiviEvent\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:9:{s:37:\"{weight}.CiviEvent Component Settings\";a:6:{s:5:\"title\";s:28:\"CiviEvent Component Settings\";s:4:\"desc\";s:37:\"Configure global CiviEvent behaviors.\";s:2:\"id\";s:26:\"CiviEventComponentSettings\";s:3:\"url\";s:48:\"/civicrm/admin/setting/preferences/event?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.Event Name Badge Layouts\";a:6:{s:5:\"title\";s:24:\"Event Name Badge Layouts\";s:4:\"desc\";s:107:\"Configure name badge layouts for event participants, including logos and what data to include on the badge.\";s:2:\"id\";s:21:\"EventNameBadgeLayouts\";s:3:\"url\";s:52:\"/civicrm/admin/badgelayout?action=browse&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Manage Events\";a:6:{s:5:\"title\";s:13:\"Manage Events\";s:4:\"desc\";s:136:\"Create and edit event configuration including times, locations, online registration forms, and fees. Links for iCal and RSS syndication.\";s:2:\"id\";s:12:\"ManageEvents\";s:3:\"url\";s:28:\"/civicrm/admin/event?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Event Templates\";a:6:{s:5:\"title\";s:15:\"Event Templates\";s:4:\"desc\";s:115:\"Administrators can create Event Templates - which are basically master event records pre-filled with default values\";s:2:\"id\";s:14:\"EventTemplates\";s:3:\"url\";s:36:\"/civicrm/admin/eventTemplate?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:20:\"{weight}.Event Types\";a:6:{s:5:\"title\";s:11:\"Event Types\";s:4:\"desc\";s:143:\"Use Event Types to categorize your events. Event feeds can be filtered by Event Type and participant searches can use Event Type as a criteria.\";s:2:\"id\";s:10:\"EventTypes\";s:3:\"url\";s:41:\"/civicrm/admin/options/event_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Participant Status\";a:6:{s:5:\"title\";s:18:\"Participant Status\";s:4:\"desc\";s:154:\"Define statuses for event participants here (e.g. Registered, Attended, Cancelled...). You can then assign statuses and search for participants by status.\";s:2:\"id\";s:17:\"ParticipantStatus\";s:3:\"url\";s:41:\"/civicrm/admin/participant_status?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Participant Role\";a:6:{s:5:\"title\";s:16:\"Participant Role\";s:4:\"desc\";s:138:\"Define participant roles for events here (e.g. Attendee, Host, Speaker...). You can then assign roles and search for participants by role.\";s:2:\"id\";s:15:\"ParticipantRole\";s:3:\"url\";s:47:\"/civicrm/admin/options/participant_role?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:38:\"{weight}.Participant Listing Templates\";a:6:{s:5:\"title\";s:29:\"Participant Listing Templates\";s:4:\"desc\";s:48:\"Template to control participant listing display.\";s:2:\"id\";s:27:\"ParticipantListingTemplates\";s:3:\"url\";s:50:\"/civicrm/admin/options/participant_listing?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Conference Slot Labels\";a:6:{s:5:\"title\";s:22:\"Conference Slot Labels\";s:4:\"desc\";s:35:\"Define conference slots and labels.\";s:2:\"id\";s:20:\"ConferenceSlotLabels\";s:3:\"url\";s:46:\"/civicrm/admin/options/conference_slot?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:8:\"CiviMail\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:6:{s:36:\"{weight}.CiviMail Component Settings\";a:6:{s:5:\"title\";s:27:\"CiviMail Component Settings\";s:4:\"desc\";s:36:\"Configure global CiviMail behaviors.\";s:2:\"id\";s:25:\"CiviMailComponentSettings\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/mailing?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Mailer Settings\";a:6:{s:5:\"title\";s:15:\"Mailer Settings\";s:4:\"desc\";s:61:\"Configure spool period, throttling and other mailer settings.\";s:2:\"id\";s:14:\"MailerSettings\";s:3:\"url\";s:27:\"/civicrm/admin/mail?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:49:\"{weight}.Headers, Footers, and Automated Messages\";a:6:{s:5:\"title\";s:40:\"Headers, Footers, and Automated Messages\";s:4:\"desc\";s:143:\"Configure the header and footer used for mailings. Customize the content of automated Subscribe, Unsubscribe, Resubscribe and Opt-out messages.\";s:2:\"id\";s:36:\"Headers_Footers_andAutomatedMessages\";s:3:\"url\";s:32:\"/civicrm/admin/component?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:29:\"{weight}.From Email Addresses\";a:6:{s:5:\"title\";s:20:\"From Email Addresses\";s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:2:\"id\";s:18:\"FromEmailAddresses\";s:3:\"url\";s:58:\"/civicrm/admin/options/from_email_address/civimail?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Mail Accounts\";a:6:{s:5:\"title\";s:13:\"Mail Accounts\";s:4:\"desc\";s:32:\"Configure email account setting.\";s:2:\"id\";s:12:\"MailAccounts\";s:3:\"url\";s:35:\"/civicrm/admin/mailSettings?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Flexmailer Settings\";a:6:{s:5:\"title\";s:19:\"Flexmailer Settings\";s:4:\"desc\";N;s:2:\"id\";s:18:\"FlexmailerSettings\";s:3:\"url\";s:41:\"/civicrm/admin/setting/flexmailer?reset=1\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";s:5:\"extra\";N;}}}s:10:\"CiviMember\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:38:\"{weight}.CiviMember Component Settings\";a:6:{s:5:\"title\";s:29:\"CiviMember Component Settings\";s:4:\"desc\";s:38:\"Configure global CiviMember behaviors.\";s:2:\"id\";s:27:\"CiviMemberComponentSettings\";s:3:\"url\";s:49:\"/civicrm/admin/setting/preferences/member?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Membership Types\";a:6:{s:5:\"title\";s:16:\"Membership Types\";s:4:\"desc\";s:174:\"Define the types of memberships you want to offer. For each type, you can specify a \'name\' (Gold Member, Honor Society Member...), a description, duration, and a minimum fee.\";s:2:\"id\";s:15:\"MembershipTypes\";s:3:\"url\";s:44:\"/civicrm/admin/member/membershipType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:32:\"{weight}.Membership Status Rules\";a:6:{s:5:\"title\";s:23:\"Membership Status Rules\";s:4:\"desc\";s:187:\"Status \'rules\' define the current status for a membership based on that membership\'s start and end dates. You can adjust the default status options and rules as needed to meet your needs.\";s:2:\"id\";s:21:\"MembershipStatusRules\";s:3:\"url\";s:46:\"/civicrm/admin/member/membershipStatus?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:12:\"Option Lists\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:1:{s:20:\"{weight}.Grant Types\";a:6:{s:5:\"title\";s:11:\"Grant Types\";s:4:\"desc\";s:148:\"List of types which can be assigned to Grants. (Enable CiviGrant from Administer > Systme Settings > Enable Components if you want to track grants.)\";s:2:\"id\";s:10:\"GrantTypes\";s:3:\"url\";s:41:\"/civicrm/admin/options/grant_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:9:\"Customize\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:1:{s:19:\"{weight}.Price Sets\";a:6:{s:5:\"title\";s:10:\"Price Sets\";s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";s:2:\"id\";s:9:\"PriceSets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:14:\"CiviContribute\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:9:{s:32:\"{weight}.Personal Campaign Pages\";a:6:{s:5:\"title\";s:23:\"Personal Campaign Pages\";s:4:\"desc\";s:49:\"View and manage existing personal campaign pages.\";s:2:\"id\";s:21:\"PersonalCampaignPages\";s:3:\"url\";s:49:\"/civicrm/admin/pcp?context=contribute&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:34:\"{weight}.Manage Contribution Pages\";a:6:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:4:\"desc\";s:242:\"CiviContribute allows you to create and maintain any number of Online Contribution Pages. You can create different pages for different programs or campaigns - and customize text, amounts, types of information collected from contributors, etc.\";s:2:\"id\";s:23:\"ManageContributionPages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Manage Premiums\";a:6:{s:5:\"title\";s:15:\"Manage Premiums\";s:4:\"desc\";s:175:\"CiviContribute allows you to configure any number of Premiums which can be offered to contributors as incentives / thank-you gifts. Define the premiums you want to offer here.\";s:2:\"id\";s:14:\"ManagePremiums\";s:3:\"url\";s:48:\"/civicrm/admin/contribute/managePremiums?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Financial Types\";a:6:{s:5:\"title\";s:15:\"Financial Types\";s:4:\"desc\";s:64:\"Formerly civicrm_contribution_type merged into this table in 4.1\";s:2:\"id\";s:14:\"FinancialTypes\";s:3:\"url\";s:46:\"/civicrm/admin/financial/financialType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Financial Accounts\";a:6:{s:5:\"title\";s:18:\"Financial Accounts\";s:4:\"desc\";s:128:\"Financial types are used to categorize contributions for reporting and accounting purposes. These are also referred to as Funds.\";s:2:\"id\";s:17:\"FinancialAccounts\";s:3:\"url\";s:49:\"/civicrm/admin/financial/financialAccount?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Payment Methods\";a:6:{s:5:\"title\";s:15:\"Payment Methods\";s:4:\"desc\";s:224:\"You may choose to record the payment instrument used for each contribution. Common payment methods are installed by default (e.g. Check, Cash, Credit Card...). If your site requires additional payment methods, add them here.\";s:2:\"id\";s:14:\"PaymentMethods\";s:3:\"url\";s:49:\"/civicrm/admin/options/payment_instrument?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:30:\"{weight}.Accepted Credit Cards\";a:6:{s:5:\"title\";s:21:\"Accepted Credit Cards\";s:4:\"desc\";s:94:\"Credit card options that will be offered to contributors using your Online Contribution pages.\";s:2:\"id\";s:19:\"AcceptedCreditCards\";s:3:\"url\";s:48:\"/civicrm/admin/options/accept_creditcard?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Soft Credit Types\";a:6:{s:5:\"title\";s:17:\"Soft Credit Types\";s:4:\"desc\";s:86:\"Soft Credit Types that will be offered to contributors during soft credit contribution\";s:2:\"id\";s:15:\"SoftCreditTypes\";s:3:\"url\";s:47:\"/civicrm/admin/options/soft_credit_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:42:\"{weight}.CiviContribute Component Settings\";a:6:{s:5:\"title\";s:33:\"CiviContribute Component Settings\";s:4:\"desc\";s:42:\"Configure global CiviContribute behaviors.\";s:2:\"id\";s:31:\"CiviContributeComponentSettings\";s:3:\"url\";s:53:\"/civicrm/admin/setting/preferences/contribute?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:8:\"CiviCase\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:26:\"{weight}.CiviCase Settings\";a:6:{s:5:\"title\";s:17:\"CiviCase Settings\";s:4:\"desc\";N;s:2:\"id\";s:16:\"CiviCaseSettings\";s:3:\"url\";s:35:\"/civicrm/admin/setting/case?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:19:\"{weight}.Case Types\";a:6:{s:5:\"title\";s:10:\"Case Types\";s:4:\"desc\";s:137:\"List of types which can be assigned to Cases. (Enable the Cases tab from System Settings - Enable Components if you want to track cases.)\";s:2:\"id\";s:9:\"CaseTypes\";s:3:\"url\";s:40:\"/civicrm/admin/options/case_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Redaction Rules\";a:6:{s:5:\"title\";s:15:\"Redaction Rules\";s:4:\"desc\";s:223:\"List of rules which can be applied to user input strings so that the redacted output can be recognized as repeated instances of the same string or can be identified as a \"semantic type of the data element\" within case data.\";s:2:\"id\";s:14:\"RedactionRules\";s:3:\"url\";s:45:\"/civicrm/admin/options/redaction_rule?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Case Statuses\";a:6:{s:5:\"title\";s:13:\"Case Statuses\";s:4:\"desc\";s:48:\"List of statuses that can be assigned to a case.\";s:2:\"id\";s:12:\"CaseStatuses\";s:3:\"url\";s:42:\"/civicrm/admin/options/case_status?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Encounter Mediums\";a:6:{s:5:\"title\";s:17:\"Encounter Mediums\";s:4:\"desc\";s:26:\"List of encounter mediums.\";s:2:\"id\";s:16:\"EncounterMediums\";s:3:\"url\";s:47:\"/civicrm/admin/options/encounter_medium?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:10:\"CiviReport\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:40:\"{weight}.Create New Report from Template\";a:6:{s:5:\"title\";s:31:\"Create New Report from Template\";s:4:\"desc\";s:49:\"Component wise listing of all available templates\";s:2:\"id\";s:27:\"CreateNewReportfromTemplate\";s:3:\"url\";s:43:\"/civicrm/admin/report/template/list?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Manage Templates\";a:6:{s:5:\"title\";s:16:\"Manage Templates\";s:4:\"desc\";s:45:\"Browse, Edit and Delete the Report templates.\";s:2:\"id\";s:15:\"ManageTemplates\";s:3:\"url\";s:53:\"/civicrm/admin/report/options/report_template?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Reports Listing\";a:6:{s:5:\"title\";s:15:\"Reports Listing\";s:4:\"desc\";s:60:\"Browse existing report, change report criteria and settings.\";s:2:\"id\";s:14:\"ReportsListing\";s:3:\"url\";s:34:\"/civicrm/admin/report/list?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}}',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,NULL,'a:0:{}');
 /*!40000 ALTER TABLE `civicrm_menu` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -5269,70 +5226,70 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_msg_template` WRITE;
 /*!40000 ALTER TABLE `civicrm_msg_template` DISABLE KEYS */;
 INSERT INTO `civicrm_msg_template` (`id`, `msg_title`, `msg_subject`, `msg_text`, `msg_html`, `is_active`, `workflow_id`, `workflow_name`, `is_default`, `is_reserved`, `is_sms`, `pdf_format_id`) VALUES
- (1,'Cases - Send Copy of an Activity','{if !empty($idHash)}[case #{$idHash}]{/if} {$activitySubject}\n','===========================================================\n{ts}Activity Summary{/ts} - {$activityTypeName}\n===========================================================\n{if !empty($isCaseActivity)}\n{ts}Your Case Role(s){/ts} : {$contact.role|default:\'\'}\n{if !empty($manageCaseURL)}\n{ts}Manage Case{/ts} : {$manageCaseURL}\n{/if}\n{/if}\n\n{if !empty($editActURL)}\n{ts}Edit activity{/ts} : {$editActURL}\n{/if}\n{if !empty($viewActURL)}\n{ts}View activity{/ts} : {$viewActURL}\n{/if}\n\n{foreach from=$activity.fields item=field}\n{if $field.type eq \'Date\'}\n{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value|crmDate:$config->dateformatDatetime}\n{else}\n{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value}\n{/if}\n{/foreach}\n\n{if !empty($activity.customGroups)}\n{foreach from=$activity.customGroups key=customGroupName item=customGroup}\n==========================================================\n{$customGroupName}\n==========================================================\n{foreach from=$customGroup item=field}\n{if $field.type eq \'Date\'}\n{$field.label} : {$field.value|crmDate:$config->dateformatDatetime}\n{else}\n{$field.label} : {$field.value}\n{/if}\n{/foreach}\n\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n  {capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n  {capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n  {capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n    <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n    <!-- BEGIN HEADER -->\n    <!-- You can add table row(s) here with logo or other header elements -->\n    <!-- END HEADER -->\n\n    <!-- BEGIN CONTENT -->\n\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n            <tr>\n              <th {$headerStyle}>\n                {ts}Activity Summary{/ts} - {$activityTypeName}\n              </th>\n            </tr>\n            {if !empty($isCaseActivity)}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Your Case Role(s){/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$contact.role|default:\'\'}\n                </td>\n              </tr>\n              {if !empty($manageCaseURL)}\n                <tr>\n                  <td colspan=\"2\" {$valueStyle}>\n                    <a href=\"{$manageCaseURL}\" title=\"{ts}Manage Case{/ts}\">{ts}Manage Case{/ts}</a>\n                  </td>\n                </tr>\n              {/if}\n            {/if}\n            {if !empty($editActURL)}\n              <tr>\n                <td colspan=\"2\" {$valueStyle}>\n                  <a href=\"{$editActURL}\" title=\"{ts}Edit activity{/ts}\">{ts}Edit activity{/ts}</a>\n                </td>\n              </tr>\n            {/if}\n            {if !empty($viewActURL)}\n              <tr>\n                <td colspan=\"2\" {$valueStyle}>\n                  <a href=\"{$viewActURL}\" title=\"{ts}View activity{/ts}\">{ts}View activity{/ts}</a>\n                </td>\n              </tr>\n            {/if}\n            {foreach from=$activity.fields item=field}\n              <tr>\n                <td {$labelStyle}>\n                  {$field.label}{if !empty($field.category)}({$field.category}){/if}\n                </td>\n                <td {$valueStyle}>\n                  {if $field.type eq \'Date\'}\n                    {$field.value|crmDate:$config->dateformatDatetime}\n                  {else}\n                    {$field.value}\n                  {/if}\n                </td>\n              </tr>\n            {/foreach}\n\n            {if !empty($activity.customGroups)}\n              {foreach from=$activity.customGroups key=customGroupName item=customGroup}\n                <tr>\n                  <th {$headerStyle}>\n                    {$customGroupName}\n                  </th>\n                </tr>\n                {foreach from=$customGroup item=field}\n                  <tr>\n                    <td {$labelStyle}>\n                      {$field.label}\n                    </td>\n                    <td {$valueStyle}>\n                      {if $field.type eq \'Date\'}\n                        {$field.value|crmDate:$config->dateformatDatetime}\n                      {else}\n                        {$field.value}\n                      {/if}\n                    </td>\n                  </tr>\n                {/foreach}\n              {/foreach}\n            {/if}\n          </table>\n        </td>\n      </tr>\n    </table>\n</body>\n</html>\n',1,828,'case_activity',1,0,0,NULL),
- (2,'Cases - Send Copy of an Activity','{if !empty($idHash)}[case #{$idHash}]{/if} {$activitySubject}\n','===========================================================\n{ts}Activity Summary{/ts} - {$activityTypeName}\n===========================================================\n{if !empty($isCaseActivity)}\n{ts}Your Case Role(s){/ts} : {$contact.role|default:\'\'}\n{if !empty($manageCaseURL)}\n{ts}Manage Case{/ts} : {$manageCaseURL}\n{/if}\n{/if}\n\n{if !empty($editActURL)}\n{ts}Edit activity{/ts} : {$editActURL}\n{/if}\n{if !empty($viewActURL)}\n{ts}View activity{/ts} : {$viewActURL}\n{/if}\n\n{foreach from=$activity.fields item=field}\n{if $field.type eq \'Date\'}\n{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value|crmDate:$config->dateformatDatetime}\n{else}\n{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value}\n{/if}\n{/foreach}\n\n{if !empty($activity.customGroups)}\n{foreach from=$activity.customGroups key=customGroupName item=customGroup}\n==========================================================\n{$customGroupName}\n==========================================================\n{foreach from=$customGroup item=field}\n{if $field.type eq \'Date\'}\n{$field.label} : {$field.value|crmDate:$config->dateformatDatetime}\n{else}\n{$field.label} : {$field.value}\n{/if}\n{/foreach}\n\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n  {capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n  {capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n  {capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n    <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n    <!-- BEGIN HEADER -->\n    <!-- You can add table row(s) here with logo or other header elements -->\n    <!-- END HEADER -->\n\n    <!-- BEGIN CONTENT -->\n\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n            <tr>\n              <th {$headerStyle}>\n                {ts}Activity Summary{/ts} - {$activityTypeName}\n              </th>\n            </tr>\n            {if !empty($isCaseActivity)}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Your Case Role(s){/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$contact.role|default:\'\'}\n                </td>\n              </tr>\n              {if !empty($manageCaseURL)}\n                <tr>\n                  <td colspan=\"2\" {$valueStyle}>\n                    <a href=\"{$manageCaseURL}\" title=\"{ts}Manage Case{/ts}\">{ts}Manage Case{/ts}</a>\n                  </td>\n                </tr>\n              {/if}\n            {/if}\n            {if !empty($editActURL)}\n              <tr>\n                <td colspan=\"2\" {$valueStyle}>\n                  <a href=\"{$editActURL}\" title=\"{ts}Edit activity{/ts}\">{ts}Edit activity{/ts}</a>\n                </td>\n              </tr>\n            {/if}\n            {if !empty($viewActURL)}\n              <tr>\n                <td colspan=\"2\" {$valueStyle}>\n                  <a href=\"{$viewActURL}\" title=\"{ts}View activity{/ts}\">{ts}View activity{/ts}</a>\n                </td>\n              </tr>\n            {/if}\n            {foreach from=$activity.fields item=field}\n              <tr>\n                <td {$labelStyle}>\n                  {$field.label}{if !empty($field.category)}({$field.category}){/if}\n                </td>\n                <td {$valueStyle}>\n                  {if $field.type eq \'Date\'}\n                    {$field.value|crmDate:$config->dateformatDatetime}\n                  {else}\n                    {$field.value}\n                  {/if}\n                </td>\n              </tr>\n            {/foreach}\n\n            {if !empty($activity.customGroups)}\n              {foreach from=$activity.customGroups key=customGroupName item=customGroup}\n                <tr>\n                  <th {$headerStyle}>\n                    {$customGroupName}\n                  </th>\n                </tr>\n                {foreach from=$customGroup item=field}\n                  <tr>\n                    <td {$labelStyle}>\n                      {$field.label}\n                    </td>\n                    <td {$valueStyle}>\n                      {if $field.type eq \'Date\'}\n                        {$field.value|crmDate:$config->dateformatDatetime}\n                      {else}\n                        {$field.value}\n                      {/if}\n                    </td>\n                  </tr>\n                {/foreach}\n              {/foreach}\n            {/if}\n          </table>\n        </td>\n      </tr>\n    </table>\n</body>\n</html>\n',1,828,'case_activity',0,1,0,NULL),
- (3,'Contributions - Duplicate Organization Alert','{ts}CiviContribute Alert: Possible Duplicate Contact Record{/ts} - {contact.display_name}\n','{ts}A contribution / membership signup was made on behalf of the organization listed below.{/ts}\n{ts}The information provided matched multiple existing database records based on the configured Duplicate Matching Rules for your site.{/ts}\n\n{ts}Organization Name{/ts}: {$onBehalfName}\n{ts}Organization Email{/ts}: {$onBehalfEmail}\n{ts}Organization Contact ID{/ts}: {$onBehalfID}\n\n{ts}If you think this may be a duplicate contact which should be merged with an existing record - Go to \"Contacts >> Find and Merge Duplicate Contacts\". Use the strict rule for Organizations to find the potential duplicates and merge them if appropriate.{/ts}\n\n{if $receiptMessage}\n###########################################################\n{ts}Copy of Contribution Receipt{/ts}\n\n###########################################################\n{$receiptMessage}\n\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <p>{ts}A contribution / membership signup was made on behalf of the organization listed below.{/ts}</p>\n    <p>{ts}The information provided matched multiple existing database records based on the configured Duplicate Matching Rules for your site.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Name{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfName}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Email{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfEmail}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Contact ID{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfID}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <p>{ts}If you think this may be a duplicate contact which should be merged with an existing record - Go to \"Contacts >> Find and Merge Duplicate Contacts\". Use the strict rule for Organizations to find the potential duplicates and merge them if appropriate.{/ts}</p>\n   </td>\n  </tr>\n  {if $receiptMessage}\n   <tr>\n    <td>\n     <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n      <tr>\n       <th {$headerStyle}>\n        {ts}Copy of Contribution Receipt{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {* FIXME: the below is most probably not HTML-ised *}\n        {$receiptMessage}\n       </td>\n      </tr>\n     </table>\n    </td>\n   </tr>\n  {/if}\n </table>\n</body>\n</html>\n',1,829,'contribution_dupalert',1,0,0,NULL),
- (4,'Contributions - Duplicate Organization Alert','{ts}CiviContribute Alert: Possible Duplicate Contact Record{/ts} - {contact.display_name}\n','{ts}A contribution / membership signup was made on behalf of the organization listed below.{/ts}\n{ts}The information provided matched multiple existing database records based on the configured Duplicate Matching Rules for your site.{/ts}\n\n{ts}Organization Name{/ts}: {$onBehalfName}\n{ts}Organization Email{/ts}: {$onBehalfEmail}\n{ts}Organization Contact ID{/ts}: {$onBehalfID}\n\n{ts}If you think this may be a duplicate contact which should be merged with an existing record - Go to \"Contacts >> Find and Merge Duplicate Contacts\". Use the strict rule for Organizations to find the potential duplicates and merge them if appropriate.{/ts}\n\n{if $receiptMessage}\n###########################################################\n{ts}Copy of Contribution Receipt{/ts}\n\n###########################################################\n{$receiptMessage}\n\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <p>{ts}A contribution / membership signup was made on behalf of the organization listed below.{/ts}</p>\n    <p>{ts}The information provided matched multiple existing database records based on the configured Duplicate Matching Rules for your site.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Name{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfName}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Email{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfEmail}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Contact ID{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfID}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <p>{ts}If you think this may be a duplicate contact which should be merged with an existing record - Go to \"Contacts >> Find and Merge Duplicate Contacts\". Use the strict rule for Organizations to find the potential duplicates and merge them if appropriate.{/ts}</p>\n   </td>\n  </tr>\n  {if $receiptMessage}\n   <tr>\n    <td>\n     <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n      <tr>\n       <th {$headerStyle}>\n        {ts}Copy of Contribution Receipt{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {* FIXME: the below is most probably not HTML-ised *}\n        {$receiptMessage}\n       </td>\n      </tr>\n     </table>\n    </td>\n   </tr>\n  {/if}\n </table>\n</body>\n</html>\n',1,829,'contribution_dupalert',0,1,0,NULL),
- (5,'Contributions - Receipt (off-line)','{ts}Contribution Receipt{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if !empty($formValues.receipt_text)}\n{$formValues.receipt_text}\n{else}{ts}Below you will find a receipt for this contribution.{/ts}{/if}\n\n===========================================================\n{ts}Contribution Information{/ts}\n\n===========================================================\n{ts}Contributor{/ts}: {contact.display_name}\n{if !empty($formValues.contributionType_name)}\n{ts}Financial Type{/ts}: {$formValues.contributionType_name}\n{/if}\n{if $lineItem}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($getTaxDetails)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($getTaxDetails)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")} {$line.tax_rate|string_format:\"%.2f\"} %   {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($getTaxDetails) && !empty($dataArray)}\n{ts}Amount before Tax{/ts} : {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset ||  $priceset == 0 || $value != \'\'}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}% : {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if} : {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount) && $totalTaxAmount !== \'null\'}\n{ts}Total Tax Amount{/ts} : {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{ts}Total Amount{/ts} : {$formValues.total_amount|crmMoney:$currency}\n{if !empty($receive_date)}\n{ts}Date Received{/ts}: {$receive_date|truncate:10:\'\'|crmDate}\n{/if}\n{if !empty($receipt_date)}\n{ts}Receipt Date{/ts}: {$receipt_date|truncate:10:\'\'|crmDate}\n{/if}\n{if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}\n{ts}Paid By{/ts}: {$formValues.paidBy}\n{if !empty($formValues.check_number)}\n{ts}Check Number{/ts}: {$formValues.check_number}\n{/if}\n{/if}\n{if !empty($formValues.trxn_id)}\n{ts}Transaction ID{/ts}: {$formValues.trxn_id}\n{/if}\n\n{if !empty($ccContribution)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{if !empty($customGroup)}\n{foreach from=$customGroup item=value key=customName}\n===========================================================\n{$customName}\n===========================================================\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($softCreditTypes) and !empty($softCredits)}\n{foreach from=$softCreditTypes item=softCreditType key=n}\n===========================================================\n{$softCreditType}\n===========================================================\n{foreach from=$softCredits.$n item=value key=label}\n{$label}: {$value}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($formValues.product_name)}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$formValues.product_name}\n{if $formValues.product_option}\n{ts}Option{/ts}: {$formValues.product_option}\n{/if}\n{if $formValues.product_sku}\n{ts}SKU{/ts}: {$formValues.product_sku}\n{/if}\n{if !empty($fulfilled_date)}\n{ts}Sent{/ts}: {$fulfilled_date|crmDate}\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($formValues.receipt_text)}\n     <p>{$formValues.receipt_text|htmlize}</p>\n    {else}\n     <p>{ts}Below you will find a receipt for this contribution.{/ts}</p>\n    {/if}\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Contribution Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Contributor Name{/ts}\n      </td>\n      <td {$valueStyle}>\n       {contact.display_name}\n      </td>\n     </tr>\n     <tr>\n      {if !empty($formValues.contributionType_name)}\n        <td {$labelStyle}>\n         {ts}Financial Type{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.contributionType_name}\n        </td>\n      {/if}\n     </tr>\n\n     {if !empty($lineItem) and empty($is_quick_config)}\n      {foreach from=$lineItem item=value key=priceset}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n          <tr>\n           <th>{ts}Item{/ts}</th>\n           <th>{ts}Qty{/ts}</th>\n           <th>{ts}Each{/ts}</th>\n           {if !empty($getTaxDetails)}\n             <th>{ts}Subtotal{/ts}</th>\n             <th>{ts}Tax Rate{/ts}</th>\n             <th>{ts}Tax Amount{/ts}</th>\n           {/if}\n           <th>{ts}Total{/ts}</th>\n          </tr>\n          {foreach from=$value item=line}\n           <tr>\n            <td>\n            {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n            </td>\n            <td>\n             {$line.qty}\n            </td>\n            <td>\n             {$line.unit_price|crmMoney:$currency}\n            </td>\n            {if !empty($getTaxDetails)}\n              <td>\n                {$line.unit_price*$line.qty|crmMoney:$currency}\n              </td>\n              {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n                <td>\n                  {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td>\n                  {$line.tax_amount|crmMoney:$currency}\n                </td>\n              {else}\n                <td></td>\n                <td></td>\n              {/if}\n            {/if}\n            <td>\n             {$line.line_total+$line.tax_amount|crmMoney:$currency}\n            </td>\n           </tr>\n          {/foreach}\n         </table>\n        </td>\n       </tr>\n      {/foreach}\n     {/if}\n     {if !empty($getTaxDetails) && !empty($dataArray)}\n       <tr>\n         <td {$labelStyle}>\n           {ts} Amount before Tax : {/ts}\n         </td>\n         <td {$valueStyle}>\n           {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n         </td>\n       </tr>\n\n      {foreach from=$dataArray item=value key=priceset}\n        <tr>\n        {if $priceset ||  $priceset == 0 || $value != \'\'}\n          <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n          <td>&nbsp;{$value|crmMoney:$currency}</td>\n        {else}\n          <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n          <td>&nbsp;{$value|crmMoney:$currency}</td>\n        {/if}\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if isset($totalTaxAmount) && $totalTaxAmount !== \'null\'}\n      <tr>\n        <td {$labelStyle}>\n          {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n        </td>\n      </tr>\n     {/if}\n\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$formValues.total_amount|crmMoney:$currency}\n      </td>\n     </tr>\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date Received{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|truncate:10:\'\'|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n      {if !empty($receipt_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Receipt Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receipt_date|truncate:10:\'\'|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Paid By{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$formValues.paidBy}\n       </td>\n      </tr>\n      {if !empty($formValues.check_number)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Check Number{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.check_number}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($formValues.trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction ID{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$formValues.trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($ccContribution)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Billing Name and Address{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$billingName}<br />\n        {$address|nl2br}\n       </td>\n      </tr>\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($softCreditTypes) and !empty($softCredits)}\n      {foreach from=$softCreditTypes item=softCreditType key=n}\n       <tr>\n        <th {$headerStyle}>\n         {$softCreditType}\n        </th>\n       </tr>\n       {foreach from=$softCredits.$n item=value key=label}\n         <tr>\n          <td {$labelStyle}>\n           {$label}\n          </td>\n          <td {$valueStyle}>\n           {$value}\n          </td>\n         </tr>\n        {/foreach}\n       {/foreach}\n     {/if}\n\n     {if !empty($customGroup)}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n     {if !empty($formValues.product_name)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$formValues.product_name}\n       </td>\n      </tr>\n      {if $formValues.product_option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.product_option}\n        </td>\n       </tr>\n      {/if}\n      {if $formValues.product_sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.product_sku}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($fulfilled_date)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Sent{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$fulfilled_date|truncate:10:\'\'|crmDate}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,830,'contribution_offline_receipt',1,0,0,NULL),
- (6,'Contributions - Receipt (off-line)','{ts}Contribution Receipt{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if !empty($formValues.receipt_text)}\n{$formValues.receipt_text}\n{else}{ts}Below you will find a receipt for this contribution.{/ts}{/if}\n\n===========================================================\n{ts}Contribution Information{/ts}\n\n===========================================================\n{ts}Contributor{/ts}: {contact.display_name}\n{if !empty($formValues.contributionType_name)}\n{ts}Financial Type{/ts}: {$formValues.contributionType_name}\n{/if}\n{if $lineItem}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($getTaxDetails)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($getTaxDetails)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")} {$line.tax_rate|string_format:\"%.2f\"} %   {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($getTaxDetails) && !empty($dataArray)}\n{ts}Amount before Tax{/ts} : {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset ||  $priceset == 0 || $value != \'\'}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}% : {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if} : {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount) && $totalTaxAmount !== \'null\'}\n{ts}Total Tax Amount{/ts} : {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{ts}Total Amount{/ts} : {$formValues.total_amount|crmMoney:$currency}\n{if !empty($receive_date)}\n{ts}Date Received{/ts}: {$receive_date|truncate:10:\'\'|crmDate}\n{/if}\n{if !empty($receipt_date)}\n{ts}Receipt Date{/ts}: {$receipt_date|truncate:10:\'\'|crmDate}\n{/if}\n{if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}\n{ts}Paid By{/ts}: {$formValues.paidBy}\n{if !empty($formValues.check_number)}\n{ts}Check Number{/ts}: {$formValues.check_number}\n{/if}\n{/if}\n{if !empty($formValues.trxn_id)}\n{ts}Transaction ID{/ts}: {$formValues.trxn_id}\n{/if}\n\n{if !empty($ccContribution)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{if !empty($customGroup)}\n{foreach from=$customGroup item=value key=customName}\n===========================================================\n{$customName}\n===========================================================\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($softCreditTypes) and !empty($softCredits)}\n{foreach from=$softCreditTypes item=softCreditType key=n}\n===========================================================\n{$softCreditType}\n===========================================================\n{foreach from=$softCredits.$n item=value key=label}\n{$label}: {$value}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($formValues.product_name)}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$formValues.product_name}\n{if $formValues.product_option}\n{ts}Option{/ts}: {$formValues.product_option}\n{/if}\n{if $formValues.product_sku}\n{ts}SKU{/ts}: {$formValues.product_sku}\n{/if}\n{if !empty($fulfilled_date)}\n{ts}Sent{/ts}: {$fulfilled_date|crmDate}\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($formValues.receipt_text)}\n     <p>{$formValues.receipt_text|htmlize}</p>\n    {else}\n     <p>{ts}Below you will find a receipt for this contribution.{/ts}</p>\n    {/if}\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Contribution Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Contributor Name{/ts}\n      </td>\n      <td {$valueStyle}>\n       {contact.display_name}\n      </td>\n     </tr>\n     <tr>\n      {if !empty($formValues.contributionType_name)}\n        <td {$labelStyle}>\n         {ts}Financial Type{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.contributionType_name}\n        </td>\n      {/if}\n     </tr>\n\n     {if !empty($lineItem) and empty($is_quick_config)}\n      {foreach from=$lineItem item=value key=priceset}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n          <tr>\n           <th>{ts}Item{/ts}</th>\n           <th>{ts}Qty{/ts}</th>\n           <th>{ts}Each{/ts}</th>\n           {if !empty($getTaxDetails)}\n             <th>{ts}Subtotal{/ts}</th>\n             <th>{ts}Tax Rate{/ts}</th>\n             <th>{ts}Tax Amount{/ts}</th>\n           {/if}\n           <th>{ts}Total{/ts}</th>\n          </tr>\n          {foreach from=$value item=line}\n           <tr>\n            <td>\n            {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n            </td>\n            <td>\n             {$line.qty}\n            </td>\n            <td>\n             {$line.unit_price|crmMoney:$currency}\n            </td>\n            {if !empty($getTaxDetails)}\n              <td>\n                {$line.unit_price*$line.qty|crmMoney:$currency}\n              </td>\n              {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n                <td>\n                  {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td>\n                  {$line.tax_amount|crmMoney:$currency}\n                </td>\n              {else}\n                <td></td>\n                <td></td>\n              {/if}\n            {/if}\n            <td>\n             {$line.line_total+$line.tax_amount|crmMoney:$currency}\n            </td>\n           </tr>\n          {/foreach}\n         </table>\n        </td>\n       </tr>\n      {/foreach}\n     {/if}\n     {if !empty($getTaxDetails) && !empty($dataArray)}\n       <tr>\n         <td {$labelStyle}>\n           {ts} Amount before Tax : {/ts}\n         </td>\n         <td {$valueStyle}>\n           {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n         </td>\n       </tr>\n\n      {foreach from=$dataArray item=value key=priceset}\n        <tr>\n        {if $priceset ||  $priceset == 0 || $value != \'\'}\n          <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n          <td>&nbsp;{$value|crmMoney:$currency}</td>\n        {else}\n          <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n          <td>&nbsp;{$value|crmMoney:$currency}</td>\n        {/if}\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if isset($totalTaxAmount) && $totalTaxAmount !== \'null\'}\n      <tr>\n        <td {$labelStyle}>\n          {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n        </td>\n      </tr>\n     {/if}\n\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$formValues.total_amount|crmMoney:$currency}\n      </td>\n     </tr>\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date Received{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|truncate:10:\'\'|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n      {if !empty($receipt_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Receipt Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receipt_date|truncate:10:\'\'|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Paid By{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$formValues.paidBy}\n       </td>\n      </tr>\n      {if !empty($formValues.check_number)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Check Number{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.check_number}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($formValues.trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction ID{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$formValues.trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($ccContribution)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Billing Name and Address{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$billingName}<br />\n        {$address|nl2br}\n       </td>\n      </tr>\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($softCreditTypes) and !empty($softCredits)}\n      {foreach from=$softCreditTypes item=softCreditType key=n}\n       <tr>\n        <th {$headerStyle}>\n         {$softCreditType}\n        </th>\n       </tr>\n       {foreach from=$softCredits.$n item=value key=label}\n         <tr>\n          <td {$labelStyle}>\n           {$label}\n          </td>\n          <td {$valueStyle}>\n           {$value}\n          </td>\n         </tr>\n        {/foreach}\n       {/foreach}\n     {/if}\n\n     {if !empty($customGroup)}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n     {if !empty($formValues.product_name)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$formValues.product_name}\n       </td>\n      </tr>\n      {if $formValues.product_option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.product_option}\n        </td>\n       </tr>\n      {/if}\n      {if $formValues.product_sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.product_sku}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($fulfilled_date)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Sent{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$fulfilled_date|truncate:10:\'\'|crmDate}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,830,'contribution_offline_receipt',0,1,0,NULL),
- (7,'Contributions - Receipt (on-line)','{if $is_pay_later}{ts}Invoice{/ts}{else}{ts}Receipt{/ts}{/if} - {$title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($receipt_text)}\n{$receipt_text}\n{/if}\n{if $is_pay_later}\n\n===========================================================\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n===========================================================\n{/if}\n\n{if $amount}\n===========================================================\n{ts}Contribution Information{/ts}\n\n===========================================================\n{if $lineItem and $priceSetID and empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Total Amount{/ts}: {$amount|crmMoney:$currency}\n{else}\n{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if isset($amount_level) } - {$amount_level} {/if}\n{/if}\n{/if}\n{if !empty($receive_date)}\n\n{ts}Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($is_monetary) and !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n\n{if !empty($is_recur)}\n{ts}This is a recurring contribution.{/ts}\n\n{if $cancelSubscriptionUrl}\n{ts}You can cancel future contributions at:{/ts}\n\n{$cancelSubscriptionUrl}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts}You can update billing details for this recurring contribution at:{/ts}\n\n{$updateSubscriptionBillingUrl}\n\n{/if}\n\n{if $updateSubscriptionUrl}\n{ts}You can update recurring contribution amount or change the number of installments for this recurring contribution at:{/ts}\n\n{$updateSubscriptionUrl}\n\n{/if}\n{/if}\n\n{if $honor_block_is_active}\n===========================================================\n{$soft_credit_type}\n===========================================================\n{foreach from=$honoreeProfile item=value key=label}\n{$label}: {$value}\n{/foreach}\n{elseif !empty($softCreditTypes) and !empty($softCredits)}\n{foreach from=$softCreditTypes item=softCreditType key=n}\n===========================================================\n{$softCreditType}\n===========================================================\n{foreach from=$softCredits.$n item=value key=label}\n{$label}: {$value}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($pcpBlock)}\n===========================================================\n{ts}Personal Campaign Page{/ts}\n\n===========================================================\n{ts}Display In Honor Roll{/ts}: {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n\n{if $pcp_roll_nickname}{ts}Nickname{/ts}: {$pcp_roll_nickname}{/if}\n\n{if $pcp_personal_note}{ts}Personal Note{/ts}: {$pcp_personal_note}{/if}\n\n{/if}\n{if !empty($onBehalfProfile)}\n===========================================================\n{ts}On Behalf Of{/ts}\n\n===========================================================\n{foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n{$onBehalfName}: {$onBehalfValue}\n{/foreach}\n{/if}\n\n{if !empty($billingName)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n{elseif !empty($email)}\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{$email}\n{/if} {* End billingName or Email*}\n{if !empty($credit_card_type)}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n\n{if !empty($selectPremium )}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$product_name}\n{if $option}\n{ts}Option{/ts}: {$option}\n{/if}\n{if $sku}\n{ts}SKU{/ts}: {$sku}\n{/if}\n{if $start_date}\n{ts}Start Date{/ts}: {$start_date|crmDate}\n{/if}\n{if $end_date}\n{ts}End Date{/ts}: {$end_date|crmDate}\n{/if}\n{if !empty($contact_email) OR !empty($contact_phone)}\n\n{ts}For information about this premium, contact:{/ts}\n\n{if !empty($contact_email)}\n  {$contact_email}\n{/if}\n{if !empty($contact_phone)}\n  {$contact_phone}\n{/if}\n{/if}\n{if !empty($is_deductible) AND !empty($price)}\n\n{ts 1=$price|crmMoney:$currency}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}{/if}\n{/if}\n\n{if !empty($customPre)}\n===========================================================\n{$customPre_grouptitle}\n\n===========================================================\n{foreach from=$customPre item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n\n\n{if !empty($customPost)}\n===========================================================\n{$customPost_grouptitle}\n\n===========================================================\n{foreach from=$customPost item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($receipt_text)}\n     <p>{$receipt_text|htmlize}</p>\n    {/if}\n\n    {if $is_pay_later}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  </table>\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n     {if $amount}\n\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Contribution Information{/ts}\n       </th>\n      </tr>\n\n      {if !empty($lineItem) and !empty($priceSetID) and empty($is_quick_config)}\n\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Qty{/ts}</th>\n            <th>{ts}Each{/ts}</th>\n            {if !empty($dataArray)}\n             <th>{ts}Subtotal{/ts}</th>\n             <th>{ts}Tax Rate{/ts}</th>\n             <th>{ts}Tax Amount{/ts}</th>\n            {/if}\n            <th>{ts}Total{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n             {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n             </td>\n             <td>\n              {$line.qty}\n             </td>\n             <td>\n              {$line.unit_price|crmMoney:$currency}\n             </td>\n             {if !empty($getTaxDetails)}\n              <td>\n               {$line.unit_price*$line.qty|crmMoney:$currency}\n              </td>\n              {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n               <td>\n                {$line.tax_rate|string_format:\"%.2f\"}%\n               </td>\n               <td>\n                {$line.tax_amount|crmMoney:$currency}\n               </td>\n              {else}\n               <td></td>\n               <td></td>\n              {/if}\n             {/if}\n             <td>\n              {$line.line_total+$line.tax_amount|crmMoney:$currency}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       {if !empty($dataArray)}\n        <tr>\n         <td {$labelStyle}>\n          {ts} Amount before Tax : {/ts}\n         </td>\n         <td {$valueStyle}>\n          {$amount-$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n          {if $priceset || $priceset == 0}\n           <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {else}\n           <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {/if}\n         </tr>\n        {/foreach}\n\n       {/if}\n       {if isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Total Tax{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney:$currency}\n        </td>\n       </tr>\n\n      {else}\n\n      {if !empty($totalTaxAmount)}\n         <tr>\n           <td {$labelStyle}>\n             {ts}Total Tax Amount{/ts}\n           </td>\n           <td {$valueStyle}>\n             {$totalTaxAmount|crmMoney:$currency}\n           </td>\n         </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney:$currency} {if isset($amount_level)} - {$amount_level}{/if}\n        </td>\n       </tr>\n\n      {/if}\n\n     {/if}\n\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($is_monetary) and !empty($trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n    {if !empty($is_recur)}\n      <tr>\n        <td  colspan=\"2\" {$labelStyle}>\n          {ts}This is a recurring contribution.{/ts}\n          {if $cancelSubscriptionUrl}\n            {ts 1=$cancelSubscriptionUrl}You can cancel future contributions by <a href=\"%1\">visiting this web page</a>.{/ts}\n          {/if}\n        </td>\n      </tr>\n      {if $updateSubscriptionBillingUrl}\n        <tr>\n          <td colspan=\"2\" {$labelStyle}>\n            {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n      {if $updateSubscriptionUrl}\n        <tr>\n          <td colspan=\"2\" {$labelStyle}>\n            {ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n    {/if}\n\n     {if $honor_block_is_active}\n      <tr>\n       <th {$headerStyle}>\n        {$soft_credit_type}\n       </th>\n      </tr>\n      {foreach from=$honoreeProfile item=value key=label}\n        <tr>\n         <td {$labelStyle}>\n          {$label}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n      {/foreach}\n      {elseif !empty($softCreditTypes) and !empty($softCredits)}\n      {foreach from=$softCreditTypes item=softCreditType key=n}\n       <tr>\n        <th {$headerStyle}>\n         {$softCreditType}\n        </th>\n       </tr>\n       {foreach from=$softCredits.$n item=value key=label}\n         <tr>\n          <td {$labelStyle}>\n           {$label}\n          </td>\n          <td {$valueStyle}>\n           {$value}\n          </td>\n         </tr>\n        {/foreach}\n       {/foreach}\n     {/if}\n\n     {if !empty($pcpBlock)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Personal Campaign Page{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Display In Honor Roll{/ts}\n       </td>\n       <td {$valueStyle}>\n        {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n       </td>\n      </tr>\n      {if $pcp_roll_nickname}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Nickname{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_roll_nickname}\n        </td>\n       </tr>\n      {/if}\n      {if $pcp_personal_note}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Personal Note{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_personal_note}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($onBehalfProfile)}\n      <tr>\n       <th {$headerStyle}>\n        {$onBehalfProfile_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n        <tr>\n         <td {$labelStyle}>\n          {$onBehalfName}\n         </td>\n         <td {$valueStyle}>\n          {$onBehalfValue}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($isShare)}\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n            {capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contributionPageId`\" a=true fe=1 h=1}{/capture}\n            {include file=\"CRM/common/SocialNetwork.tpl\" emailMode=true url=$contributionUrl title=$title pageURL=$contributionUrl}\n        </td>\n      </tr>\n     {/if}\n\n     {if !empty($billingName)}\n       <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n     {elseif !empty($email)}\n       <tr>\n        <th {$headerStyle}>\n         {ts}Registered Email{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$email}\n        </td>\n       </tr>\n     {/if}\n\n     {if !empty($credit_card_type)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($selectPremium)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$product_name}\n       </td>\n      </tr>\n      {if $option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$option}\n        </td>\n       </tr>\n      {/if}\n      {if $sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$sku}\n        </td>\n       </tr>\n      {/if}\n      {if $start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($contact_email) OR !empty($contact_phone)}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}For information about this premium, contact:{/ts}</p>\n         {if !empty($contact_email)}\n          <p>{$contact_email}</p>\n         {/if}\n         {if !empty($contact_phone)}\n          <p>{$contact_phone}</p>\n         {/if}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($is_deductible) AND !empty($price)}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <p>{ts 1=$price|crmMoney:$currency}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}</p>\n         </td>\n        </tr>\n      {/if}\n     {/if}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n  </table>\n\n</body>\n</html>\n',1,831,'contribution_online_receipt',1,0,0,NULL),
- (8,'Contributions - Receipt (on-line)','{if $is_pay_later}{ts}Invoice{/ts}{else}{ts}Receipt{/ts}{/if} - {$title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($receipt_text)}\n{$receipt_text}\n{/if}\n{if $is_pay_later}\n\n===========================================================\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n===========================================================\n{/if}\n\n{if $amount}\n===========================================================\n{ts}Contribution Information{/ts}\n\n===========================================================\n{if $lineItem and $priceSetID and empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Total Amount{/ts}: {$amount|crmMoney:$currency}\n{else}\n{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if isset($amount_level) } - {$amount_level} {/if}\n{/if}\n{/if}\n{if !empty($receive_date)}\n\n{ts}Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($is_monetary) and !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n\n{if !empty($is_recur)}\n{ts}This is a recurring contribution.{/ts}\n\n{if $cancelSubscriptionUrl}\n{ts}You can cancel future contributions at:{/ts}\n\n{$cancelSubscriptionUrl}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts}You can update billing details for this recurring contribution at:{/ts}\n\n{$updateSubscriptionBillingUrl}\n\n{/if}\n\n{if $updateSubscriptionUrl}\n{ts}You can update recurring contribution amount or change the number of installments for this recurring contribution at:{/ts}\n\n{$updateSubscriptionUrl}\n\n{/if}\n{/if}\n\n{if $honor_block_is_active}\n===========================================================\n{$soft_credit_type}\n===========================================================\n{foreach from=$honoreeProfile item=value key=label}\n{$label}: {$value}\n{/foreach}\n{elseif !empty($softCreditTypes) and !empty($softCredits)}\n{foreach from=$softCreditTypes item=softCreditType key=n}\n===========================================================\n{$softCreditType}\n===========================================================\n{foreach from=$softCredits.$n item=value key=label}\n{$label}: {$value}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($pcpBlock)}\n===========================================================\n{ts}Personal Campaign Page{/ts}\n\n===========================================================\n{ts}Display In Honor Roll{/ts}: {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n\n{if $pcp_roll_nickname}{ts}Nickname{/ts}: {$pcp_roll_nickname}{/if}\n\n{if $pcp_personal_note}{ts}Personal Note{/ts}: {$pcp_personal_note}{/if}\n\n{/if}\n{if !empty($onBehalfProfile)}\n===========================================================\n{ts}On Behalf Of{/ts}\n\n===========================================================\n{foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n{$onBehalfName}: {$onBehalfValue}\n{/foreach}\n{/if}\n\n{if !empty($billingName)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n{elseif !empty($email)}\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{$email}\n{/if} {* End billingName or Email*}\n{if !empty($credit_card_type)}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n\n{if !empty($selectPremium )}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$product_name}\n{if $option}\n{ts}Option{/ts}: {$option}\n{/if}\n{if $sku}\n{ts}SKU{/ts}: {$sku}\n{/if}\n{if $start_date}\n{ts}Start Date{/ts}: {$start_date|crmDate}\n{/if}\n{if $end_date}\n{ts}End Date{/ts}: {$end_date|crmDate}\n{/if}\n{if !empty($contact_email) OR !empty($contact_phone)}\n\n{ts}For information about this premium, contact:{/ts}\n\n{if !empty($contact_email)}\n  {$contact_email}\n{/if}\n{if !empty($contact_phone)}\n  {$contact_phone}\n{/if}\n{/if}\n{if !empty($is_deductible) AND !empty($price)}\n\n{ts 1=$price|crmMoney:$currency}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}{/if}\n{/if}\n\n{if !empty($customPre)}\n===========================================================\n{$customPre_grouptitle}\n\n===========================================================\n{foreach from=$customPre item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n\n\n{if !empty($customPost)}\n===========================================================\n{$customPost_grouptitle}\n\n===========================================================\n{foreach from=$customPost item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($receipt_text)}\n     <p>{$receipt_text|htmlize}</p>\n    {/if}\n\n    {if $is_pay_later}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  </table>\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n     {if $amount}\n\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Contribution Information{/ts}\n       </th>\n      </tr>\n\n      {if !empty($lineItem) and !empty($priceSetID) and empty($is_quick_config)}\n\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Qty{/ts}</th>\n            <th>{ts}Each{/ts}</th>\n            {if !empty($dataArray)}\n             <th>{ts}Subtotal{/ts}</th>\n             <th>{ts}Tax Rate{/ts}</th>\n             <th>{ts}Tax Amount{/ts}</th>\n            {/if}\n            <th>{ts}Total{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n             {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n             </td>\n             <td>\n              {$line.qty}\n             </td>\n             <td>\n              {$line.unit_price|crmMoney:$currency}\n             </td>\n             {if !empty($getTaxDetails)}\n              <td>\n               {$line.unit_price*$line.qty|crmMoney:$currency}\n              </td>\n              {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n               <td>\n                {$line.tax_rate|string_format:\"%.2f\"}%\n               </td>\n               <td>\n                {$line.tax_amount|crmMoney:$currency}\n               </td>\n              {else}\n               <td></td>\n               <td></td>\n              {/if}\n             {/if}\n             <td>\n              {$line.line_total+$line.tax_amount|crmMoney:$currency}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       {if !empty($dataArray)}\n        <tr>\n         <td {$labelStyle}>\n          {ts} Amount before Tax : {/ts}\n         </td>\n         <td {$valueStyle}>\n          {$amount-$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n          {if $priceset || $priceset == 0}\n           <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {else}\n           <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {/if}\n         </tr>\n        {/foreach}\n\n       {/if}\n       {if isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Total Tax{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney:$currency}\n        </td>\n       </tr>\n\n      {else}\n\n      {if !empty($totalTaxAmount)}\n         <tr>\n           <td {$labelStyle}>\n             {ts}Total Tax Amount{/ts}\n           </td>\n           <td {$valueStyle}>\n             {$totalTaxAmount|crmMoney:$currency}\n           </td>\n         </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney:$currency} {if isset($amount_level)} - {$amount_level}{/if}\n        </td>\n       </tr>\n\n      {/if}\n\n     {/if}\n\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($is_monetary) and !empty($trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n    {if !empty($is_recur)}\n      <tr>\n        <td  colspan=\"2\" {$labelStyle}>\n          {ts}This is a recurring contribution.{/ts}\n          {if $cancelSubscriptionUrl}\n            {ts 1=$cancelSubscriptionUrl}You can cancel future contributions by <a href=\"%1\">visiting this web page</a>.{/ts}\n          {/if}\n        </td>\n      </tr>\n      {if $updateSubscriptionBillingUrl}\n        <tr>\n          <td colspan=\"2\" {$labelStyle}>\n            {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n      {if $updateSubscriptionUrl}\n        <tr>\n          <td colspan=\"2\" {$labelStyle}>\n            {ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n    {/if}\n\n     {if $honor_block_is_active}\n      <tr>\n       <th {$headerStyle}>\n        {$soft_credit_type}\n       </th>\n      </tr>\n      {foreach from=$honoreeProfile item=value key=label}\n        <tr>\n         <td {$labelStyle}>\n          {$label}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n      {/foreach}\n      {elseif !empty($softCreditTypes) and !empty($softCredits)}\n      {foreach from=$softCreditTypes item=softCreditType key=n}\n       <tr>\n        <th {$headerStyle}>\n         {$softCreditType}\n        </th>\n       </tr>\n       {foreach from=$softCredits.$n item=value key=label}\n         <tr>\n          <td {$labelStyle}>\n           {$label}\n          </td>\n          <td {$valueStyle}>\n           {$value}\n          </td>\n         </tr>\n        {/foreach}\n       {/foreach}\n     {/if}\n\n     {if !empty($pcpBlock)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Personal Campaign Page{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Display In Honor Roll{/ts}\n       </td>\n       <td {$valueStyle}>\n        {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n       </td>\n      </tr>\n      {if $pcp_roll_nickname}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Nickname{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_roll_nickname}\n        </td>\n       </tr>\n      {/if}\n      {if $pcp_personal_note}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Personal Note{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_personal_note}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($onBehalfProfile)}\n      <tr>\n       <th {$headerStyle}>\n        {$onBehalfProfile_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n        <tr>\n         <td {$labelStyle}>\n          {$onBehalfName}\n         </td>\n         <td {$valueStyle}>\n          {$onBehalfValue}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($isShare)}\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n            {capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contributionPageId`\" a=true fe=1 h=1}{/capture}\n            {include file=\"CRM/common/SocialNetwork.tpl\" emailMode=true url=$contributionUrl title=$title pageURL=$contributionUrl}\n        </td>\n      </tr>\n     {/if}\n\n     {if !empty($billingName)}\n       <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n     {elseif !empty($email)}\n       <tr>\n        <th {$headerStyle}>\n         {ts}Registered Email{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$email}\n        </td>\n       </tr>\n     {/if}\n\n     {if !empty($credit_card_type)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($selectPremium)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$product_name}\n       </td>\n      </tr>\n      {if $option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$option}\n        </td>\n       </tr>\n      {/if}\n      {if $sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$sku}\n        </td>\n       </tr>\n      {/if}\n      {if $start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($contact_email) OR !empty($contact_phone)}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}For information about this premium, contact:{/ts}</p>\n         {if !empty($contact_email)}\n          <p>{$contact_email}</p>\n         {/if}\n         {if !empty($contact_phone)}\n          <p>{$contact_phone}</p>\n         {/if}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($is_deductible) AND !empty($price)}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <p>{ts 1=$price|crmMoney:$currency}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}</p>\n         </td>\n        </tr>\n      {/if}\n     {/if}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n  </table>\n\n</body>\n</html>\n',1,831,'contribution_online_receipt',0,1,0,NULL),
- (9,'Contributions - Invoice','{if $title}\n  {if $component}\n    {if $component == \'event\'}\n      {ts 1=$title}Event Registration Invoice: %1{/ts}\n    {else}\n      {ts 1=$title}Contribution Invoice: %1{/ts}\n    {/if}\n  {/if}\n{else}\n  {ts}Invoice{/ts}\n{/if}\n - {contact.display_name}\n','{ts}Contribution Invoice{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n      <title></title>\n  </head>\n  <body>\n  <div style=\"padding-top:100px;margin-right:50px;border-style: none;\">\n    {if $config->empoweredBy}\n      <table style=\"margin-top:5px;padding-bottom:50px;\" cellpadding=\"5\" cellspacing=\"0\">\n        <tr>\n          <td><img src=\"{$resourceBase}/i/civi99.png\" height=\"34px\" width=\"99px\"></td>\n        </tr>\n      </table>\n    {/if}\n      <table style=\"font-family: Arial, Verdana, sans-serif;\" width=\"100%\" height=\"100\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">\n        <tr>\n          <td width=\"30%\"><b><font size=\"4\" align=\"center\">{ts}INVOICE{/ts}</font></b></td>\n          <td width=\"50%\" valign=\"bottom\"><b><font size=\"1\" align=\"center\">{ts}Invoice Date:{/ts}</font></b></td>\n          <td valign=\"bottom\" style=\"white-space: nowrap\"><b><font size=\"1\" align=\"right\">{$domain_organization}</font></b></td>\n        </tr>\n        <tr>\n          {if $organization_name}\n            <td><font size=\"1\" align=\"center\">{contact.display_name}  ({$organization_name})</font></td>\n          {else}\n            <td><font size=\"1\" align=\"center\">{contact.display_name}</font></td>\n          {/if}\n          <td><font size=\"1\" align=\"right\">{$invoice_date}</font></td>\n          <td style=\"white-space: nowrap\">\n            <font size=\"1\" align=\"right\">\n              {if $domain_street_address }{$domain_street_address}{/if}\n              {if $domain_supplemental_address_1 }{$domain_supplemental_address_1}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"center\">{$street_address} {$supplemental_address_1}</font></td>\n          <td><b><font size=\"1\" align=\"right\">{ts}Invoice Number:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_supplemental_address_2 }{$domain_supplemental_address_2}{/if}\n              {if $domain_state }{$domain_state}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"center\">{$supplemental_address_2} {$stateProvinceAbbreviation}</font></td>\n          <td><font size=\"1\" align=\"right\">{$invoice_number}</font></td>\n          <td style=\"white-space: nowrap\">\n            <font size=\"1\" align=\"right\">\n              {if $domain_city}{$domain_city}{/if}\n              {if $domain_postal_code }{$domain_postal_code}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"right\">{$city}  {$postal_code}</font></td>\n          <td height=\"10\"><b><font size=\"1\" align=\"right\">{ts}Reference:{/ts}</font></b></td>\n          <td><font size=\"1\" align=\"right\">{if $domain_country}{$domain_country}{/if}</font></td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"right\"> {$country}</font></td>\n          <td><font size=\"1\" align=\"right\">{if !empty($source)}{$source}{/if}</font></td>\n          <td valign=\"top\" style=\"white-space: nowrap\"><font size=\"1\" align=\"right\">{if $domain_email}{$domain_email}{/if}</font> </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td></td>\n          <td valign=\"top\"><font size=\"1\" align=\"right\">{if $domain_phone}{$domain_phone}{/if}</font> </td>\n        </tr>\n      </table>\n\n             <table style=\"padding-top:75px;font-family: Arial, Verdana, sans-serif;\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">\n              <tr>\n                <th style=\"text-align:left;font-weight:bold;width:100%\"><font size=\"1\">{ts}Description{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts}Quantity{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts}Unit Price{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{if isset($taxTerm)}{$taxTerm}{/if}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts 1=$currency}Amount %1{/ts}</font></th>\n              </tr>\n              {foreach from=$lineItem item=value key=priceset name=taxpricevalue}\n                {if $smarty.foreach.taxpricevalue.index eq 0}\n                {else}\n                {/if}\n                <tr>\n                  <td style=\"text-align:left;nowrap\"><font size=\"1\">\n                    {if $value.html_type eq \'Text\'}\n                      {$value.label}\n                    {else}\n                      {$value.field_title} - {$value.label}\n                    {/if}\n                    {if $value.description}\n                      <div>{$value.description|truncate:30:\"...\"}</div>\n                    {/if}\n                   </font>\n                  </td>\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.qty}</font></td>\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.unit_price|crmMoney:$currency}</font></td>\n                  {if $value.tax_amount != \'\'}\n                    <td style=\"text-align:right;\"><font size=\"1\">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>\n                  {else}\n                    <td style=\"text-align:right;\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm}-{/ts}{/if}</font></td>\n                  {/if}\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.subTotal|crmMoney:$currency}</font></td>\n                </tr>\n              {/foreach}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{ts}Sub Total{/ts}</font></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$subTotal|crmMoney:$currency}</font></td>\n              </tr>\n              {if !empty($dataArray)}\n              {foreach from=$dataArray item=value key=priceset}\n                <tr>\n                  <td colspan=\"3\"></td>\n                    {if $priceset}\n                      <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm 2=$priceset}TOTAL %1 %2%{/ts}{/if}</font></td>\n                      <td style=\"text-align:right\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                    {elseif $priceset == 0}\n                      <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm}TOTAL %1{/ts}{/if}</font></td>\n                      <td style=\"text-align:right\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                    {/if}\n                </tr>\n              {/foreach}\n              {/if}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\"><b><font size=\"1\">{ts 1=$currency}TOTAL %1{/ts}</font></b></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">\n                  {if $contribution_status_id == $refundedStatusId}\n                    {ts}Amount Credited{/ts}\n                  {else}\n                    {ts}Amount Paid{/ts}\n                  {/if}\n                 </font>\n                </td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$amountPaid|crmMoney:$currency}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td colspan=\"2\"><hr></hr></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\" ><b><font size=\"1\">{ts}AMOUNT DUE:{/ts}</font></b></td>\n                <td style=\"text-align:right;\"><b><font size=\"1\">{$amountDue|crmMoney:$currency}</font></b></td>\n              </tr>\n\n              <br/><br/><br/>\n              <tr>\n                <td colspan=\"5\"></td>\n              </tr>\n              {if $contribution_status_id == $pendingStatusId && $is_pay_later == 1}\n                <tr>\n                  <td colspan=\"3\"><b><font size=\"1\" align=\"center\">{ts 1=$dueDate}DUE DATE: %1{/ts}</font></b></td>\n                  <td colspan=\"2\"></td>\n                </tr>\n              {/if}\n            </table>\n          </td>\n        </tr>\n      </table>\n\n      {if $contribution_status_id == $pendingStatusId && $is_pay_later == 1}\n        <table style=\"margin-top:5px;\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n          <tr>\n            <td><img src=\"{$resourceBase}/i/contribute/cut_line.png\" height=\"15\"></td>\n          </tr>\n        </table>\n\n        <table style=\"margin-top:5px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\" id=\"desc\">\n          <tr>\n            <td width=\"60%\"><b><font size=\"4\" align=\"right\">{ts}PAYMENT ADVICE{/ts}</font></b><br/><br/><font size=\"1\" align=\"left\"><b>{ts}To:{/ts}</b><div style=\"width:24em;word-wrap:break-word;\">\n              {$domain_organization}<br />\n              {$domain_street_address} {$domain_supplemental_address_1}<br />\n              {$domain_supplemental_address_2} {$domain_state}<br />\n              {$domain_city} {$domain_postal_code}<br />\n              {$domain_country}<br />\n              {$domain_email}</div>\n              {$domain_phone}<br />\n             </font><br/><br/><font size=\"1\" align=\"left\">{$notes}</font>\n            </td>\n            <td width=\"40%\">\n              <table cellpadding=\"5\" cellspacing=\"0\"  width=\"100%\" border=\"0\">\n                <tr>\n                  <td width=\"100%\"><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Customer:{/ts}</font></td>\n                  <td style=\"white-space: nowrap\"><font size=\"1\" align=\"right\">{contact.display_name}</font></td>\n                </tr>\n                <tr>\n                  <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Invoice Number:{/ts}</font></td>\n                  <td><font size=\"1\" align=\"right\">{$invoice_number}</font></td>\n                </tr>\n                <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></td></tr>\n                {if $is_pay_later == 1}\n                  <tr>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Amount Due:{/ts}</font></td>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amount|crmMoney:$currency}</font></td>\n                  </tr>\n                {else}\n                  <tr>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Amount Due:{/ts}</font></td>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amountDue|crmMoney:$currency}</font></td>\n                  </tr>\n                {/if}\n                <tr>\n                  <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Due Date:{/ts}</font></td>\n                  <td><font size=\"1\" align=\"right\">{$dueDate}</font></td>\n                </tr>\n                <tr>\n                  <td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></td>\n                </tr>\n              </table>\n      {/if}\n\n      {if $contribution_status_id == $refundedStatusId || $contribution_status_id == $cancelledStatusId}\n      {if $config->empoweredBy}\n        <table style=\"margin-top:2px;padding-left:7px;page-break-before: always;\">\n          <tr>\n            <td><img src=\"{$resourceBase}/i/civi99.png\" height=\"34px\" width=\"99px\"></td>\n          </tr>\n        </table>\n      {/if}\n\n      <table style=\"font-family: Arial, Verdana, sans-serif\" width=\"100%\" height=\"100\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\">\n        <tr>\n          <td style=\"padding-left:15px;\"><b><font size=\"4\" align=\"center\">{ts}CREDIT NOTE{/ts}</font></b></td>\n          <td style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Date:{/ts}</font></b></td>\n          <td><font size=\"1\" align=\"right\">{$domain_organization}</font></td>\n        </tr>\n        <tr>\n          {if $organization_name}\n            <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{contact.display_name}  ({$organization_name})</font></td>\n          {else}\n            <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{contact.display_name}</font></td>\n          {/if}\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$invoice_date}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_street_address }{$domain_street_address}{/if}\n              {if $domain_supplemental_address_1 }{$domain_supplemental_address_1}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{$street_address}   {$supplemental_address_1}</font></td>\n          <td style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Credit Note Number:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_supplemental_address_2 }{$domain_supplemental_address_2}{/if}\n              {if $domain_state }{$domain_state}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{$supplemental_address_2}  {$stateProvinceAbbreviation}</font></td>\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$creditnote_id}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_city}{$domain_city}{/if}\n              {if $domain_postal_code }{$domain_postal_code}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"right\">{$city}  {$postal_code}</font></td>\n          <td height=\"10\" style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Reference:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_country}{$domain_country}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$source}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_email}{$domain_email}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_phone}{$domain_phone}{/if}\n           </font>\n          </td>\n        </tr>\n      </table>\n\n      <table style=\"margin-top:75px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\" id=\"desc\">\n        <tr>\n          <td colspan=\"2\" {$valueStyle}>\n            <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n              <tr>\n                <th style=\"padding-right:28px;text-align:left;font-weight:bold;width:200px;\"><font size=\"1\">{ts}Description{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts}Quantity{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts}Unit Price{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{if isset($taxTerm)}{$taxTerm}{/if}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts 1=$currency}Amount %1{/ts}</font></th>\n              </tr>\n              {foreach from=$lineItem item=value key=priceset name=pricevalue}\n                {if $smarty.foreach.pricevalue.index eq 0}\n                  <tr><td colspan=\"5\"><hr size=\"3\" style=\"color:#000;\"></hr></td></tr>\n                {else}\n                  <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n                {/if}\n                <tr>\n                  <td style =\"text-align:left;\"  >\n                    <font size=\"1\">\n                      {if $value.html_type eq \'Text\'}\n                        {$value.label}\n                      {else}\n                        {$value.field_title} - {$value.label}\n                      {/if}\n                      {if $value.description}\n                        <div>{$value.description|truncate:30:\"...\"}</div>\n                      {/if}\n                   </font>\n                  </td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.qty}</font></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.unit_price|crmMoney:$currency}</font></td>\n                  {if $value.tax_amount != \'\'}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>\n                  {else}\n                    <td style=\"padding-left:28px;text-align:right\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm}No %1{/ts}{/if}</font></td>\n                  {/if}\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.subTotal|crmMoney:$currency}</font></td>\n                </tr>\n              {/foreach}\n              <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{ts}Sub Total{/ts}</font></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$subTotal|crmMoney:$currency}</font></td>\n              </tr>\n              {if !empty($dataArray)}\n              {foreach from=$dataArray item=value key=priceset}\n                <tr>\n                  <td colspan=\"3\"></td>\n                  {if $priceset}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm 2=$priceset}TOTAL %1 %2%{/ts}{/if}</font></td>\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                  {elseif $priceset == 0}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm}TOTAL NO %1{/ts}{/if}</font></td>\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                  {/if}\n                </tr>\n              {/foreach}\n              {/if}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td colspan=\"2\"><hr></hr></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{ts 1=$currency}TOTAL %1{/ts}</font></b></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n              {if $is_pay_later == 0}\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{ts}LESS Credit to invoice(s){/ts}</font></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n                </tr>\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td colspan=\"2\"><hr></hr></td>\n                </tr>\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{ts}REMAINING CREDIT{/ts}</font></b></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{$amountDue|crmMoney:$currency}</font></b></td>\n                  <td style=\"padding-left:28px;\"><font size=\"1\" align=\"right\"></font></td>\n                </tr>\n              {/if}\n              <br/><br/><br/>\n              <tr>\n                <td colspan=\"3\"></td>\n              </tr>\n              <tr>\n                <td></td>\n                <td colspan=\"3\"></td>\n              </tr>\n            </table>\n          </td>\n        </tr>\n      </table>\n\n      <table width=\"100%\" style=\"margin-top:5px;padding-right:45px;\">\n        <tr>\n          <td><img src=\"{$resourceBase}/i/contribute/cut_line.png\" height=\"15\" width=\"100%\"></td>\n        </tr>\n      </table>\n\n      <table style=\"margin-top:6px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\" id=\"desc\">\n        <tr>\n          <td width=\"60%\"><font size=\"4\" align=\"right\"><b>{ts}CREDIT ADVICE{/ts}</b><br/><br /><div style=\"font-size:10px;max-width:300px;\">{ts}Please do not pay on this advice. Deduct the amount of this Credit Note from your next payment to us{/ts}</div><br/></font></td>\n          <td width=\"40%\">\n            <table align=\"right\">\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Customer:{/ts}</font></td>\n                <td><font size=\"1\" align=\"right\">{contact.display_name}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Credit Note#:{/ts}</font></td>\n                <td><font size=\"1\" align=\"right\">{$creditnote_id}</font></td>\n              </tr>\n              <tr><td colspan=\"5\"style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Credit Amount:{/ts}</font></td>\n                <td width=\'50px\'><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n            </table>\n          </td>\n        </tr>\n      </table>\n    {/if}\n\n  </div>\n  </body>\n</html>\n',1,832,'contribution_invoice_receipt',1,0,0,NULL),
- (10,'Contributions - Invoice','{if $title}\n  {if $component}\n    {if $component == \'event\'}\n      {ts 1=$title}Event Registration Invoice: %1{/ts}\n    {else}\n      {ts 1=$title}Contribution Invoice: %1{/ts}\n    {/if}\n  {/if}\n{else}\n  {ts}Invoice{/ts}\n{/if}\n - {contact.display_name}\n','{ts}Contribution Invoice{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n      <title></title>\n  </head>\n  <body>\n  <div style=\"padding-top:100px;margin-right:50px;border-style: none;\">\n    {if $config->empoweredBy}\n      <table style=\"margin-top:5px;padding-bottom:50px;\" cellpadding=\"5\" cellspacing=\"0\">\n        <tr>\n          <td><img src=\"{$resourceBase}/i/civi99.png\" height=\"34px\" width=\"99px\"></td>\n        </tr>\n      </table>\n    {/if}\n      <table style=\"font-family: Arial, Verdana, sans-serif;\" width=\"100%\" height=\"100\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">\n        <tr>\n          <td width=\"30%\"><b><font size=\"4\" align=\"center\">{ts}INVOICE{/ts}</font></b></td>\n          <td width=\"50%\" valign=\"bottom\"><b><font size=\"1\" align=\"center\">{ts}Invoice Date:{/ts}</font></b></td>\n          <td valign=\"bottom\" style=\"white-space: nowrap\"><b><font size=\"1\" align=\"right\">{$domain_organization}</font></b></td>\n        </tr>\n        <tr>\n          {if $organization_name}\n            <td><font size=\"1\" align=\"center\">{contact.display_name}  ({$organization_name})</font></td>\n          {else}\n            <td><font size=\"1\" align=\"center\">{contact.display_name}</font></td>\n          {/if}\n          <td><font size=\"1\" align=\"right\">{$invoice_date}</font></td>\n          <td style=\"white-space: nowrap\">\n            <font size=\"1\" align=\"right\">\n              {if $domain_street_address }{$domain_street_address}{/if}\n              {if $domain_supplemental_address_1 }{$domain_supplemental_address_1}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"center\">{$street_address} {$supplemental_address_1}</font></td>\n          <td><b><font size=\"1\" align=\"right\">{ts}Invoice Number:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_supplemental_address_2 }{$domain_supplemental_address_2}{/if}\n              {if $domain_state }{$domain_state}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"center\">{$supplemental_address_2} {$stateProvinceAbbreviation}</font></td>\n          <td><font size=\"1\" align=\"right\">{$invoice_number}</font></td>\n          <td style=\"white-space: nowrap\">\n            <font size=\"1\" align=\"right\">\n              {if $domain_city}{$domain_city}{/if}\n              {if $domain_postal_code }{$domain_postal_code}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"right\">{$city}  {$postal_code}</font></td>\n          <td height=\"10\"><b><font size=\"1\" align=\"right\">{ts}Reference:{/ts}</font></b></td>\n          <td><font size=\"1\" align=\"right\">{if $domain_country}{$domain_country}{/if}</font></td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"right\"> {$country}</font></td>\n          <td><font size=\"1\" align=\"right\">{if !empty($source)}{$source}{/if}</font></td>\n          <td valign=\"top\" style=\"white-space: nowrap\"><font size=\"1\" align=\"right\">{if $domain_email}{$domain_email}{/if}</font> </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td></td>\n          <td valign=\"top\"><font size=\"1\" align=\"right\">{if $domain_phone}{$domain_phone}{/if}</font> </td>\n        </tr>\n      </table>\n\n             <table style=\"padding-top:75px;font-family: Arial, Verdana, sans-serif;\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">\n              <tr>\n                <th style=\"text-align:left;font-weight:bold;width:100%\"><font size=\"1\">{ts}Description{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts}Quantity{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts}Unit Price{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{if isset($taxTerm)}{$taxTerm}{/if}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts 1=$currency}Amount %1{/ts}</font></th>\n              </tr>\n              {foreach from=$lineItem item=value key=priceset name=taxpricevalue}\n                {if $smarty.foreach.taxpricevalue.index eq 0}\n                {else}\n                {/if}\n                <tr>\n                  <td style=\"text-align:left;nowrap\"><font size=\"1\">\n                    {if $value.html_type eq \'Text\'}\n                      {$value.label}\n                    {else}\n                      {$value.field_title} - {$value.label}\n                    {/if}\n                    {if $value.description}\n                      <div>{$value.description|truncate:30:\"...\"}</div>\n                    {/if}\n                   </font>\n                  </td>\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.qty}</font></td>\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.unit_price|crmMoney:$currency}</font></td>\n                  {if $value.tax_amount != \'\'}\n                    <td style=\"text-align:right;\"><font size=\"1\">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>\n                  {else}\n                    <td style=\"text-align:right;\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm}-{/ts}{/if}</font></td>\n                  {/if}\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.subTotal|crmMoney:$currency}</font></td>\n                </tr>\n              {/foreach}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{ts}Sub Total{/ts}</font></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$subTotal|crmMoney:$currency}</font></td>\n              </tr>\n              {if !empty($dataArray)}\n              {foreach from=$dataArray item=value key=priceset}\n                <tr>\n                  <td colspan=\"3\"></td>\n                    {if $priceset}\n                      <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm 2=$priceset}TOTAL %1 %2%{/ts}{/if}</font></td>\n                      <td style=\"text-align:right\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                    {elseif $priceset == 0}\n                      <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm}TOTAL %1{/ts}{/if}</font></td>\n                      <td style=\"text-align:right\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                    {/if}\n                </tr>\n              {/foreach}\n              {/if}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\"><b><font size=\"1\">{ts 1=$currency}TOTAL %1{/ts}</font></b></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">\n                  {if $contribution_status_id == $refundedStatusId}\n                    {ts}Amount Credited{/ts}\n                  {else}\n                    {ts}Amount Paid{/ts}\n                  {/if}\n                 </font>\n                </td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$amountPaid|crmMoney:$currency}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td colspan=\"2\"><hr></hr></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\" ><b><font size=\"1\">{ts}AMOUNT DUE:{/ts}</font></b></td>\n                <td style=\"text-align:right;\"><b><font size=\"1\">{$amountDue|crmMoney:$currency}</font></b></td>\n              </tr>\n\n              <br/><br/><br/>\n              <tr>\n                <td colspan=\"5\"></td>\n              </tr>\n              {if $contribution_status_id == $pendingStatusId && $is_pay_later == 1}\n                <tr>\n                  <td colspan=\"3\"><b><font size=\"1\" align=\"center\">{ts 1=$dueDate}DUE DATE: %1{/ts}</font></b></td>\n                  <td colspan=\"2\"></td>\n                </tr>\n              {/if}\n            </table>\n          </td>\n        </tr>\n      </table>\n\n      {if $contribution_status_id == $pendingStatusId && $is_pay_later == 1}\n        <table style=\"margin-top:5px;\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n          <tr>\n            <td><img src=\"{$resourceBase}/i/contribute/cut_line.png\" height=\"15\"></td>\n          </tr>\n        </table>\n\n        <table style=\"margin-top:5px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\" id=\"desc\">\n          <tr>\n            <td width=\"60%\"><b><font size=\"4\" align=\"right\">{ts}PAYMENT ADVICE{/ts}</font></b><br/><br/><font size=\"1\" align=\"left\"><b>{ts}To:{/ts}</b><div style=\"width:24em;word-wrap:break-word;\">\n              {$domain_organization}<br />\n              {$domain_street_address} {$domain_supplemental_address_1}<br />\n              {$domain_supplemental_address_2} {$domain_state}<br />\n              {$domain_city} {$domain_postal_code}<br />\n              {$domain_country}<br />\n              {$domain_email}</div>\n              {$domain_phone}<br />\n             </font><br/><br/><font size=\"1\" align=\"left\">{$notes}</font>\n            </td>\n            <td width=\"40%\">\n              <table cellpadding=\"5\" cellspacing=\"0\"  width=\"100%\" border=\"0\">\n                <tr>\n                  <td width=\"100%\"><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Customer:{/ts}</font></td>\n                  <td style=\"white-space: nowrap\"><font size=\"1\" align=\"right\">{contact.display_name}</font></td>\n                </tr>\n                <tr>\n                  <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Invoice Number:{/ts}</font></td>\n                  <td><font size=\"1\" align=\"right\">{$invoice_number}</font></td>\n                </tr>\n                <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></td></tr>\n                {if $is_pay_later == 1}\n                  <tr>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Amount Due:{/ts}</font></td>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amount|crmMoney:$currency}</font></td>\n                  </tr>\n                {else}\n                  <tr>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Amount Due:{/ts}</font></td>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amountDue|crmMoney:$currency}</font></td>\n                  </tr>\n                {/if}\n                <tr>\n                  <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Due Date:{/ts}</font></td>\n                  <td><font size=\"1\" align=\"right\">{$dueDate}</font></td>\n                </tr>\n                <tr>\n                  <td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></td>\n                </tr>\n              </table>\n      {/if}\n\n      {if $contribution_status_id == $refundedStatusId || $contribution_status_id == $cancelledStatusId}\n      {if $config->empoweredBy}\n        <table style=\"margin-top:2px;padding-left:7px;page-break-before: always;\">\n          <tr>\n            <td><img src=\"{$resourceBase}/i/civi99.png\" height=\"34px\" width=\"99px\"></td>\n          </tr>\n        </table>\n      {/if}\n\n      <table style=\"font-family: Arial, Verdana, sans-serif\" width=\"100%\" height=\"100\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\">\n        <tr>\n          <td style=\"padding-left:15px;\"><b><font size=\"4\" align=\"center\">{ts}CREDIT NOTE{/ts}</font></b></td>\n          <td style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Date:{/ts}</font></b></td>\n          <td><font size=\"1\" align=\"right\">{$domain_organization}</font></td>\n        </tr>\n        <tr>\n          {if $organization_name}\n            <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{contact.display_name}  ({$organization_name})</font></td>\n          {else}\n            <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{contact.display_name}</font></td>\n          {/if}\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$invoice_date}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_street_address }{$domain_street_address}{/if}\n              {if $domain_supplemental_address_1 }{$domain_supplemental_address_1}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{$street_address}   {$supplemental_address_1}</font></td>\n          <td style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Credit Note Number:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_supplemental_address_2 }{$domain_supplemental_address_2}{/if}\n              {if $domain_state }{$domain_state}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{$supplemental_address_2}  {$stateProvinceAbbreviation}</font></td>\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$creditnote_id}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_city}{$domain_city}{/if}\n              {if $domain_postal_code }{$domain_postal_code}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"right\">{$city}  {$postal_code}</font></td>\n          <td height=\"10\" style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Reference:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_country}{$domain_country}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$source}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_email}{$domain_email}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_phone}{$domain_phone}{/if}\n           </font>\n          </td>\n        </tr>\n      </table>\n\n      <table style=\"margin-top:75px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\" id=\"desc\">\n        <tr>\n          <td colspan=\"2\" {$valueStyle}>\n            <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n              <tr>\n                <th style=\"padding-right:28px;text-align:left;font-weight:bold;width:200px;\"><font size=\"1\">{ts}Description{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts}Quantity{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts}Unit Price{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{if isset($taxTerm)}{$taxTerm}{/if}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts 1=$currency}Amount %1{/ts}</font></th>\n              </tr>\n              {foreach from=$lineItem item=value key=priceset name=pricevalue}\n                {if $smarty.foreach.pricevalue.index eq 0}\n                  <tr><td colspan=\"5\"><hr size=\"3\" style=\"color:#000;\"></hr></td></tr>\n                {else}\n                  <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n                {/if}\n                <tr>\n                  <td style =\"text-align:left;\"  >\n                    <font size=\"1\">\n                      {if $value.html_type eq \'Text\'}\n                        {$value.label}\n                      {else}\n                        {$value.field_title} - {$value.label}\n                      {/if}\n                      {if $value.description}\n                        <div>{$value.description|truncate:30:\"...\"}</div>\n                      {/if}\n                   </font>\n                  </td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.qty}</font></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.unit_price|crmMoney:$currency}</font></td>\n                  {if $value.tax_amount != \'\'}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>\n                  {else}\n                    <td style=\"padding-left:28px;text-align:right\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm}No %1{/ts}{/if}</font></td>\n                  {/if}\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.subTotal|crmMoney:$currency}</font></td>\n                </tr>\n              {/foreach}\n              <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{ts}Sub Total{/ts}</font></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$subTotal|crmMoney:$currency}</font></td>\n              </tr>\n              {if !empty($dataArray)}\n              {foreach from=$dataArray item=value key=priceset}\n                <tr>\n                  <td colspan=\"3\"></td>\n                  {if $priceset}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm 2=$priceset}TOTAL %1 %2%{/ts}{/if}</font></td>\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                  {elseif $priceset == 0}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm}TOTAL NO %1{/ts}{/if}</font></td>\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                  {/if}\n                </tr>\n              {/foreach}\n              {/if}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td colspan=\"2\"><hr></hr></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{ts 1=$currency}TOTAL %1{/ts}</font></b></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n              {if $is_pay_later == 0}\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{ts}LESS Credit to invoice(s){/ts}</font></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n                </tr>\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td colspan=\"2\"><hr></hr></td>\n                </tr>\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{ts}REMAINING CREDIT{/ts}</font></b></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{$amountDue|crmMoney:$currency}</font></b></td>\n                  <td style=\"padding-left:28px;\"><font size=\"1\" align=\"right\"></font></td>\n                </tr>\n              {/if}\n              <br/><br/><br/>\n              <tr>\n                <td colspan=\"3\"></td>\n              </tr>\n              <tr>\n                <td></td>\n                <td colspan=\"3\"></td>\n              </tr>\n            </table>\n          </td>\n        </tr>\n      </table>\n\n      <table width=\"100%\" style=\"margin-top:5px;padding-right:45px;\">\n        <tr>\n          <td><img src=\"{$resourceBase}/i/contribute/cut_line.png\" height=\"15\" width=\"100%\"></td>\n        </tr>\n      </table>\n\n      <table style=\"margin-top:6px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\" id=\"desc\">\n        <tr>\n          <td width=\"60%\"><font size=\"4\" align=\"right\"><b>{ts}CREDIT ADVICE{/ts}</b><br/><br /><div style=\"font-size:10px;max-width:300px;\">{ts}Please do not pay on this advice. Deduct the amount of this Credit Note from your next payment to us{/ts}</div><br/></font></td>\n          <td width=\"40%\">\n            <table align=\"right\">\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Customer:{/ts}</font></td>\n                <td><font size=\"1\" align=\"right\">{contact.display_name}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Credit Note#:{/ts}</font></td>\n                <td><font size=\"1\" align=\"right\">{$creditnote_id}</font></td>\n              </tr>\n              <tr><td colspan=\"5\"style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Credit Amount:{/ts}</font></td>\n                <td width=\'50px\'><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n            </table>\n          </td>\n        </tr>\n      </table>\n    {/if}\n\n  </div>\n  </body>\n</html>\n',1,832,'contribution_invoice_receipt',0,1,0,NULL),
- (11,'Contributions - Recurring Start and End Notification','{ts}Recurring Contribution Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if $recur_txnType eq \'START\'}\n{if $auto_renew_membership}\n{ts}Thanks for your auto renew membership sign-up.{/ts}\n\n\n{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This membership will be automatically renewed every %1 %2(s).{/ts}\n\n{if $cancelSubscriptionUrl}\n{ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n{else}\n{ts}Thanks for your recurring contribution sign-up.{/ts}\n\n\n{ts 1=$recur_frequency_interval 2=$recur_frequency_unit 3=$recur_installments}This recurring contribution will be automatically processed every %1 %2(s){/ts}{if $recur_installments } {ts 1=$recur_installments} for a total of %1 installment(s){/ts}{/if}.\n\n{ts}Start Date{/ts}:  {$recur_start_date|crmDate}\n\n{if $cancelSubscriptionUrl}\n{ts 1=$cancelSubscriptionUrl}You can cancel the recurring contribution option by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionUrl}\n{ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n{/if}\n\n{elseif $recur_txnType eq \'END\'}\n{if $auto_renew_membership}\n{ts}Your auto renew membership sign-up has ended and your membership will not be automatically renewed.{/ts}\n\n\n{else}\n{ts}Your recurring contribution term has ended.{/ts}\n\n\n{ts 1=$recur_installments}You have successfully completed %1 recurring contributions. Thank you.{/ts}\n\n\n==================================================\n{ts 1=$recur_installments}Interval of Subscription for %1 installment(s){/ts}\n\n==================================================\n{ts}Start Date{/ts}: {$recur_start_date|crmDate}\n\n{ts}End Date{/ts}: {$recur_end_date|crmDate}\n\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n   </td>\n  </tr>\n\n  <tr>\n   <td>&nbsp;</td>\n  </tr>\n\n    {if $recur_txnType eq \'START\'}\n     {if $auto_renew_membership}\n       <tr>\n        <td>\n         <p>{ts}Thanks for your auto renew membership sign-up.{/ts}</p>\n         <p>{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This membership will be automatically renewed every %1 %2(s). {/ts}</p>\n        </td>\n       </tr>\n       {if $cancelSubscriptionUrl}\n       <tr>\n         <td {$labelStyle}>\n           {ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n         </td>\n       </tr>\n       {/if}\n       {if $updateSubscriptionBillingUrl}\n         <tr>\n          <td {$labelStyle}>\n           {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n         </tr>\n       {/if}\n     {else}\n      <tr>\n       <td>\n        <p>{ts}Thanks for your recurring contribution sign-up.{/ts}</p>\n        <p>{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This recurring contribution will be automatically processed every %1 %2(s){/ts}{if $recur_installments }{ts 1=$recur_installments} for a total of %1 installment(s){/ts}{/if}.</p>\n        <p>{ts}Start Date{/ts}: {$recur_start_date|crmDate}</p>\n       </td>\n      </tr>\n      {if $cancelSubscriptionUrl}\n      <tr>\n        <td {$labelStyle}>\n          {ts 1=$cancelSubscriptionUrl} You can cancel the recurring contribution option by <a href=\"%1\">visiting this web page</a>.{/ts}\n        </td>\n      </tr>\n      {/if}\n      {if $updateSubscriptionBillingUrl}\n        <tr>\n          <td {$labelStyle}>\n            {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n      {if $updateSubscriptionUrl}\n      <tr>\n        <td {$labelStyle}>\n          {ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n        </td>\n      </tr>\n      {/if}\n     {/if}\n\n    {elseif $recur_txnType eq \'END\'}\n\n     {if $auto_renew_membership}\n      <tr>\n       <td>\n        <p>{ts}Your auto renew membership sign-up has ended and your membership will not be automatically renewed.{/ts}</p>\n       </td>\n      </tr>\n     {else}\n      <tr>\n       <td>\n        <p>{ts}Your recurring contribution term has ended.{/ts}</p>\n        <p>{ts 1=$recur_installments}You have successfully completed %1 recurring contributions. Thank you.{/ts}</p>\n       </td>\n      </tr>\n      <tr>\n       <td>\n     <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n      <tr>\n       <th {$headerStyle}>\n        {ts 1=$recur_installments}Interval of Subscription for %1 installment(s){/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Start Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$recur_start_date|crmDate}\n       </td>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}End Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$recur_end_date|crmDate}\n       </td>\n      </tr>\n     </table>\n       </td>\n      </tr>\n\n     {/if}\n    {/if}\n\n </table>\n\n</body>\n</html>\n',1,833,'contribution_recurring_notify',1,0,0,NULL),
- (12,'Contributions - Recurring Start and End Notification','{ts}Recurring Contribution Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if $recur_txnType eq \'START\'}\n{if $auto_renew_membership}\n{ts}Thanks for your auto renew membership sign-up.{/ts}\n\n\n{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This membership will be automatically renewed every %1 %2(s).{/ts}\n\n{if $cancelSubscriptionUrl}\n{ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n{else}\n{ts}Thanks for your recurring contribution sign-up.{/ts}\n\n\n{ts 1=$recur_frequency_interval 2=$recur_frequency_unit 3=$recur_installments}This recurring contribution will be automatically processed every %1 %2(s){/ts}{if $recur_installments } {ts 1=$recur_installments} for a total of %1 installment(s){/ts}{/if}.\n\n{ts}Start Date{/ts}:  {$recur_start_date|crmDate}\n\n{if $cancelSubscriptionUrl}\n{ts 1=$cancelSubscriptionUrl}You can cancel the recurring contribution option by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionUrl}\n{ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n{/if}\n\n{elseif $recur_txnType eq \'END\'}\n{if $auto_renew_membership}\n{ts}Your auto renew membership sign-up has ended and your membership will not be automatically renewed.{/ts}\n\n\n{else}\n{ts}Your recurring contribution term has ended.{/ts}\n\n\n{ts 1=$recur_installments}You have successfully completed %1 recurring contributions. Thank you.{/ts}\n\n\n==================================================\n{ts 1=$recur_installments}Interval of Subscription for %1 installment(s){/ts}\n\n==================================================\n{ts}Start Date{/ts}: {$recur_start_date|crmDate}\n\n{ts}End Date{/ts}: {$recur_end_date|crmDate}\n\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n   </td>\n  </tr>\n\n  <tr>\n   <td>&nbsp;</td>\n  </tr>\n\n    {if $recur_txnType eq \'START\'}\n     {if $auto_renew_membership}\n       <tr>\n        <td>\n         <p>{ts}Thanks for your auto renew membership sign-up.{/ts}</p>\n         <p>{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This membership will be automatically renewed every %1 %2(s). {/ts}</p>\n        </td>\n       </tr>\n       {if $cancelSubscriptionUrl}\n       <tr>\n         <td {$labelStyle}>\n           {ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n         </td>\n       </tr>\n       {/if}\n       {if $updateSubscriptionBillingUrl}\n         <tr>\n          <td {$labelStyle}>\n           {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n         </tr>\n       {/if}\n     {else}\n      <tr>\n       <td>\n        <p>{ts}Thanks for your recurring contribution sign-up.{/ts}</p>\n        <p>{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This recurring contribution will be automatically processed every %1 %2(s){/ts}{if $recur_installments }{ts 1=$recur_installments} for a total of %1 installment(s){/ts}{/if}.</p>\n        <p>{ts}Start Date{/ts}: {$recur_start_date|crmDate}</p>\n       </td>\n      </tr>\n      {if $cancelSubscriptionUrl}\n      <tr>\n        <td {$labelStyle}>\n          {ts 1=$cancelSubscriptionUrl} You can cancel the recurring contribution option by <a href=\"%1\">visiting this web page</a>.{/ts}\n        </td>\n      </tr>\n      {/if}\n      {if $updateSubscriptionBillingUrl}\n        <tr>\n          <td {$labelStyle}>\n            {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n      {if $updateSubscriptionUrl}\n      <tr>\n        <td {$labelStyle}>\n          {ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n        </td>\n      </tr>\n      {/if}\n     {/if}\n\n    {elseif $recur_txnType eq \'END\'}\n\n     {if $auto_renew_membership}\n      <tr>\n       <td>\n        <p>{ts}Your auto renew membership sign-up has ended and your membership will not be automatically renewed.{/ts}</p>\n       </td>\n      </tr>\n     {else}\n      <tr>\n       <td>\n        <p>{ts}Your recurring contribution term has ended.{/ts}</p>\n        <p>{ts 1=$recur_installments}You have successfully completed %1 recurring contributions. Thank you.{/ts}</p>\n       </td>\n      </tr>\n      <tr>\n       <td>\n     <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n      <tr>\n       <th {$headerStyle}>\n        {ts 1=$recur_installments}Interval of Subscription for %1 installment(s){/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Start Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$recur_start_date|crmDate}\n       </td>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}End Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$recur_end_date|crmDate}\n       </td>\n      </tr>\n     </table>\n       </td>\n      </tr>\n\n     {/if}\n    {/if}\n\n </table>\n\n</body>\n</html>\n',1,833,'contribution_recurring_notify',0,1,0,NULL),
- (13,'Contributions - Recurring Cancellation Notification','{ts}Recurring Contribution Cancellation Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Your recurring contribution of %1, every %2 %3 has been cancelled as requested.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Your recurring contribution of %1, every %2 %3 has been cancelled as requested.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n</body>\n</html>\n',1,834,'contribution_recurring_cancelled',1,0,0,NULL),
- (14,'Contributions - Recurring Cancellation Notification','{ts}Recurring Contribution Cancellation Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Your recurring contribution of %1, every %2 %3 has been cancelled as requested.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Your recurring contribution of %1, every %2 %3 has been cancelled as requested.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n</body>\n</html>\n',1,834,'contribution_recurring_cancelled',0,1,0,NULL),
- (15,'Contributions - Recurring Billing Updates','{ts}Recurring Contribution Billing Updates{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Billing details for your recurring contribution of %1, every %2 %3 have been updated.{/ts}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Billing details for your recurring contribution of %1, every %2 %3 have been updated.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n    <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n        <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n            {ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n        </td>\n       </tr>\n  </table>\n\n</body>\n</html>\n',1,835,'contribution_recurring_billing',1,0,0,NULL),
- (16,'Contributions - Recurring Billing Updates','{ts}Recurring Contribution Billing Updates{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Billing details for your recurring contribution of %1, every %2 %3 have been updated.{/ts}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Billing details for your recurring contribution of %1, every %2 %3 have been updated.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n    <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n        <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n            {ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n        </td>\n       </tr>\n  </table>\n\n</body>\n</html>\n',1,835,'contribution_recurring_billing',0,1,0,NULL),
- (17,'Contributions - Recurring Updates','{ts}Recurring Contribution Update Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Your recurring contribution has been updated as requested:{/ts}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Recurring contribution is for %1, every %2 %3(s){/ts}\n{if $installments}{ts 1=$installments} for %1 installments.{/ts}{/if}\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Your recurring contribution has been updated as requested:{/ts}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Recurring contribution is for %1, every %2 %3(s){/ts}{if $installments}{ts 1=$installments} for %1 installments{/ts}{/if}.</p>\n\n    <p>{ts 1=$receipt_from_email}If you have questions please contact us at %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n</body>\n</html>\n',1,836,'contribution_recurring_edit',1,0,0,NULL),
- (18,'Contributions - Recurring Updates','{ts}Recurring Contribution Update Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Your recurring contribution has been updated as requested:{/ts}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Recurring contribution is for %1, every %2 %3(s){/ts}\n{if $installments}{ts 1=$installments} for %1 installments.{/ts}{/if}\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Your recurring contribution has been updated as requested:{/ts}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Recurring contribution is for %1, every %2 %3(s){/ts}{if $installments}{ts 1=$installments} for %1 installments{/ts}{/if}.</p>\n\n    <p>{ts 1=$receipt_from_email}If you have questions please contact us at %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n</body>\n</html>\n',1,836,'contribution_recurring_edit',0,1,0,NULL),
- (19,'Personal Campaign Pages - Admin Notification','{ts}Personal Campaign Page Notification{/ts} - {contact.display_name}\n','===========================================================\n{ts}Personal Campaign Page Notification{/ts}\n\n===========================================================\n{ts}Action{/ts}: {if $mode EQ \'Update\'}{ts}Updated personal campaign page{/ts}{else}{ts}New personal campaign page{/ts}{/if}\n{ts}Personal Campaign Page Title{/ts}: {$pcpTitle}\n{ts}Current Status{/ts}: {$pcpStatus}\n{capture assign=pcpURL}{crmURL p=\"civicrm/pcp/info\" q=\"reset=1&id=`$pcpId`\" h=0 a=1 fe=1}{/capture}\n{ts}View Page{/ts}:\n>> {$pcpURL}\n\n{ts}Supporter{/ts}: {$supporterName}\n>> {$supporterUrl}\n\n{ts}Linked to Contribution Page{/ts}: {$contribPageTitle}\n>> {$contribPageUrl}\n\n{ts}Manage Personal Campaign Pages{/ts}:\n>> {$managePCPUrl}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=pcpURL     }{crmURL p=\"civicrm/pcp/info\" q=\"reset=1&id=`$pcpId`\" h=0 a=1 fe=1}{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Personal Campaign Page Notification{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Action{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {if $mode EQ \'Update\'}\n        {ts}Updated personal campaign page{/ts}\n       {else}\n        {ts}New personal campaign page{/ts}\n       {/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Personal Campaign Page Title{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$pcpTitle}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Current Status{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$pcpStatus}\n      </td>\n     </tr>\n\n     <tr>\n      <td {$labelStyle}>\n       <a href=\"{$pcpURL}\">{ts}View Page{/ts}</a>\n      </td>\n      <td></td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Supporter{/ts}\n      </td>\n      <td {$valueStyle}>\n       <a href=\"{$supporterUrl}\">{$supporterName}</a>\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Linked to Contribution Page{/ts}\n      </td>\n      <td {$valueStyle}>\n       <a href=\"{$contribPageUrl}\">{$contribPageTitle}</a>\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       <a href=\"{$managePCPUrl}\">{ts}Manage Personal Campaign Pages{/ts}</a>\n      </td>\n      <td></td>\n     </tr>\n\n    </table>\n   </td>\n  </tr>\n </table>\n\n</body>\n</html>\n',1,837,'pcp_notify',1,0,0,NULL),
- (20,'Personal Campaign Pages - Admin Notification','{ts}Personal Campaign Page Notification{/ts} - {contact.display_name}\n','===========================================================\n{ts}Personal Campaign Page Notification{/ts}\n\n===========================================================\n{ts}Action{/ts}: {if $mode EQ \'Update\'}{ts}Updated personal campaign page{/ts}{else}{ts}New personal campaign page{/ts}{/if}\n{ts}Personal Campaign Page Title{/ts}: {$pcpTitle}\n{ts}Current Status{/ts}: {$pcpStatus}\n{capture assign=pcpURL}{crmURL p=\"civicrm/pcp/info\" q=\"reset=1&id=`$pcpId`\" h=0 a=1 fe=1}{/capture}\n{ts}View Page{/ts}:\n>> {$pcpURL}\n\n{ts}Supporter{/ts}: {$supporterName}\n>> {$supporterUrl}\n\n{ts}Linked to Contribution Page{/ts}: {$contribPageTitle}\n>> {$contribPageUrl}\n\n{ts}Manage Personal Campaign Pages{/ts}:\n>> {$managePCPUrl}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=pcpURL     }{crmURL p=\"civicrm/pcp/info\" q=\"reset=1&id=`$pcpId`\" h=0 a=1 fe=1}{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Personal Campaign Page Notification{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Action{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {if $mode EQ \'Update\'}\n        {ts}Updated personal campaign page{/ts}\n       {else}\n        {ts}New personal campaign page{/ts}\n       {/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Personal Campaign Page Title{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$pcpTitle}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Current Status{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$pcpStatus}\n      </td>\n     </tr>\n\n     <tr>\n      <td {$labelStyle}>\n       <a href=\"{$pcpURL}\">{ts}View Page{/ts}</a>\n      </td>\n      <td></td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Supporter{/ts}\n      </td>\n      <td {$valueStyle}>\n       <a href=\"{$supporterUrl}\">{$supporterName}</a>\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Linked to Contribution Page{/ts}\n      </td>\n      <td {$valueStyle}>\n       <a href=\"{$contribPageUrl}\">{$contribPageTitle}</a>\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       <a href=\"{$managePCPUrl}\">{ts}Manage Personal Campaign Pages{/ts}</a>\n      </td>\n      <td></td>\n     </tr>\n\n    </table>\n   </td>\n  </tr>\n </table>\n\n</body>\n</html>\n',1,837,'pcp_notify',0,1,0,NULL),
- (21,'Personal Campaign Pages - Supporter Status Change Notification','{ts 1=$contribPageTitle}Your Personal Campaign Page for %1{/ts} - {contact.display_name}\n','{if $pcpStatus eq \'Approved\'}\n============================\n{ts}Your Personal Campaign Page{/ts}\n\n============================\n\n{ts}Your personal campaign page has been approved and is now live.{/ts}\n\n{ts}Whenever you want to preview, update or promote your page{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser to go to your page{/ts}:\n{$pcpInfoURL}\n\n{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}\n\n{if $isTellFriendEnabled}\n\n{ts}After logging in, you can use this form to promote your fundraising page{/ts}:\n{$pcpTellFriendURL}\n\n{/if}\n\n{if $pcpNotifyEmailAddress}\n{ts}Questions? Send email to{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n\n{* Rejected message *}\n{elseif $pcpStatus eq \'Not Approved\'}\n============================\n{ts}Your Personal Campaign Page{/ts}\n\n============================\n\n{ts}Your personal campaign page has been reviewed. There were some issues with the content which prevented us from approving the page. We are sorry for any inconvenience.{/ts}\n\n{if $pcpNotifyEmailAddress}\n\n{ts}Please contact our site administrator for more information{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n\n    <h1>{ts}Your Personal Campaign Page{/ts}</h1>\n\n    {if $pcpStatus eq \'Approved\'}\n\n     <p>{ts}Your personal campaign page has been approved and is now live.{/ts}</p>\n     <p>{ts}Whenever you want to preview, update or promote your page{/ts}:</p>\n     <ol>\n      <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n      <li><a href=\"{$pcpInfoURL}\">{ts}Go to your page{/ts}</a></li>\n     </ol>\n     <p>{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}</p>\n\n     {if $isTellFriendEnabled}\n      <p><a href=\"{$pcpTellFriendURL}\">{ts}After logging in, you can use this form to promote your fundraising page{/ts}</a></p>\n     {/if}\n\n     {if $pcpNotifyEmailAddress}\n      <p>{ts}Questions? Send email to{/ts}: {$pcpNotifyEmailAddress}</p>\n     {/if}\n\n    {elseif $pcpStatus eq \'Not Approved\'}\n\n     <p>{ts}Your personal campaign page has been reviewed. There were some issues with the content which prevented us from approving the page. We are sorry for any inconvenience.{/ts}</p>\n     {if $pcpNotifyEmailAddress}\n      <p>{ts}Please contact our site administrator for more information{/ts}: {$pcpNotifyEmailAddress}</p>\n     {/if}\n\n    {/if}\n\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,838,'pcp_status_change',1,0,0,NULL),
- (22,'Personal Campaign Pages - Supporter Status Change Notification','{ts 1=$contribPageTitle}Your Personal Campaign Page for %1{/ts} - {contact.display_name}\n','{if $pcpStatus eq \'Approved\'}\n============================\n{ts}Your Personal Campaign Page{/ts}\n\n============================\n\n{ts}Your personal campaign page has been approved and is now live.{/ts}\n\n{ts}Whenever you want to preview, update or promote your page{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser to go to your page{/ts}:\n{$pcpInfoURL}\n\n{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}\n\n{if $isTellFriendEnabled}\n\n{ts}After logging in, you can use this form to promote your fundraising page{/ts}:\n{$pcpTellFriendURL}\n\n{/if}\n\n{if $pcpNotifyEmailAddress}\n{ts}Questions? Send email to{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n\n{* Rejected message *}\n{elseif $pcpStatus eq \'Not Approved\'}\n============================\n{ts}Your Personal Campaign Page{/ts}\n\n============================\n\n{ts}Your personal campaign page has been reviewed. There were some issues with the content which prevented us from approving the page. We are sorry for any inconvenience.{/ts}\n\n{if $pcpNotifyEmailAddress}\n\n{ts}Please contact our site administrator for more information{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n\n    <h1>{ts}Your Personal Campaign Page{/ts}</h1>\n\n    {if $pcpStatus eq \'Approved\'}\n\n     <p>{ts}Your personal campaign page has been approved and is now live.{/ts}</p>\n     <p>{ts}Whenever you want to preview, update or promote your page{/ts}:</p>\n     <ol>\n      <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n      <li><a href=\"{$pcpInfoURL}\">{ts}Go to your page{/ts}</a></li>\n     </ol>\n     <p>{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}</p>\n\n     {if $isTellFriendEnabled}\n      <p><a href=\"{$pcpTellFriendURL}\">{ts}After logging in, you can use this form to promote your fundraising page{/ts}</a></p>\n     {/if}\n\n     {if $pcpNotifyEmailAddress}\n      <p>{ts}Questions? Send email to{/ts}: {$pcpNotifyEmailAddress}</p>\n     {/if}\n\n    {elseif $pcpStatus eq \'Not Approved\'}\n\n     <p>{ts}Your personal campaign page has been reviewed. There were some issues with the content which prevented us from approving the page. We are sorry for any inconvenience.{/ts}</p>\n     {if $pcpNotifyEmailAddress}\n      <p>{ts}Please contact our site administrator for more information{/ts}: {$pcpNotifyEmailAddress}</p>\n     {/if}\n\n    {/if}\n\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,838,'pcp_status_change',0,1,0,NULL),
- (23,'Personal Campaign Pages - Supporter Welcome','{ts 1=$contribPageTitle}Your Personal Campaign Page for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=\"$contribPageTitle\"}Thanks for creating a personal campaign page in support of %1.{/ts}\n\n{if $pcpStatus eq \'Approved\'}\n====================\n{ts}Promoting Your Page{/ts}\n\n====================\n{if $isTellFriendEnabled}\n\n{ts}You can begin your fundraising efforts using our \"Tell a Friend\" form{/ts}:\n\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser and follow the prompts{/ts}:\n{$pcpTellFriendURL}\n{else}\n\n{ts}Send email to family, friends and colleagues with a personal message about this campaign.{/ts}\n{ts}Include this link to your fundraising page in your emails{/ts}:\n{$pcpInfoURL}\n{/if}\n\n===================\n{ts}Managing Your Page{/ts}\n\n===================\n{ts}Whenever you want to preview, update or promote your page{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser to go to your page{/ts}:\n{$pcpInfoURL}\n\n{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}\n\n\n{elseif $pcpStatus EQ \'Waiting Review\'}\n{ts}Your page requires administrator review before you can begin your fundraising efforts.{/ts}\n\n\n{ts}A notification email has been sent to the site administrator, and you will receive another notification from them as soon as the review process is complete.{/ts}\n\n\n{ts}You can still preview your page prior to approval{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser{/ts}:\n{$pcpInfoURL}\n\n{/if}\n{if $pcpNotifyEmailAddress}\n{ts}Questions? Send email to{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=\"$contribPageTitle\"}Thanks for creating a personal campaign page in support of %1.{/ts}</p>\n   </td>\n  </tr>\n\n  {if $pcpStatus eq \'Approved\'}\n\n    <tr>\n     <td>\n      <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n       <tr>\n        <th {$headerStyle}>\n         {ts}Promoting Your Page{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {if $isTellFriendEnabled}\n          <p>{ts}You can begin your fundraising efforts using our \"Tell a Friend\" form{/ts}:</p>\n          <ol>\n           <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n           <li><a href=\"{$pcpTellFriendURL}\">{ts}Click this link and follow the prompts{/ts}</a></li>\n          </ol>\n         {else}\n          <p>{ts}Send email to family, friends and colleagues with a personal message about this campaign.{/ts} {ts}Include this link to your fundraising page in your emails{/ts}: {$pcpInfoURL}</p>\n         {/if}\n        </td>\n       </tr>\n       <tr>\n        <th {$headerStyle}>\n         {ts}Managing Your Page{/ts}\n        </th>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}Whenever you want to preview, update or promote your page{/ts}:</p>\n         <ol>\n          <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n          <li><a href=\"{$pcpInfoURL}\">{ts}Go to your page{/ts}</a></li>\n         </ol>\n         <p>{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}</p>\n        </td>\n       </tr>\n       </tr>\n      </table>\n     </td>\n    </tr>\n\n   {elseif $pcpStatus EQ \'Waiting Review\'}\n\n    <tr>\n     <td>\n      <p>{ts}Your page requires administrator review before you can begin your fundraising efforts.{/ts}</p>\n      <p>{ts}A notification email has been sent to the site administrator, and you will receive another notification from them as soon as the review process is complete.{/ts}</p>\n      <p>{ts}You can still preview your page prior to approval{/ts}:</p>\n      <ol>\n       <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n       <li><a href=\"{$pcpInfoURL}\">{ts}Click this link{/ts}</a></li>\n      </ol>\n     </td>\n    </tr>\n\n   {/if}\n\n   {if $pcpNotifyEmailAddress}\n    <tr>\n     <td>\n      <p>{ts}Questions? Send email to{/ts}: {$pcpNotifyEmailAddress}</p>\n     </td>\n    </tr>\n   {/if}\n\n </table>\n\n</body>\n</html>\n',1,839,'pcp_supporter_notify',1,0,0,NULL),
- (24,'Personal Campaign Pages - Supporter Welcome','{ts 1=$contribPageTitle}Your Personal Campaign Page for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=\"$contribPageTitle\"}Thanks for creating a personal campaign page in support of %1.{/ts}\n\n{if $pcpStatus eq \'Approved\'}\n====================\n{ts}Promoting Your Page{/ts}\n\n====================\n{if $isTellFriendEnabled}\n\n{ts}You can begin your fundraising efforts using our \"Tell a Friend\" form{/ts}:\n\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser and follow the prompts{/ts}:\n{$pcpTellFriendURL}\n{else}\n\n{ts}Send email to family, friends and colleagues with a personal message about this campaign.{/ts}\n{ts}Include this link to your fundraising page in your emails{/ts}:\n{$pcpInfoURL}\n{/if}\n\n===================\n{ts}Managing Your Page{/ts}\n\n===================\n{ts}Whenever you want to preview, update or promote your page{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser to go to your page{/ts}:\n{$pcpInfoURL}\n\n{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}\n\n\n{elseif $pcpStatus EQ \'Waiting Review\'}\n{ts}Your page requires administrator review before you can begin your fundraising efforts.{/ts}\n\n\n{ts}A notification email has been sent to the site administrator, and you will receive another notification from them as soon as the review process is complete.{/ts}\n\n\n{ts}You can still preview your page prior to approval{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser{/ts}:\n{$pcpInfoURL}\n\n{/if}\n{if $pcpNotifyEmailAddress}\n{ts}Questions? Send email to{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=\"$contribPageTitle\"}Thanks for creating a personal campaign page in support of %1.{/ts}</p>\n   </td>\n  </tr>\n\n  {if $pcpStatus eq \'Approved\'}\n\n    <tr>\n     <td>\n      <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n       <tr>\n        <th {$headerStyle}>\n         {ts}Promoting Your Page{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {if $isTellFriendEnabled}\n          <p>{ts}You can begin your fundraising efforts using our \"Tell a Friend\" form{/ts}:</p>\n          <ol>\n           <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n           <li><a href=\"{$pcpTellFriendURL}\">{ts}Click this link and follow the prompts{/ts}</a></li>\n          </ol>\n         {else}\n          <p>{ts}Send email to family, friends and colleagues with a personal message about this campaign.{/ts} {ts}Include this link to your fundraising page in your emails{/ts}: {$pcpInfoURL}</p>\n         {/if}\n        </td>\n       </tr>\n       <tr>\n        <th {$headerStyle}>\n         {ts}Managing Your Page{/ts}\n        </th>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}Whenever you want to preview, update or promote your page{/ts}:</p>\n         <ol>\n          <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n          <li><a href=\"{$pcpInfoURL}\">{ts}Go to your page{/ts}</a></li>\n         </ol>\n         <p>{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}</p>\n        </td>\n       </tr>\n       </tr>\n      </table>\n     </td>\n    </tr>\n\n   {elseif $pcpStatus EQ \'Waiting Review\'}\n\n    <tr>\n     <td>\n      <p>{ts}Your page requires administrator review before you can begin your fundraising efforts.{/ts}</p>\n      <p>{ts}A notification email has been sent to the site administrator, and you will receive another notification from them as soon as the review process is complete.{/ts}</p>\n      <p>{ts}You can still preview your page prior to approval{/ts}:</p>\n      <ol>\n       <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n       <li><a href=\"{$pcpInfoURL}\">{ts}Click this link{/ts}</a></li>\n      </ol>\n     </td>\n    </tr>\n\n   {/if}\n\n   {if $pcpNotifyEmailAddress}\n    <tr>\n     <td>\n      <p>{ts}Questions? Send email to{/ts}: {$pcpNotifyEmailAddress}</p>\n     </td>\n    </tr>\n   {/if}\n\n </table>\n\n</body>\n</html>\n',1,839,'pcp_supporter_notify',0,1,0,NULL),
- (25,'Personal Campaign Pages - Owner Notification','{ts}Someone has just donated to your personal campaign page{/ts} - {contact.display_name}\n','===========================================================\n{ts}Personal Campaign Page Owner Notification{/ts}\n\n===========================================================\n{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts}You have received a donation at your personal page{/ts}: {$page_title}\n>> {$pcpInfoURL}\n\n{ts}Your fundraising total has been updated.{/ts}\n{ts}The donor\'s information is listed below.  You can choose to contact them and convey your thanks if you wish.{/ts}\n{if $is_honor_roll_enabled}\n    {ts}The donor\'s name has been added to your honor roll unless they asked not to be included.{/ts}\n{/if}\n\n{ts}Received{/ts}: {$receive_date|crmDate}\n\n{ts}Amount{/ts}: {$total_amount|crmMoney:$currency}\n\n{ts}Name{/ts}: {$donors_display_name}\n\n{ts}Email{/ts}: {$donors_email}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n  <p>{ts}You have received a donation at your personal page{/ts}: <a href=\"{$pcpInfoURL}\">{$page_title}</a></p>\n  <p>{ts}Your fundraising total has been updated.{/ts}<br/>\n    {ts}The donor\'s information is listed below.  You can choose to contact them and convey your thanks if you wish.{/ts} <br/>\n    {if $is_honor_roll_enabled}\n      {ts}The donor\'s name has been added to your honor roll unless they asked not to be included.{/ts}<br/>\n    {/if}\n  </p>\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n    <tr><td>{ts}Received{/ts}:</td><td> {$receive_date|crmDate}</td></tr>\n    <tr><td>{ts}Amount{/ts}:</td><td> {$total_amount|crmMoney:$currency}</td></tr>\n    <tr><td>{ts}Name{/ts}:</td><td> {$donors_display_name}</td></tr>\n    <tr><td>{ts}Email{/ts}:</td><td> {$donors_email}</td></tr>\n  </table>\n</body>\n</html>\n',1,840,'pcp_owner_notify',1,0,0,NULL),
- (26,'Personal Campaign Pages - Owner Notification','{ts}Someone has just donated to your personal campaign page{/ts} - {contact.display_name}\n','===========================================================\n{ts}Personal Campaign Page Owner Notification{/ts}\n\n===========================================================\n{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts}You have received a donation at your personal page{/ts}: {$page_title}\n>> {$pcpInfoURL}\n\n{ts}Your fundraising total has been updated.{/ts}\n{ts}The donor\'s information is listed below.  You can choose to contact them and convey your thanks if you wish.{/ts}\n{if $is_honor_roll_enabled}\n    {ts}The donor\'s name has been added to your honor roll unless they asked not to be included.{/ts}\n{/if}\n\n{ts}Received{/ts}: {$receive_date|crmDate}\n\n{ts}Amount{/ts}: {$total_amount|crmMoney:$currency}\n\n{ts}Name{/ts}: {$donors_display_name}\n\n{ts}Email{/ts}: {$donors_email}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n  <p>{ts}You have received a donation at your personal page{/ts}: <a href=\"{$pcpInfoURL}\">{$page_title}</a></p>\n  <p>{ts}Your fundraising total has been updated.{/ts}<br/>\n    {ts}The donor\'s information is listed below.  You can choose to contact them and convey your thanks if you wish.{/ts} <br/>\n    {if $is_honor_roll_enabled}\n      {ts}The donor\'s name has been added to your honor roll unless they asked not to be included.{/ts}<br/>\n    {/if}\n  </p>\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n    <tr><td>{ts}Received{/ts}:</td><td> {$receive_date|crmDate}</td></tr>\n    <tr><td>{ts}Amount{/ts}:</td><td> {$total_amount|crmMoney:$currency}</td></tr>\n    <tr><td>{ts}Name{/ts}:</td><td> {$donors_display_name}</td></tr>\n    <tr><td>{ts}Email{/ts}:</td><td> {$donors_email}</td></tr>\n  </table>\n</body>\n</html>\n',1,840,'pcp_owner_notify',0,1,0,NULL),
- (27,'Additional Payment Receipt or Refund Notification','{if $isRefund}{ts}Refund Notification{/ts}{else}{ts}Payment Receipt{/ts}{/if}{if $component eq \'event\'} - {$event.title}{/if} - {contact.display_name}\n','{if $emailGreeting}{$emailGreeting},\n{/if}\n\n{if $isRefund}\n{ts}A refund has been issued based on changes in your registration selections.{/ts}\n{else}\n{ts}Below you will find a receipt for this payment.{/ts}\n{/if}\n{if $paymentsComplete}\n{ts}Thank you for completing this payment.{/ts}\n{/if}\n\n{if $isRefund}\n===============================================================================\n\n{ts}Refund Details{/ts}\n\n===============================================================================\n{ts}This Refund Amount{/ts}: {$refundAmount|crmMoney}\n------------------------------------------------------------------------------------\n\n{else}\n===============================================================================\n\n{ts}Payment Details{/ts}\n\n===============================================================================\n{ts}This Payment Amount{/ts}: {$paymentAmount|crmMoney}\n------------------------------------------------------------------------------------\n{/if}\n{if $receive_date}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n\n===============================================================================\n\n{ts}Contribution Details{/ts}\n\n===============================================================================\n{if isset($totalAmount)}\n{ts}Total Fee{/ts}: {$totalAmount|crmMoney}\n{/if}\n{if isset($totalPaid)}\n{ts}Total Paid{/ts}: {$totalPaid|crmMoney}\n{/if}\n{if isset($amountOwed)}\n{ts}Balance Owed{/ts}: {$amountOwed|crmMoney} {* This will be zero after final payment. *}\n{/if}\n\n\n{if !empty($billingName) || !empty($address)}\n\n===============================================================================\n\n{ts}Billing Name and Address{/ts}\n\n===============================================================================\n{if !empty($billingName)}\n{$billingName}\n{/if}\n{if !empty($address)}\n{$address}\n{/if}\n{/if}\n\n{if !empty($credit_card_number)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===============================================================================\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{if $component eq \'event\'}\n===============================================================================\n\n{ts}Event Information and Location{/ts}\n\n===============================================================================\n\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{if !empty($event.participant_role)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=emptyBlockStyle }style=\"padding: 10px; border-bottom: 1px solid #999;background-color: #f7f7f7;\"{/capture}\n{capture assign=emptyBlockValueStyle }style=\"padding: 10px; border-bottom: 1px solid #999;\"{/capture}\n\n <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n  <tr>\n    <td>\n      {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n      {if $isRefund}\n        <p>{ts}A refund has been issued based on changes in your registration selections.{/ts}</p>\n      {else}\n        <p>{ts}Below you will find a receipt for this payment.{/ts}</p>\n        {if $paymentsComplete}\n          <p>{ts}Thank you for completing this contribution.{/ts}</p>\n        {/if}\n      {/if}\n    </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n    {if $isRefund}\n      <tr>\n        <th {$headerStyle}>{ts}Refund Details{/ts}</th>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n        {ts}This Refund Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$refundAmount|crmMoney}\n        </td>\n      </tr>\n    {else}\n      <tr>\n        <th {$headerStyle}>{ts}Payment Details{/ts}</th>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n        {ts}This Payment Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$paymentAmount|crmMoney}\n        </td>\n      </tr>\n    {/if}\n    {if $receive_date}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Transaction Date{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$receive_date|crmDate}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($trxn_id)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$trxn_id}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($paidBy)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Paid By{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$paidBy}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($checkNumber)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Check Number{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$checkNumber}\n        </td>\n      </tr>\n    {/if}\n\n  <tr>\n    <th {$headerStyle}>{ts}Contribution Details{/ts}</th>\n  </tr>\n  {if isset($totalAmount)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Total Fee{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$totalAmount|crmMoney}\n    </td>\n  </tr>\n  {/if}\n  {if isset($totalPaid)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Total Paid{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$totalPaid|crmMoney}\n    </td>\n  </tr>\n  {/if}\n  {if isset($amountOwed)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Balance Owed{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$amountOwed|crmMoney}\n    </td> {* This will be zero after final payment. *}\n  </tr>\n  {/if}\n  </table>\n\n  </td>\n  </tr>\n    <tr>\n      <td>\n  <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n    {if !empty($billingName) || !empty($address)}\n          <tr>\n            <th {$headerStyle}>\n        {ts}Billing Name and Address{/ts}\n            </th>\n          </tr>\n          <tr>\n            <td colspan=\"2\" {$valueStyle}>\n        {if !empty($billingName)}{$billingName}{/if}<br />\n        {if !empty($address)}{$address|nl2br}{/if}\n            </td>\n          </tr>\n    {/if}\n    {if !empty($credit_card_number)}\n          <tr>\n            <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n            </th>\n          </tr>\n          <tr>\n            <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires:{/ts} {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n            </td>\n          </tr>\n    {/if}\n    {if $component eq \'event\'}\n    <tr>\n      <th {$headerStyle}>\n        {ts}Event Information and Location{/ts}\n      </th>\n    </tr>\n    <tr>\n      <td colspan=\"2\" {$valueStyle}>\n         {$event.event_title}<br />\n        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n    </tr>\n\n    {if !empty($event.participant_role)}\n    <tr>\n      <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n      </td>\n      <td {$valueStyle}>\n        {$event.participant_role}\n      </td>\n    </tr>\n    {/if}\n\n    {if !empty($isShowLocation)}\n    <tr>\n      <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n      </td>\n    </tr>\n    {/if}\n\n    {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n    <tr>\n      <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n      </td>\n    </tr>\n    {foreach from=$location.phone item=phone}\n    {if $phone.phone}\n          <tr>\n            <td {$labelStyle}>\n        {if $phone.phone_type}\n        {$phone.phone_type_display}\n        {else}\n        {ts}Phone{/ts}\n        {/if}\n            </td>\n            <td {$valueStyle}>\n        {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n            </td>\n          </tr>\n    {/if}\n    {/foreach}\n    {foreach from=$location.email item=eventEmail}\n    {if $eventEmail.email}\n          <tr>\n            <td {$labelStyle}>\n        {ts}Email{/ts}\n            </td>\n            <td {$valueStyle}>\n        {$eventEmail.email}\n            </td>\n          </tr>\n    {/if}\n    {/foreach}\n    {/if} {*phone block close*}\n    {/if}\n  </table>\n      </td>\n    </tr>\n\n    </table>\n\n </body>\n</html>\n',1,841,'payment_or_refund_notification',1,0,0,NULL),
- (28,'Additional Payment Receipt or Refund Notification','{if $isRefund}{ts}Refund Notification{/ts}{else}{ts}Payment Receipt{/ts}{/if}{if $component eq \'event\'} - {$event.title}{/if} - {contact.display_name}\n','{if $emailGreeting}{$emailGreeting},\n{/if}\n\n{if $isRefund}\n{ts}A refund has been issued based on changes in your registration selections.{/ts}\n{else}\n{ts}Below you will find a receipt for this payment.{/ts}\n{/if}\n{if $paymentsComplete}\n{ts}Thank you for completing this payment.{/ts}\n{/if}\n\n{if $isRefund}\n===============================================================================\n\n{ts}Refund Details{/ts}\n\n===============================================================================\n{ts}This Refund Amount{/ts}: {$refundAmount|crmMoney}\n------------------------------------------------------------------------------------\n\n{else}\n===============================================================================\n\n{ts}Payment Details{/ts}\n\n===============================================================================\n{ts}This Payment Amount{/ts}: {$paymentAmount|crmMoney}\n------------------------------------------------------------------------------------\n{/if}\n{if $receive_date}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n\n===============================================================================\n\n{ts}Contribution Details{/ts}\n\n===============================================================================\n{if isset($totalAmount)}\n{ts}Total Fee{/ts}: {$totalAmount|crmMoney}\n{/if}\n{if isset($totalPaid)}\n{ts}Total Paid{/ts}: {$totalPaid|crmMoney}\n{/if}\n{if isset($amountOwed)}\n{ts}Balance Owed{/ts}: {$amountOwed|crmMoney} {* This will be zero after final payment. *}\n{/if}\n\n\n{if !empty($billingName) || !empty($address)}\n\n===============================================================================\n\n{ts}Billing Name and Address{/ts}\n\n===============================================================================\n{if !empty($billingName)}\n{$billingName}\n{/if}\n{if !empty($address)}\n{$address}\n{/if}\n{/if}\n\n{if !empty($credit_card_number)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===============================================================================\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{if $component eq \'event\'}\n===============================================================================\n\n{ts}Event Information and Location{/ts}\n\n===============================================================================\n\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{if !empty($event.participant_role)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=emptyBlockStyle }style=\"padding: 10px; border-bottom: 1px solid #999;background-color: #f7f7f7;\"{/capture}\n{capture assign=emptyBlockValueStyle }style=\"padding: 10px; border-bottom: 1px solid #999;\"{/capture}\n\n <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n  <tr>\n    <td>\n      {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n      {if $isRefund}\n        <p>{ts}A refund has been issued based on changes in your registration selections.{/ts}</p>\n      {else}\n        <p>{ts}Below you will find a receipt for this payment.{/ts}</p>\n        {if $paymentsComplete}\n          <p>{ts}Thank you for completing this contribution.{/ts}</p>\n        {/if}\n      {/if}\n    </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n    {if $isRefund}\n      <tr>\n        <th {$headerStyle}>{ts}Refund Details{/ts}</th>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n        {ts}This Refund Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$refundAmount|crmMoney}\n        </td>\n      </tr>\n    {else}\n      <tr>\n        <th {$headerStyle}>{ts}Payment Details{/ts}</th>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n        {ts}This Payment Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$paymentAmount|crmMoney}\n        </td>\n      </tr>\n    {/if}\n    {if $receive_date}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Transaction Date{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$receive_date|crmDate}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($trxn_id)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$trxn_id}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($paidBy)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Paid By{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$paidBy}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($checkNumber)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Check Number{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$checkNumber}\n        </td>\n      </tr>\n    {/if}\n\n  <tr>\n    <th {$headerStyle}>{ts}Contribution Details{/ts}</th>\n  </tr>\n  {if isset($totalAmount)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Total Fee{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$totalAmount|crmMoney}\n    </td>\n  </tr>\n  {/if}\n  {if isset($totalPaid)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Total Paid{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$totalPaid|crmMoney}\n    </td>\n  </tr>\n  {/if}\n  {if isset($amountOwed)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Balance Owed{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$amountOwed|crmMoney}\n    </td> {* This will be zero after final payment. *}\n  </tr>\n  {/if}\n  </table>\n\n  </td>\n  </tr>\n    <tr>\n      <td>\n  <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n    {if !empty($billingName) || !empty($address)}\n          <tr>\n            <th {$headerStyle}>\n        {ts}Billing Name and Address{/ts}\n            </th>\n          </tr>\n          <tr>\n            <td colspan=\"2\" {$valueStyle}>\n        {if !empty($billingName)}{$billingName}{/if}<br />\n        {if !empty($address)}{$address|nl2br}{/if}\n            </td>\n          </tr>\n    {/if}\n    {if !empty($credit_card_number)}\n          <tr>\n            <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n            </th>\n          </tr>\n          <tr>\n            <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires:{/ts} {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n            </td>\n          </tr>\n    {/if}\n    {if $component eq \'event\'}\n    <tr>\n      <th {$headerStyle}>\n        {ts}Event Information and Location{/ts}\n      </th>\n    </tr>\n    <tr>\n      <td colspan=\"2\" {$valueStyle}>\n         {$event.event_title}<br />\n        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n    </tr>\n\n    {if !empty($event.participant_role)}\n    <tr>\n      <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n      </td>\n      <td {$valueStyle}>\n        {$event.participant_role}\n      </td>\n    </tr>\n    {/if}\n\n    {if !empty($isShowLocation)}\n    <tr>\n      <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n      </td>\n    </tr>\n    {/if}\n\n    {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n    <tr>\n      <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n      </td>\n    </tr>\n    {foreach from=$location.phone item=phone}\n    {if $phone.phone}\n          <tr>\n            <td {$labelStyle}>\n        {if $phone.phone_type}\n        {$phone.phone_type_display}\n        {else}\n        {ts}Phone{/ts}\n        {/if}\n            </td>\n            <td {$valueStyle}>\n        {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n            </td>\n          </tr>\n    {/if}\n    {/foreach}\n    {foreach from=$location.email item=eventEmail}\n    {if $eventEmail.email}\n          <tr>\n            <td {$labelStyle}>\n        {ts}Email{/ts}\n            </td>\n            <td {$valueStyle}>\n        {$eventEmail.email}\n            </td>\n          </tr>\n    {/if}\n    {/foreach}\n    {/if} {*phone block close*}\n    {/if}\n  </table>\n      </td>\n    </tr>\n\n    </table>\n\n </body>\n</html>\n',1,841,'payment_or_refund_notification',0,1,0,NULL),
- (29,'Events - Registration Confirmation and Receipt (off-line)','{ts}Event Confirmation{/ts} - {$event.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n{$event.confirm_email_text}\n{/if}\n\n{if !empty($isOnWaitlist)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}You have been added to the WAIT LIST for this event.{/ts}\n\n{if !empty($isPrimary)}\n{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{elseif !empty($isRequireApproval)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Your registration has been submitted.{/ts}\n\n{if !empty($isPrimary)}\n{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{elseif !empty($is_pay_later)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{/if}\n\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Event Information and Location{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and empty($defaultRole)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if !empty($event.is_public)}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if !empty($email)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Registered Email{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$email}\n{/if}\n{if !empty($event.is_monetary)} {* This section for Paid events only.*}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if !empty($event.fee_label)}{$event.fee_label}{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if !empty($lineItem)}{foreach from=$lineItem item=value key=priceset}\n\n{if $value neq \'skip\'}\n{if !empty($isPrimary)}\n{if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n{ts 1=$priceset+1}Participant %1{/ts}\n{/if}\n{/if}\n---------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{capture assign=ts_participant_total}{if !empty($pricesetFieldsCount) }{ts}Total Participants{/ts}{/if}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"} {if !empty($ts_participant_total)}{$ts_participant_total|string_format:\"%10s\"}{/if}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{foreach from=$value item=line}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney|string_format:\"%10s\"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:\"%10s\"}{/if}\n{/foreach}\n{/if}\n{/foreach}\n\n{if !empty($dataArray)}\n{if isset($totalAmount) and isset($totalTaxAmount)}\n{ts}Amount before Tax{/ts}: {$totalAmount-$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n{/if}\n\n{if !empty($amount) && !$lineItem}\n{foreach from=$amount item=amnt key=level}{$amnt.amount|crmMoney} {$amnt.label}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{if !empty($isPrimary)}\n\n{if !empty($balanceAmount)}{ts}Total Paid{/ts}{else}{ts}Total Amount{/ts}{/if}: {if !empty($totalAmount)}{$totalAmount|crmMoney}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n\n{if !empty($balanceAmount)}\n{ts}Balance{/ts}: {$balanceAmount|crmMoney}\n{/if}\n\n{if !empty($pricesetFieldsCount) }\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n        {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n        {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n\n{ts}Total Participants{/ts}: {$count}\n{/if}\n\n{if !empty($is_pay_later) }\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$pay_later_receipt}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$register_date|crmDate}\n{/if}\n{if $receive_date}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($financialTypeName)}\n{ts}Financial Type{/ts}: {$financialTypeName}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n{if !empty($billingName)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Billing Name and Address{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n{/if} {* End of conditional section for Paid events *}\n\n{if !empty($customPre)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customPre_grouptitle}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$customPre item=value key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n{$customName}: {$value}\n{/if}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customPost_grouptitle}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$customPost item=value key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n{$customName}: {$value}\n{/if}\n{/foreach}\n{/if}\n{if !empty($customProfile)}\n\n{foreach from=$customProfile item=value key=customName}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts 1=$customName+1}Participant Information - Participant %1{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$value item=val key=field}\n{if $field eq \'additionalCustomPre\' or $field eq \'additionalCustomPost\' }\n{if $field eq \'additionalCustomPre\' }\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{$additionalCustomPre_grouptitle}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{else}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{$additionalCustomPost_grouptitle}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{/if}\n{foreach from=$val item=v key=f}\n{$f}: {$v}\n{/foreach}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($customGroup)}\n{foreach from=$customGroup item=value key=customName}\n=========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customName}\n=========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n    {if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n     <p>{$event.confirm_email_text|htmlize}</p>\n    {/if}\n\n    {if !empty($isOnWaitlist)}\n     <p>{ts}You have been added to the WAIT LIST for this event.{/ts}</p>\n     {if !empty($isPrimary)}\n       <p>{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}</p>\n     {/if}\n    {elseif !empty($isRequireApproval)}\n     <p>{ts}Your registration has been submitted.{/ts}</p>\n     {if !empty($isPrimary)}\n      <p>{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}</p>\n     {/if}\n    {elseif !empty($is_pay_later)}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n\n     {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$event.participant_role}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($isShowLocation)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}\n           {$phone.phone_type_display}\n          {else}\n           {ts}Phone{/ts}\n          {/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($event.is_public)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n     {if $email}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$email}\n       </td>\n      </tr>\n     {/if}\n\n\n     {if !empty($event.is_monetary)}\n\n      <tr>\n       <th {$headerStyle}>\n        {if !empty($event.fee_label)}{$event.fee_label}{/if}\n       </th>\n      </tr>\n\n      {if !empty($lineItem)}\n       {foreach from=$lineItem item=value key=priceset}\n        {if $value neq \'skip\'}\n         {if !empty($isPrimary)}\n          {if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n           <tr>\n            <td colspan=\"2\" {$labelStyle}>\n             {ts 1=$priceset+1}Participant %1{/ts}\n            </td>\n           </tr>\n          {/if}\n         {/if}\n         <tr>\n          <td colspan=\"2\" {$valueStyle}>\n           <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n            <tr>\n             <th>{ts}Item{/ts}</th>\n             <th>{ts}Qty{/ts}</th>\n             <th>{ts}Each{/ts}</th>\n             {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n             {/if}\n             <th>{ts}Total{/ts}</th>\n       {if !empty($pricesetFieldsCount) }<th>{ts}Total Participants{/ts}</th>{/if}\n            </tr>\n            {foreach from=$value item=line}\n             <tr>\n              <td>\n        {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n              </td>\n              <td>\n               {$line.qty}\n              </td>\n              <td>\n               {$line.unit_price|crmMoney}\n              </td>\n              {if !empty($dataArray)}\n               <td>\n                {$line.unit_price*$line.qty|crmMoney}\n               </td>\n               {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n                <td>\n                 {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td>\n                 {$line.tax_amount|crmMoney}\n                </td>\n               {else}\n                <td></td>\n                <td></td>\n               {/if}\n              {/if}\n              <td>\n               {$line.line_total+$line.tax_amount|crmMoney}\n              </td>\n        {if  !empty($pricesetFieldsCount) }\n        <td>\n    {$line.participant_count}\n              </td>\n        {/if}\n             </tr>\n            {/foreach}\n           </table>\n          </td>\n         </tr>\n        {/if}\n       {/foreach}\n       {if !empty($dataArray)}\n        {if isset($totalAmount) and isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Amount Before Tax:{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalAmount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {/if}\n        {foreach from=$dataArray item=value key=priceset}\n          <tr>\n           {if $priceset || $priceset == 0}\n            <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n            <td>&nbsp;{$value|crmMoney:$currency}</td>\n           {else}\n            <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n            <td>&nbsp;{$value|crmMoney:$currency}</td>\n           {/if}\n          </tr>\n        {/foreach}\n       {/if}\n      {/if}\n\n      {if !empty($amount) && !$lineItem}\n       {foreach from=$amount item=amnt key=level}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$amnt.amount|crmMoney} {$amnt.label}\n         </td>\n        </tr>\n       {/foreach}\n      {/if}\n      {if isset($totalTaxAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$totalTaxAmount|crmMoney:$currency}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($isPrimary)}\n       <tr>\n        <td {$labelStyle}>\n        {if isset($balanceAmount)}\n           {ts}Total Paid{/ts}\n        {else}\n           {ts}Total Amount{/ts}\n         {/if}\n        </td>\n        <td {$valueStyle}>\n         {if !empty($totalAmount)}{$totalAmount|crmMoney}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n        </td>\n       </tr>\n      {if isset($balanceAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Balance{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$balanceAmount|crmMoney}\n        </td>\n       </tr>\n      {/if}\n       {if !empty($pricesetFieldsCount) }\n     <tr>\n       <td {$labelStyle}>\n   {ts}Total Participants{/ts}</td>\n       <td {$valueStyle}>\n   {assign var=\"count\" value= 0}\n         {foreach from=$lineItem item=pcount}\n         {assign var=\"lineItemCount\" value=0}\n         {if $pcount neq \'skip\'}\n           {foreach from=$pcount item=p_count}\n           {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n           {/foreach}\n           {if $lineItemCount < 1 }\n           assign var=\"lineItemCount\" value=1}\n           {/if}\n           {assign var=\"count\" value=$count+$lineItemCount}\n         {/if}\n         {/foreach}\n   {$count}\n       </td>\n     </tr>\n     {/if}\n       {if !empty($is_pay_later)}\n        <tr>\n         <td colspan=\"2\" {$labelStyle}>\n          {if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n         </td>\n        </tr>\n       {/if}\n\n       {if $register_date}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Registration Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$register_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($receive_date)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$receive_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($financialTypeName)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Financial Type{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$financialTypeName}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($trxn_id)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction #{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$trxn_id}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($paidBy)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Paid By{/ts}\n         </td>\n         <td {$valueStyle}>\n         {$paidBy}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($checkNumber)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Check Number{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$checkNumber}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($billingName)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Billing Name and Address{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($credit_card_type)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Credit Card Information{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$credit_card_type}<br />\n          {$credit_card_number}<br />\n          {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n      {/if}\n\n     {/if} {* End of conditional section for Paid events *}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=value key=customName}\n       {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=value key=customName}\n       {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customProfile)}\n      {foreach from=$customProfile item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {ts 1=$customName+1}Participant Information - Participant %1{/ts}\n        </th>\n       </tr>\n       {foreach from=$value item=val key=field}\n        {if $field eq \'additionalCustomPre\' or $field eq \'additionalCustomPost\'}\n         <tr>\n          <td colspan=\"2\" {$labelStyle}>\n           {if $field eq \'additionalCustomPre\'}\n            {$additionalCustomPre_grouptitle}\n           {else}\n            {$additionalCustomPost_grouptitle}\n           {/if}\n          </td>\n         </tr>\n         {foreach from=$val item=v key=f}\n          <tr>\n           <td {$labelStyle}>\n            {$f}\n           </td>\n           <td {$valueStyle}>\n            {$v}\n           </td>\n          </tr>\n         {/foreach}\n        {/if}\n       {/foreach}\n      {/foreach}\n     {/if}\n\n     {if !empty($customGroup)}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,842,'event_offline_receipt',1,0,0,NULL),
- (30,'Events - Registration Confirmation and Receipt (off-line)','{ts}Event Confirmation{/ts} - {$event.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n{$event.confirm_email_text}\n{/if}\n\n{if !empty($isOnWaitlist)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}You have been added to the WAIT LIST for this event.{/ts}\n\n{if !empty($isPrimary)}\n{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{elseif !empty($isRequireApproval)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Your registration has been submitted.{/ts}\n\n{if !empty($isPrimary)}\n{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{elseif !empty($is_pay_later)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{/if}\n\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Event Information and Location{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and empty($defaultRole)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if !empty($event.is_public)}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if !empty($email)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Registered Email{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$email}\n{/if}\n{if !empty($event.is_monetary)} {* This section for Paid events only.*}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if !empty($event.fee_label)}{$event.fee_label}{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if !empty($lineItem)}{foreach from=$lineItem item=value key=priceset}\n\n{if $value neq \'skip\'}\n{if !empty($isPrimary)}\n{if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n{ts 1=$priceset+1}Participant %1{/ts}\n{/if}\n{/if}\n---------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{capture assign=ts_participant_total}{if !empty($pricesetFieldsCount) }{ts}Total Participants{/ts}{/if}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"} {if !empty($ts_participant_total)}{$ts_participant_total|string_format:\"%10s\"}{/if}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{foreach from=$value item=line}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney|string_format:\"%10s\"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:\"%10s\"}{/if}\n{/foreach}\n{/if}\n{/foreach}\n\n{if !empty($dataArray)}\n{if isset($totalAmount) and isset($totalTaxAmount)}\n{ts}Amount before Tax{/ts}: {$totalAmount-$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n{/if}\n\n{if !empty($amount) && !$lineItem}\n{foreach from=$amount item=amnt key=level}{$amnt.amount|crmMoney} {$amnt.label}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{if !empty($isPrimary)}\n\n{if !empty($balanceAmount)}{ts}Total Paid{/ts}{else}{ts}Total Amount{/ts}{/if}: {if !empty($totalAmount)}{$totalAmount|crmMoney}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n\n{if !empty($balanceAmount)}\n{ts}Balance{/ts}: {$balanceAmount|crmMoney}\n{/if}\n\n{if !empty($pricesetFieldsCount) }\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n        {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n        {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n\n{ts}Total Participants{/ts}: {$count}\n{/if}\n\n{if !empty($is_pay_later) }\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$pay_later_receipt}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$register_date|crmDate}\n{/if}\n{if $receive_date}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($financialTypeName)}\n{ts}Financial Type{/ts}: {$financialTypeName}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n{if !empty($billingName)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Billing Name and Address{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n{/if} {* End of conditional section for Paid events *}\n\n{if !empty($customPre)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customPre_grouptitle}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$customPre item=value key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n{$customName}: {$value}\n{/if}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customPost_grouptitle}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$customPost item=value key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n{$customName}: {$value}\n{/if}\n{/foreach}\n{/if}\n{if !empty($customProfile)}\n\n{foreach from=$customProfile item=value key=customName}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts 1=$customName+1}Participant Information - Participant %1{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$value item=val key=field}\n{if $field eq \'additionalCustomPre\' or $field eq \'additionalCustomPost\' }\n{if $field eq \'additionalCustomPre\' }\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{$additionalCustomPre_grouptitle}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{else}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{$additionalCustomPost_grouptitle}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{/if}\n{foreach from=$val item=v key=f}\n{$f}: {$v}\n{/foreach}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($customGroup)}\n{foreach from=$customGroup item=value key=customName}\n=========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customName}\n=========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n    {if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n     <p>{$event.confirm_email_text|htmlize}</p>\n    {/if}\n\n    {if !empty($isOnWaitlist)}\n     <p>{ts}You have been added to the WAIT LIST for this event.{/ts}</p>\n     {if !empty($isPrimary)}\n       <p>{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}</p>\n     {/if}\n    {elseif !empty($isRequireApproval)}\n     <p>{ts}Your registration has been submitted.{/ts}</p>\n     {if !empty($isPrimary)}\n      <p>{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}</p>\n     {/if}\n    {elseif !empty($is_pay_later)}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n\n     {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$event.participant_role}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($isShowLocation)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}\n           {$phone.phone_type_display}\n          {else}\n           {ts}Phone{/ts}\n          {/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($event.is_public)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n     {if $email}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$email}\n       </td>\n      </tr>\n     {/if}\n\n\n     {if !empty($event.is_monetary)}\n\n      <tr>\n       <th {$headerStyle}>\n        {if !empty($event.fee_label)}{$event.fee_label}{/if}\n       </th>\n      </tr>\n\n      {if !empty($lineItem)}\n       {foreach from=$lineItem item=value key=priceset}\n        {if $value neq \'skip\'}\n         {if !empty($isPrimary)}\n          {if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n           <tr>\n            <td colspan=\"2\" {$labelStyle}>\n             {ts 1=$priceset+1}Participant %1{/ts}\n            </td>\n           </tr>\n          {/if}\n         {/if}\n         <tr>\n          <td colspan=\"2\" {$valueStyle}>\n           <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n            <tr>\n             <th>{ts}Item{/ts}</th>\n             <th>{ts}Qty{/ts}</th>\n             <th>{ts}Each{/ts}</th>\n             {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n             {/if}\n             <th>{ts}Total{/ts}</th>\n       {if !empty($pricesetFieldsCount) }<th>{ts}Total Participants{/ts}</th>{/if}\n            </tr>\n            {foreach from=$value item=line}\n             <tr>\n              <td>\n        {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n              </td>\n              <td>\n               {$line.qty}\n              </td>\n              <td>\n               {$line.unit_price|crmMoney}\n              </td>\n              {if !empty($dataArray)}\n               <td>\n                {$line.unit_price*$line.qty|crmMoney}\n               </td>\n               {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n                <td>\n                 {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td>\n                 {$line.tax_amount|crmMoney}\n                </td>\n               {else}\n                <td></td>\n                <td></td>\n               {/if}\n              {/if}\n              <td>\n               {$line.line_total+$line.tax_amount|crmMoney}\n              </td>\n        {if  !empty($pricesetFieldsCount) }\n        <td>\n    {$line.participant_count}\n              </td>\n        {/if}\n             </tr>\n            {/foreach}\n           </table>\n          </td>\n         </tr>\n        {/if}\n       {/foreach}\n       {if !empty($dataArray)}\n        {if isset($totalAmount) and isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Amount Before Tax:{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalAmount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {/if}\n        {foreach from=$dataArray item=value key=priceset}\n          <tr>\n           {if $priceset || $priceset == 0}\n            <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n            <td>&nbsp;{$value|crmMoney:$currency}</td>\n           {else}\n            <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n            <td>&nbsp;{$value|crmMoney:$currency}</td>\n           {/if}\n          </tr>\n        {/foreach}\n       {/if}\n      {/if}\n\n      {if !empty($amount) && !$lineItem}\n       {foreach from=$amount item=amnt key=level}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$amnt.amount|crmMoney} {$amnt.label}\n         </td>\n        </tr>\n       {/foreach}\n      {/if}\n      {if isset($totalTaxAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$totalTaxAmount|crmMoney:$currency}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($isPrimary)}\n       <tr>\n        <td {$labelStyle}>\n        {if isset($balanceAmount)}\n           {ts}Total Paid{/ts}\n        {else}\n           {ts}Total Amount{/ts}\n         {/if}\n        </td>\n        <td {$valueStyle}>\n         {if !empty($totalAmount)}{$totalAmount|crmMoney}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n        </td>\n       </tr>\n      {if isset($balanceAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Balance{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$balanceAmount|crmMoney}\n        </td>\n       </tr>\n      {/if}\n       {if !empty($pricesetFieldsCount) }\n     <tr>\n       <td {$labelStyle}>\n   {ts}Total Participants{/ts}</td>\n       <td {$valueStyle}>\n   {assign var=\"count\" value= 0}\n         {foreach from=$lineItem item=pcount}\n         {assign var=\"lineItemCount\" value=0}\n         {if $pcount neq \'skip\'}\n           {foreach from=$pcount item=p_count}\n           {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n           {/foreach}\n           {if $lineItemCount < 1 }\n           assign var=\"lineItemCount\" value=1}\n           {/if}\n           {assign var=\"count\" value=$count+$lineItemCount}\n         {/if}\n         {/foreach}\n   {$count}\n       </td>\n     </tr>\n     {/if}\n       {if !empty($is_pay_later)}\n        <tr>\n         <td colspan=\"2\" {$labelStyle}>\n          {if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n         </td>\n        </tr>\n       {/if}\n\n       {if $register_date}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Registration Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$register_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($receive_date)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$receive_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($financialTypeName)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Financial Type{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$financialTypeName}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($trxn_id)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction #{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$trxn_id}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($paidBy)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Paid By{/ts}\n         </td>\n         <td {$valueStyle}>\n         {$paidBy}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($checkNumber)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Check Number{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$checkNumber}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($billingName)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Billing Name and Address{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($credit_card_type)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Credit Card Information{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$credit_card_type}<br />\n          {$credit_card_number}<br />\n          {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n      {/if}\n\n     {/if} {* End of conditional section for Paid events *}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=value key=customName}\n       {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=value key=customName}\n       {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customProfile)}\n      {foreach from=$customProfile item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {ts 1=$customName+1}Participant Information - Participant %1{/ts}\n        </th>\n       </tr>\n       {foreach from=$value item=val key=field}\n        {if $field eq \'additionalCustomPre\' or $field eq \'additionalCustomPost\'}\n         <tr>\n          <td colspan=\"2\" {$labelStyle}>\n           {if $field eq \'additionalCustomPre\'}\n            {$additionalCustomPre_grouptitle}\n           {else}\n            {$additionalCustomPost_grouptitle}\n           {/if}\n          </td>\n         </tr>\n         {foreach from=$val item=v key=f}\n          <tr>\n           <td {$labelStyle}>\n            {$f}\n           </td>\n           <td {$valueStyle}>\n            {$v}\n           </td>\n          </tr>\n         {/foreach}\n        {/if}\n       {/foreach}\n      {/foreach}\n     {/if}\n\n     {if !empty($customGroup)}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,842,'event_offline_receipt',0,1,0,NULL),
- (31,'Events - Registration Confirmation and Receipt (on-line)','{if !empty($isOnWaitlist)}{ts}Wait List Confirmation{/ts}{elseif !empty($isRequireApproval)}{ts}Registration Request Confirmation{/ts}{else}{ts}Registration Confirmation{/ts}{/if} - {$event.event_title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n{$event.confirm_email_text}\n\n{else}\n  {ts}Thank you for your registration.{/ts}\n  {if $participant_status}{ts 1=$participant_status}This is a confirmation that your registration has been received and your status has been updated to %1.{/ts}\n  {else}{if !empty($isOnWaitlist)}{ts}This is a confirmation that your registration has been received and your status has been updated to waitlisted.{/ts}{else}{ts}This is a confirmation that your registration has been received and your status has been updated to registered.{/ts}{/if}\n  {/if}\n{/if}\n\n{if !empty($isOnWaitlist)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}You have been added to the WAIT LIST for this event.{/ts}\n\n{if !empty($isPrimary)}\n{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}\n{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{elseif !empty($isRequireApproval)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Your registration has been submitted.{/ts}\n\n{if !empty($isPrimary)}\n{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{elseif !empty($is_pay_later) && empty($isAmountzero) && empty($isAdditionalParticipant)}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{/if}\n\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Event Information and Location{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$event.event_title}\n{$event.event_start_date|date_format:\"%A\"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:\"%A\"} {$event.event_end_date|crmDate}{/if}{/if}\n{if !empty($conference_sessions)}\n\n\n{ts}Your schedule:{/ts}\n{assign var=\'group_by_day\' value=\'NA\'}\n{foreach from=$conference_sessions item=session}\n{if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n{assign var=\'group_by_day\' value=$session.start_date}\n\n{$group_by_day|date_format:\"%m/%d/%Y\"}\n\n\n{/if}\n{$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}\n{if $session.location}    {$session.location}{/if}\n{/foreach}\n{/if}\n\n{if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if !empty($event.is_public)}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if !empty($payer.name)}\nYou were registered by: {$payer.name}\n{/if}\n{if !empty($event.is_monetary) and empty($isRequireApproval)} {* This section for Paid events only.*}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if !empty ($event.fee_label)}{$event.fee_label}{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if !empty($lineItem)}{foreach from=$lineItem item=value key=priceset}\n\n{if $value neq \'skip\'}\n{if !empty($isPrimary)}\n{if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n{ts 1=$priceset+1}Participant %1{/ts} {if !empty($part.$priceset)}{$part.$priceset.info}{/if}\n\n{/if}\n{/if}\n-----------------------------------------------------------{if !empty($pricesetFieldsCount)}-----------------------------------------------------{/if}\n\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_total}{ts}Total Participants{/ts}{/capture}{/if}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"} {if !empty($ts_participant_total)}{$ts_participant_total|string_format:\"%10s\"}{/if}\n-----------------------------------------------------------{if !empty($pricesetFieldsCount)}-----------------------------------------------------{/if}\n\n{foreach from=$value item=line}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:\"%10s\"}{/if}\n{/foreach}\n----------------------------------------------------------------------------------------------------------------\n{if !empty($individual)}{ts}Participant Total{/ts} {$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:\"%29s\"} {$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:\"%33s\"} {$individual.$priceset.totalAmtWithTax|crmMoney:$currency|string_format:\"%12s\"}{/if}\n{/if}\n{\"\"|string_format:\"%120s\"}\n{/foreach}\n{\"\"|string_format:\"%120s\"}\n\n{if !empty($dataArray)}\n{if isset($totalAmount) and isset($totalTaxAmount)}\n{ts}Amount before Tax{/ts}: {$totalAmount-$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n{/if}\n\n{if !empty($amounts) && empty($lineItem)}\n{foreach from=$amounts item=amnt key=level}{$amnt.amount|crmMoney:$currency} {$amnt.label}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{if !empty($isPrimary) }\n\n{ts}Total Amount{/ts}: {if !empty($totalAmount)}{$totalAmount|crmMoney:$currency}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n\n{if !empty($pricesetFieldsCount) }\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n      {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n      {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n\n{ts}Total Participants{/ts}: {$count}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$register_date|crmDate}\n{/if}\n{if !empty($receive_date)}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($financialTypeName)}\n{ts}Financial Type{/ts}: {$financialTypeName}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n{if !empty($billingName)}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Billing Name and Address{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Credit Card Information{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n{/if} {* End of conditional section for Paid events *}\n\n{if !empty($customPre)}\n{foreach from=$customPre item=customPr key=i}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$customPre_grouptitle.$i}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$customPr item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n{foreach from=$customPost item=customPos key=j}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$customPost_grouptitle.$j}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$customPos item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($customProfile)}\n\n{foreach from=$customProfile.profile item=eachParticipant key=participantID}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts 1=$participantID+2}Participant Information - Participant %1{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$eachParticipant item=eachProfile key=pid}\n----------------------------------------------------------{if !empty($pricesetFieldsCount)}--------------------{/if}\n\n{$customProfile.title.$pid}\n----------------------------------------------------------{if !empty($pricesetFieldsCount)}--------------------{/if}\n\n{foreach from=$eachProfile item=val key=field}\n{foreach from=$val item=v key=f}\n{$field}: {$v}\n{/foreach}\n{/foreach}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($event.allow_selfcancelxfer) }\n{ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if !empty($totalAmount)}{ts}Cancellations are not refundable.{/ts}{/if}\n   {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n{ts}Transfer or cancel your registration:{/ts} {$selfService}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=tdfirstStyle}style=\"width: 180px; padding-bottom: 15px;\"{/capture}\n{capture assign=tdStyle}style=\"width: 100px;\"{/capture}\n{capture assign=participantTotal}style=\"margin: 0.5em 0 0.5em;padding: 0.5em;background-color: #999999;font-weight: bold;color: #FAFAFA;border-radius: 2px;\"{/capture}\n\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n    {if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n     <p>{$event.confirm_email_text|htmlize}</p>\n\n    {else}\n     <p>{ts}Thank you for your registration.{/ts}\n     {if $participant_status}{ts 1=$participant_status}This is a confirmation that your registration has been received and your status has been updated to <strong> %1</strong>.{/ts}\n     {else}{if $isOnWaitlist}{ts}This is a confirmation that your registration has been received and your status has been updated to <strong>waitlisted</strong>.{/ts}{else}{ts}This is a confirmation that your registration has been received and your status has been updated to <strong>registered<strong>.{/ts}{/if}{/if}</p>\n\n    {/if}\n\n    <p>\n    {if !empty($isOnWaitlist)}\n     <p>{ts}You have been added to the WAIT LIST for this event.{/ts}</p>\n     {if !empty($isPrimary)}\n       <p>{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}</p>\n     {/if}\n    {elseif !empty($isRequireApproval)}\n     <p>{ts}Your registration has been submitted.{/ts}</p>\n     {if !empty($isPrimary)}\n      <p>{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}</p>\n     {/if}\n    {elseif !empty($is_pay_later) && empty($isAmountzero) && empty($isAdditionalParticipant)}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"width:100%; max-width:700px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|date_format:\"%A\"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:\"%A\"} {$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n\n\n     {if $conference_sessions}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n  {ts}Your schedule:{/ts}\n       </td>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n  {assign var=\'group_by_day\' value=\'NA\'}\n  {foreach from=$conference_sessions item=session}\n   {if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n    {assign var=\'group_by_day\' value=$session.start_date}\n          <em>{$group_by_day|date_format:\"%m/%d/%Y\"}</em><br />\n   {/if}\n   {$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}<br />\n   {if $session.location}&nbsp;&nbsp;&nbsp;&nbsp;{$session.location}<br />{/if}\n  {/foreach}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$event.participant_role}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($isShowLocation)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}\n           {$phone.phone_type_display}\n          {else}\n           {ts}Phone{/ts}\n          {/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($event.is_public)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n    {if !empty($event.is_share)}\n        <tr>\n            <td colspan=\"2\" {$valueStyle}>\n                {capture assign=eventUrl}{crmURL p=\'civicrm/event/info\' q=\"id=`$event.id`&reset=1\" a=true fe=1 h=1}{/capture}\n                {include file=\"CRM/common/SocialNetwork.tpl\" emailMode=true url=$eventUrl title=$event.title pageURL=$eventUrl}\n            </td>\n        </tr>\n    {/if}\n    {if !empty($payer.name)}\n     <tr>\n       <th {$headerStyle}>\n         {ts}You were registered by:{/ts}\n       </th>\n     </tr>\n     <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$payer.name}\n       </td>\n     </tr>\n    {/if}\n    {if !empty($event.is_monetary) and empty($isRequireApproval)}\n\n      <tr>\n       <th {$headerStyle}>\n        {if !empty($event.fee_label)}{$event.fee_label}{/if}\n       </th>\n      </tr>\n\n      {if !empty($lineItem)}\n       {foreach from=$lineItem item=value key=priceset}\n        {if $value neq \'skip\'}\n         {if !empty($isPrimary)}\n          {if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n           <tr>\n            <td colspan=\"2\" {$labelStyle}>\n             {ts 1=$priceset+1}Participant %1{/ts} {if !empty($part.$priceset)}{$part.$priceset.info}{/if}\n            </td>\n           </tr>\n          {/if}\n         {/if}\n         <tr>\n          <td colspan=\"2\" {$valueStyle}>\n           <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n            <tr>\n             <th>{ts}Item{/ts}</th>\n             <th>{ts}Qty{/ts}</th>\n             <th>{ts}Each{/ts}</th>\n             {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n             {/if}\n             <th>{ts}Total{/ts}</th>\n       {if  !empty($pricesetFieldsCount) }<th>{ts}Total Participants{/ts}</th>{/if}\n            </tr>\n            {foreach from=$value item=line}\n             <tr>\n              <td {$tdfirstStyle}>\n              {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n              </td>\n              <td {$tdStyle} align=\"middle\">\n               {$line.qty}\n              </td>\n              <td {$tdStyle}>\n               {$line.unit_price|crmMoney:$currency}\n              </td>\n              {if !empty($dataArray)}\n               <td {$tdStyle}>\n                {$line.unit_price*$line.qty|crmMoney}\n               </td>\n               {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n                <td {$tdStyle}>\n                 {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td {$tdStyle}>\n                 {$line.tax_amount|crmMoney}\n                </td>\n               {else}\n                <td></td>\n                <td></td>\n               {/if}\n              {/if}\n              <td {$tdStyle}>\n               {$line.line_total+$line.tax_amount|crmMoney:$currency}\n              </td>\n        {if !empty($pricesetFieldsCount) }<td {$tdStyle}>{$line.participant_count}</td> {/if}\n             </tr>\n            {/foreach}\n            {if !empty($individual)}\n              <tr {$participantTotal}>\n                <td colspan=3>{ts}Participant Total{/ts}</td>\n                <td colspan=2>{$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney}</td>\n                <td colspan=1>{$individual.$priceset.totalTaxAmt|crmMoney}</td>\n                <td colspan=2>{$individual.$priceset.totalAmtWithTax|crmMoney}</td>\n              </tr>\n            {/if}\n           </table>\n          </td>\n         </tr>\n        {/if}\n       {/foreach}\n       {if !empty($dataArray)}\n        {if isset($totalAmount) and isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts} Amount Before Tax: {/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalAmount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {/if}\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n          {if $priceset || $priceset == 0}\n           <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {else}\n           <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {/if}\n         </tr>\n        {/foreach}\n       {/if}\n      {/if}\n\n      {if !empty($amounts) && empty($lineItem)}\n       {foreach from=$amounts item=amnt key=level}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$amnt.amount|crmMoney:$currency} {$amnt.label}\n         </td>\n        </tr>\n       {/foreach}\n      {/if}\n\n    {if isset($totalTaxAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$totalTaxAmount|crmMoney:$currency}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($isPrimary)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {if !empty($totalAmount)}{$totalAmount|crmMoney:$currency}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n        </td>\n       </tr>\n       {if !empty($pricesetFieldsCount) }\n     <tr>\n       <td {$labelStyle}>\n      {ts}Total Participants{/ts}</td>\n      <td {$valueStyle}>\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n      {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n      {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n     {$count}\n     </td> </tr>\n      {/if}\n\n       {if $register_date}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Registration Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$register_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($receive_date)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$receive_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($financialTypeName)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Financial Type{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$financialTypeName}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($trxn_id)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction #{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$trxn_id}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($paidBy)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Paid By{/ts}\n         </td>\n         <td {$valueStyle}>\n         {$paidBy}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($checkNumber)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Check Number{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$checkNumber}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($billingName)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Billing Name and Address{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($credit_card_type)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Credit Card Information{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$credit_card_type}<br />\n          {$credit_card_number}<br />\n          {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n      {/if}\n\n     {/if} {* End of conditional section for Paid events *}\n\n\n{if !empty($customPre)}\n{foreach from=$customPre item=customPr key=i}\n   <tr> <th {$headerStyle}>{$customPre_grouptitle.$i}</th></tr>\n   {foreach from=$customPr item=customValue key=customName}\n   {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n     <tr>\n         <td {$labelStyle}>{$customName}</td>\n         <td {$valueStyle}>{$customValue}</td>\n     </tr>\n   {/if}\n   {/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n{foreach from=$customPost item=customPos key=j}\n   <tr> <th {$headerStyle}>{$customPost_grouptitle.$j}</th></tr>\n   {foreach from=$customPos item=customValue key=customName}\n   {if (!empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n     <tr>\n         <td {$labelStyle}>{$customName}</td>\n         <td {$valueStyle}>{$customValue}</td>\n     </tr>\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customProfile)}\n{foreach from=$customProfile.profile item=eachParticipant key=participantID}\n     <tr><th {$headerStyle}>{ts 1=$participantID+2}Participant %1{/ts} </th></tr>\n     {foreach from=$eachParticipant item=eachProfile key=pid}\n     <tr><th {$headerStyle}>{$customProfile.title.$pid}</th></tr>\n     {foreach from=$eachProfile item=val key=field}\n     <tr>{foreach from=$val item=v key=f}\n         <td {$labelStyle}>{$field}</td>\n         <td {$valueStyle}>{$v}</td>\n         {/foreach}\n     </tr>\n     {/foreach}\n{/foreach}\n{/foreach}\n{/if}\n\n    </table>\n    {if !empty($event.allow_selfcancelxfer) }\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n        {ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if !empty($totalAmount)}{ts}Cancellations are not refundable.{/ts}{/if}<br />\n        {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n        <a href=\"{$selfService}\">{ts}Click here to transfer or cancel your registration.{/ts}</a>\n      </td>\n     </tr>\n    {/if}\n </table>\n\n</body>\n</html>\n',1,843,'event_online_receipt',1,0,0,NULL),
- (32,'Events - Registration Confirmation and Receipt (on-line)','{if !empty($isOnWaitlist)}{ts}Wait List Confirmation{/ts}{elseif !empty($isRequireApproval)}{ts}Registration Request Confirmation{/ts}{else}{ts}Registration Confirmation{/ts}{/if} - {$event.event_title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n{$event.confirm_email_text}\n\n{else}\n  {ts}Thank you for your registration.{/ts}\n  {if $participant_status}{ts 1=$participant_status}This is a confirmation that your registration has been received and your status has been updated to %1.{/ts}\n  {else}{if !empty($isOnWaitlist)}{ts}This is a confirmation that your registration has been received and your status has been updated to waitlisted.{/ts}{else}{ts}This is a confirmation that your registration has been received and your status has been updated to registered.{/ts}{/if}\n  {/if}\n{/if}\n\n{if !empty($isOnWaitlist)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}You have been added to the WAIT LIST for this event.{/ts}\n\n{if !empty($isPrimary)}\n{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}\n{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{elseif !empty($isRequireApproval)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Your registration has been submitted.{/ts}\n\n{if !empty($isPrimary)}\n{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{elseif !empty($is_pay_later) && empty($isAmountzero) && empty($isAdditionalParticipant)}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{/if}\n\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Event Information and Location{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$event.event_title}\n{$event.event_start_date|date_format:\"%A\"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:\"%A\"} {$event.event_end_date|crmDate}{/if}{/if}\n{if !empty($conference_sessions)}\n\n\n{ts}Your schedule:{/ts}\n{assign var=\'group_by_day\' value=\'NA\'}\n{foreach from=$conference_sessions item=session}\n{if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n{assign var=\'group_by_day\' value=$session.start_date}\n\n{$group_by_day|date_format:\"%m/%d/%Y\"}\n\n\n{/if}\n{$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}\n{if $session.location}    {$session.location}{/if}\n{/foreach}\n{/if}\n\n{if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if !empty($event.is_public)}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if !empty($payer.name)}\nYou were registered by: {$payer.name}\n{/if}\n{if !empty($event.is_monetary) and empty($isRequireApproval)} {* This section for Paid events only.*}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if !empty ($event.fee_label)}{$event.fee_label}{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if !empty($lineItem)}{foreach from=$lineItem item=value key=priceset}\n\n{if $value neq \'skip\'}\n{if !empty($isPrimary)}\n{if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n{ts 1=$priceset+1}Participant %1{/ts} {if !empty($part.$priceset)}{$part.$priceset.info}{/if}\n\n{/if}\n{/if}\n-----------------------------------------------------------{if !empty($pricesetFieldsCount)}-----------------------------------------------------{/if}\n\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_total}{ts}Total Participants{/ts}{/capture}{/if}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"} {if !empty($ts_participant_total)}{$ts_participant_total|string_format:\"%10s\"}{/if}\n-----------------------------------------------------------{if !empty($pricesetFieldsCount)}-----------------------------------------------------{/if}\n\n{foreach from=$value item=line}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:\"%10s\"}{/if}\n{/foreach}\n----------------------------------------------------------------------------------------------------------------\n{if !empty($individual)}{ts}Participant Total{/ts} {$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:\"%29s\"} {$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:\"%33s\"} {$individual.$priceset.totalAmtWithTax|crmMoney:$currency|string_format:\"%12s\"}{/if}\n{/if}\n{\"\"|string_format:\"%120s\"}\n{/foreach}\n{\"\"|string_format:\"%120s\"}\n\n{if !empty($dataArray)}\n{if isset($totalAmount) and isset($totalTaxAmount)}\n{ts}Amount before Tax{/ts}: {$totalAmount-$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n{/if}\n\n{if !empty($amounts) && empty($lineItem)}\n{foreach from=$amounts item=amnt key=level}{$amnt.amount|crmMoney:$currency} {$amnt.label}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{if !empty($isPrimary) }\n\n{ts}Total Amount{/ts}: {if !empty($totalAmount)}{$totalAmount|crmMoney:$currency}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n\n{if !empty($pricesetFieldsCount) }\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n      {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n      {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n\n{ts}Total Participants{/ts}: {$count}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$register_date|crmDate}\n{/if}\n{if !empty($receive_date)}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($financialTypeName)}\n{ts}Financial Type{/ts}: {$financialTypeName}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n{if !empty($billingName)}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Billing Name and Address{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Credit Card Information{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n{/if} {* End of conditional section for Paid events *}\n\n{if !empty($customPre)}\n{foreach from=$customPre item=customPr key=i}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$customPre_grouptitle.$i}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$customPr item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n{foreach from=$customPost item=customPos key=j}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$customPost_grouptitle.$j}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$customPos item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($customProfile)}\n\n{foreach from=$customProfile.profile item=eachParticipant key=participantID}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts 1=$participantID+2}Participant Information - Participant %1{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$eachParticipant item=eachProfile key=pid}\n----------------------------------------------------------{if !empty($pricesetFieldsCount)}--------------------{/if}\n\n{$customProfile.title.$pid}\n----------------------------------------------------------{if !empty($pricesetFieldsCount)}--------------------{/if}\n\n{foreach from=$eachProfile item=val key=field}\n{foreach from=$val item=v key=f}\n{$field}: {$v}\n{/foreach}\n{/foreach}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($event.allow_selfcancelxfer) }\n{ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if !empty($totalAmount)}{ts}Cancellations are not refundable.{/ts}{/if}\n   {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n{ts}Transfer or cancel your registration:{/ts} {$selfService}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=tdfirstStyle}style=\"width: 180px; padding-bottom: 15px;\"{/capture}\n{capture assign=tdStyle}style=\"width: 100px;\"{/capture}\n{capture assign=participantTotal}style=\"margin: 0.5em 0 0.5em;padding: 0.5em;background-color: #999999;font-weight: bold;color: #FAFAFA;border-radius: 2px;\"{/capture}\n\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n    {if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n     <p>{$event.confirm_email_text|htmlize}</p>\n\n    {else}\n     <p>{ts}Thank you for your registration.{/ts}\n     {if $participant_status}{ts 1=$participant_status}This is a confirmation that your registration has been received and your status has been updated to <strong> %1</strong>.{/ts}\n     {else}{if $isOnWaitlist}{ts}This is a confirmation that your registration has been received and your status has been updated to <strong>waitlisted</strong>.{/ts}{else}{ts}This is a confirmation that your registration has been received and your status has been updated to <strong>registered<strong>.{/ts}{/if}{/if}</p>\n\n    {/if}\n\n    <p>\n    {if !empty($isOnWaitlist)}\n     <p>{ts}You have been added to the WAIT LIST for this event.{/ts}</p>\n     {if !empty($isPrimary)}\n       <p>{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}</p>\n     {/if}\n    {elseif !empty($isRequireApproval)}\n     <p>{ts}Your registration has been submitted.{/ts}</p>\n     {if !empty($isPrimary)}\n      <p>{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}</p>\n     {/if}\n    {elseif !empty($is_pay_later) && empty($isAmountzero) && empty($isAdditionalParticipant)}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"width:100%; max-width:700px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|date_format:\"%A\"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:\"%A\"} {$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n\n\n     {if $conference_sessions}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n  {ts}Your schedule:{/ts}\n       </td>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n  {assign var=\'group_by_day\' value=\'NA\'}\n  {foreach from=$conference_sessions item=session}\n   {if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n    {assign var=\'group_by_day\' value=$session.start_date}\n          <em>{$group_by_day|date_format:\"%m/%d/%Y\"}</em><br />\n   {/if}\n   {$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}<br />\n   {if $session.location}&nbsp;&nbsp;&nbsp;&nbsp;{$session.location}<br />{/if}\n  {/foreach}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$event.participant_role}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($isShowLocation)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}\n           {$phone.phone_type_display}\n          {else}\n           {ts}Phone{/ts}\n          {/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($event.is_public)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n    {if !empty($event.is_share)}\n        <tr>\n            <td colspan=\"2\" {$valueStyle}>\n                {capture assign=eventUrl}{crmURL p=\'civicrm/event/info\' q=\"id=`$event.id`&reset=1\" a=true fe=1 h=1}{/capture}\n                {include file=\"CRM/common/SocialNetwork.tpl\" emailMode=true url=$eventUrl title=$event.title pageURL=$eventUrl}\n            </td>\n        </tr>\n    {/if}\n    {if !empty($payer.name)}\n     <tr>\n       <th {$headerStyle}>\n         {ts}You were registered by:{/ts}\n       </th>\n     </tr>\n     <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$payer.name}\n       </td>\n     </tr>\n    {/if}\n    {if !empty($event.is_monetary) and empty($isRequireApproval)}\n\n      <tr>\n       <th {$headerStyle}>\n        {if !empty($event.fee_label)}{$event.fee_label}{/if}\n       </th>\n      </tr>\n\n      {if !empty($lineItem)}\n       {foreach from=$lineItem item=value key=priceset}\n        {if $value neq \'skip\'}\n         {if !empty($isPrimary)}\n          {if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n           <tr>\n            <td colspan=\"2\" {$labelStyle}>\n             {ts 1=$priceset+1}Participant %1{/ts} {if !empty($part.$priceset)}{$part.$priceset.info}{/if}\n            </td>\n           </tr>\n          {/if}\n         {/if}\n         <tr>\n          <td colspan=\"2\" {$valueStyle}>\n           <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n            <tr>\n             <th>{ts}Item{/ts}</th>\n             <th>{ts}Qty{/ts}</th>\n             <th>{ts}Each{/ts}</th>\n             {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n             {/if}\n             <th>{ts}Total{/ts}</th>\n       {if  !empty($pricesetFieldsCount) }<th>{ts}Total Participants{/ts}</th>{/if}\n            </tr>\n            {foreach from=$value item=line}\n             <tr>\n              <td {$tdfirstStyle}>\n              {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n              </td>\n              <td {$tdStyle} align=\"middle\">\n               {$line.qty}\n              </td>\n              <td {$tdStyle}>\n               {$line.unit_price|crmMoney:$currency}\n              </td>\n              {if !empty($dataArray)}\n               <td {$tdStyle}>\n                {$line.unit_price*$line.qty|crmMoney}\n               </td>\n               {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n                <td {$tdStyle}>\n                 {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td {$tdStyle}>\n                 {$line.tax_amount|crmMoney}\n                </td>\n               {else}\n                <td></td>\n                <td></td>\n               {/if}\n              {/if}\n              <td {$tdStyle}>\n               {$line.line_total+$line.tax_amount|crmMoney:$currency}\n              </td>\n        {if !empty($pricesetFieldsCount) }<td {$tdStyle}>{$line.participant_count}</td> {/if}\n             </tr>\n            {/foreach}\n            {if !empty($individual)}\n              <tr {$participantTotal}>\n                <td colspan=3>{ts}Participant Total{/ts}</td>\n                <td colspan=2>{$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney}</td>\n                <td colspan=1>{$individual.$priceset.totalTaxAmt|crmMoney}</td>\n                <td colspan=2>{$individual.$priceset.totalAmtWithTax|crmMoney}</td>\n              </tr>\n            {/if}\n           </table>\n          </td>\n         </tr>\n        {/if}\n       {/foreach}\n       {if !empty($dataArray)}\n        {if isset($totalAmount) and isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts} Amount Before Tax: {/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalAmount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {/if}\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n          {if $priceset || $priceset == 0}\n           <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {else}\n           <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {/if}\n         </tr>\n        {/foreach}\n       {/if}\n      {/if}\n\n      {if !empty($amounts) && empty($lineItem)}\n       {foreach from=$amounts item=amnt key=level}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$amnt.amount|crmMoney:$currency} {$amnt.label}\n         </td>\n        </tr>\n       {/foreach}\n      {/if}\n\n    {if isset($totalTaxAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$totalTaxAmount|crmMoney:$currency}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($isPrimary)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {if !empty($totalAmount)}{$totalAmount|crmMoney:$currency}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n        </td>\n       </tr>\n       {if !empty($pricesetFieldsCount) }\n     <tr>\n       <td {$labelStyle}>\n      {ts}Total Participants{/ts}</td>\n      <td {$valueStyle}>\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n      {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n      {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n     {$count}\n     </td> </tr>\n      {/if}\n\n       {if $register_date}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Registration Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$register_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($receive_date)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$receive_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($financialTypeName)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Financial Type{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$financialTypeName}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($trxn_id)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction #{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$trxn_id}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($paidBy)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Paid By{/ts}\n         </td>\n         <td {$valueStyle}>\n         {$paidBy}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($checkNumber)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Check Number{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$checkNumber}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($billingName)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Billing Name and Address{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($credit_card_type)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Credit Card Information{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$credit_card_type}<br />\n          {$credit_card_number}<br />\n          {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n      {/if}\n\n     {/if} {* End of conditional section for Paid events *}\n\n\n{if !empty($customPre)}\n{foreach from=$customPre item=customPr key=i}\n   <tr> <th {$headerStyle}>{$customPre_grouptitle.$i}</th></tr>\n   {foreach from=$customPr item=customValue key=customName}\n   {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n     <tr>\n         <td {$labelStyle}>{$customName}</td>\n         <td {$valueStyle}>{$customValue}</td>\n     </tr>\n   {/if}\n   {/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n{foreach from=$customPost item=customPos key=j}\n   <tr> <th {$headerStyle}>{$customPost_grouptitle.$j}</th></tr>\n   {foreach from=$customPos item=customValue key=customName}\n   {if (!empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n     <tr>\n         <td {$labelStyle}>{$customName}</td>\n         <td {$valueStyle}>{$customValue}</td>\n     </tr>\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customProfile)}\n{foreach from=$customProfile.profile item=eachParticipant key=participantID}\n     <tr><th {$headerStyle}>{ts 1=$participantID+2}Participant %1{/ts} </th></tr>\n     {foreach from=$eachParticipant item=eachProfile key=pid}\n     <tr><th {$headerStyle}>{$customProfile.title.$pid}</th></tr>\n     {foreach from=$eachProfile item=val key=field}\n     <tr>{foreach from=$val item=v key=f}\n         <td {$labelStyle}>{$field}</td>\n         <td {$valueStyle}>{$v}</td>\n         {/foreach}\n     </tr>\n     {/foreach}\n{/foreach}\n{/foreach}\n{/if}\n\n    </table>\n    {if !empty($event.allow_selfcancelxfer) }\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n        {ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if !empty($totalAmount)}{ts}Cancellations are not refundable.{/ts}{/if}<br />\n        {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n        <a href=\"{$selfService}\">{ts}Click here to transfer or cancel your registration.{/ts}</a>\n      </td>\n     </tr>\n    {/if}\n </table>\n\n</body>\n</html>\n',1,843,'event_online_receipt',0,1,0,NULL),
- (33,'Events - Receipt only','Receipt for {if $events_in_cart} Event Registration{/if} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if $is_pay_later}\n  This is being sent to you as an acknowledgement that you have registered one or more members for the following workshop, event or purchase. Please note, however, that the status of your payment is pending, and the registration for this event will not be completed until your payment is received.\n{else}\n  This is being sent to you as a {if !empty($is_refund)}confirmation of refund{else}receipt of payment made{/if} for the following workshop, event registration or purchase.\n{/if}\n\n{if $is_pay_later}\n  {if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n{/if}\n\n  Your order number is #{$transaction_id}. {if !empty($line_items) && empty($is_refund)} Information about the workshops will be sent separately to each participant.{/if}\n Here\'s a summary of your transaction placed on {$transaction_date|date_format:\"%D %I:%M %p %Z\"}:\n\n{if $billing_name}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billing_name}\n\n{$billing_street_address}\n\n{$billing_city}, {$billing_state} {$billing_postal_code}\n\n{$email}\n{/if}\n\n{if !empty($source)}\n{$source}\n{/if}\n\n\n{foreach from=$line_items item=line_item}\n{$line_item.event->title} ({$line_item.event->start_date|date_format:\"%D\"})\n{if $line_item.event->is_show_location}\n  {$line_item.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n{$line_item.event->start_date|date_format:\"%D %I:%M %p\"} - {$line_item.event->end_date|date_format:\"%I:%M %p\"}\n\n  Quantity: {$line_item.num_participants}\n\n{if $line_item.num_participants > 0}\n  {foreach from=$line_item.participants item=participant}\n    {$participant.display_name}\n  {/foreach}\n{/if}\n{if $line_item.num_waiting_participants > 0}\n  Waitlisted:\n    {foreach from=$line_item.waiting_participants item=participant}\n      {$participant.display_name}\n    {/foreach}\n{/if}\nCost: {$line_item.cost|crmMoney:$currency|string_format:\"%10s\"}\nTotal For This Event: {$line_item.amount|crmMoney:$currency|string_format:\"%10s\"}\n\n{/foreach}\n\n{if $discounts}\nSubtotal: {$sub_total|crmMoney:$currency|string_format:\"%10s\"}\n--------------------------------------\nDiscounts\n{foreach from=$discounts key=myId item=i}\n  {$i.title}: -{$i.amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/if}\n======================================\nTotal: {$total|crmMoney:$currency|string_format:\"%10s\"}\n\n{if $credit_card_type}\n===========================================================\n{ts}Payment Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date.M}/{$credit_card_exp_date.Y}\n{/if}\n\n  If you have questions about the status of your registration or purchase please feel free to contact us.\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n    <title></title>\n  </head>\n  <body>\n    {capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n    {capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n    {capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if $is_pay_later}\n      <p>\n        This is being sent to you as an acknowledgement that you have registered one or more members for the following workshop, event or purchase. Please note, however, that the status of your payment is pending, and the registration for this event will not be completed until your payment is received.\n      </p>\n    {else}\n      <p>\n        This is being sent to you as a {if !empty($is_refund)}confirmation of refund{else}receipt of payment made{/if} for the following workshop, event registration or purchase.\n      </p>\n    {/if}\n\n    {if $is_pay_later}\n      <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p>\n    {/if}\n\n    <p>Your order number is #{$transaction_id}. {if !empty($line_items) && empty($is_refund)} Information about the workshops will be sent separately to each participant.{/if}\n  Here\'s a summary of your transaction placed on {$transaction_date|date_format:\"%D %I:%M %p %Z\"}:</p>\n\n{if $billing_name}\n  <table class=\"billing-info\">\n      <tr>\n    <th style=\"text-align: left;\">\n      {ts}Billing Name and Address{/ts}\n    </th>\n      </tr>\n      <tr>\n    <td>\n      {$billing_name}<br />\n      {$billing_street_address}<br />\n      {$billing_city}, {$billing_state} {$billing_postal_code}<br/>\n      <br/>\n      {$email}\n    </td>\n    </tr>\n    </table>\n{/if}\n{if $credit_card_type}\n  <p>&nbsp;</p>\n  <table class=\"billing-info\">\n      <tr>\n    <th style=\"text-align: left;\">\n      {ts}Credit Card Information{/ts}\n    </th>\n      </tr>\n      <tr>\n    <td>\n      {$credit_card_type}<br />\n      {$credit_card_number}<br />\n      {ts}Expires{/ts}: {$credit_card_exp_date.M}/{$credit_card_exp_date.Y}\n    </td>\n    </tr>\n    </table>\n{/if}\n{if !empty($source)}\n    <p>&nbsp;</p>\n    {$source}\n{/if}\n    <p>&nbsp;</p>\n    <table width=\"700\">\n      <thead>\n    <tr>\n{if $line_items}\n      <th style=\"text-align: left;\">\n      Event\n      </th>\n      <th style=\"text-align: left;\">\n      Participants\n      </th>\n{/if}\n      <th style=\"text-align: left;\">\n      Price\n      </th>\n      <th style=\"text-align: left;\">\n      Total\n      </th>\n    </tr>\n    </thead>\n      <tbody>\n  {foreach from=$line_items item=line_item}\n  <tr>\n    <td style=\"width: 220px\">\n      {$line_item.event->title} ({$line_item.event->start_date|date_format:\"%D\"})<br />\n      {if $line_item.event->is_show_location}\n        {$line_item.location.address.1.display|nl2br}\n      {/if}{*End of isShowLocation condition*}<br /><br />\n      {$line_item.event->start_date|date_format:\"%D %I:%M %p\"} - {$line_item.event->end_date|date_format:\"%I:%M %p\"}\n    </td>\n    <td style=\"width: 180px\">\n    {$line_item.num_participants}\n      {if $line_item.num_participants > 0}\n      <div class=\"participants\" style=\"padding-left: 10px;\">\n        {foreach from=$line_item.participants item=participant}\n        {$participant.display_name}<br />\n        {/foreach}\n      </div>\n      {/if}\n      {if $line_item.num_waiting_participants > 0}\n      Waitlisted:<br/>\n      <div class=\"participants\" style=\"padding-left: 10px;\">\n        {foreach from=$line_item.waiting_participants item=participant}\n        {$participant.display_name}<br />\n        {/foreach}\n      </div>\n      {/if}\n    </td>\n    <td style=\"width: 100px\">\n      {$line_item.cost|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n    <td style=\"width: 100px\">\n      &nbsp;{$line_item.amount|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n  </tr>\n  {/foreach}\n      </tbody>\n      <tfoot>\n  {if $discounts}\n  <tr>\n    <td>\n    </td>\n    <td>\n    </td>\n    <td>\n      Subtotal:\n    </td>\n    <td>\n      &nbsp;{$sub_total|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n  </tr>\n  {foreach from=$discounts key=myId item=i}\n  <tr>\n    <td>\n      {$i.title}\n    </td>\n    <td>\n    </td>\n    <td>\n    </td>\n    <td>\n      -{$i.amount}\n    </td>\n  </tr>\n  {/foreach}\n  {/if}\n  <tr>\n{if $line_items}\n    <td>\n    </td>\n    <td>\n    </td>\n{/if}\n    <td>\n      <strong>Total:</strong>\n    </td>\n    <td>\n      <strong>&nbsp;{$total|crmMoney:$currency|string_format:\"%10s\"}</strong>\n    </td>\n  </tr>\n      </tfoot>\n    </table>\n\n    If you have questions about the status of your registration or purchase please feel free to contact us.\n  </body>\n</html>\n',1,844,'event_registration_receipt',1,0,0,NULL),
- (34,'Events - Receipt only','Receipt for {if $events_in_cart} Event Registration{/if} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if $is_pay_later}\n  This is being sent to you as an acknowledgement that you have registered one or more members for the following workshop, event or purchase. Please note, however, that the status of your payment is pending, and the registration for this event will not be completed until your payment is received.\n{else}\n  This is being sent to you as a {if !empty($is_refund)}confirmation of refund{else}receipt of payment made{/if} for the following workshop, event registration or purchase.\n{/if}\n\n{if $is_pay_later}\n  {if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n{/if}\n\n  Your order number is #{$transaction_id}. {if !empty($line_items) && empty($is_refund)} Information about the workshops will be sent separately to each participant.{/if}\n Here\'s a summary of your transaction placed on {$transaction_date|date_format:\"%D %I:%M %p %Z\"}:\n\n{if $billing_name}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billing_name}\n\n{$billing_street_address}\n\n{$billing_city}, {$billing_state} {$billing_postal_code}\n\n{$email}\n{/if}\n\n{if !empty($source)}\n{$source}\n{/if}\n\n\n{foreach from=$line_items item=line_item}\n{$line_item.event->title} ({$line_item.event->start_date|date_format:\"%D\"})\n{if $line_item.event->is_show_location}\n  {$line_item.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n{$line_item.event->start_date|date_format:\"%D %I:%M %p\"} - {$line_item.event->end_date|date_format:\"%I:%M %p\"}\n\n  Quantity: {$line_item.num_participants}\n\n{if $line_item.num_participants > 0}\n  {foreach from=$line_item.participants item=participant}\n    {$participant.display_name}\n  {/foreach}\n{/if}\n{if $line_item.num_waiting_participants > 0}\n  Waitlisted:\n    {foreach from=$line_item.waiting_participants item=participant}\n      {$participant.display_name}\n    {/foreach}\n{/if}\nCost: {$line_item.cost|crmMoney:$currency|string_format:\"%10s\"}\nTotal For This Event: {$line_item.amount|crmMoney:$currency|string_format:\"%10s\"}\n\n{/foreach}\n\n{if $discounts}\nSubtotal: {$sub_total|crmMoney:$currency|string_format:\"%10s\"}\n--------------------------------------\nDiscounts\n{foreach from=$discounts key=myId item=i}\n  {$i.title}: -{$i.amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/if}\n======================================\nTotal: {$total|crmMoney:$currency|string_format:\"%10s\"}\n\n{if $credit_card_type}\n===========================================================\n{ts}Payment Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date.M}/{$credit_card_exp_date.Y}\n{/if}\n\n  If you have questions about the status of your registration or purchase please feel free to contact us.\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n    <title></title>\n  </head>\n  <body>\n    {capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n    {capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n    {capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if $is_pay_later}\n      <p>\n        This is being sent to you as an acknowledgement that you have registered one or more members for the following workshop, event or purchase. Please note, however, that the status of your payment is pending, and the registration for this event will not be completed until your payment is received.\n      </p>\n    {else}\n      <p>\n        This is being sent to you as a {if !empty($is_refund)}confirmation of refund{else}receipt of payment made{/if} for the following workshop, event registration or purchase.\n      </p>\n    {/if}\n\n    {if $is_pay_later}\n      <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p>\n    {/if}\n\n    <p>Your order number is #{$transaction_id}. {if !empty($line_items) && empty($is_refund)} Information about the workshops will be sent separately to each participant.{/if}\n  Here\'s a summary of your transaction placed on {$transaction_date|date_format:\"%D %I:%M %p %Z\"}:</p>\n\n{if $billing_name}\n  <table class=\"billing-info\">\n      <tr>\n    <th style=\"text-align: left;\">\n      {ts}Billing Name and Address{/ts}\n    </th>\n      </tr>\n      <tr>\n    <td>\n      {$billing_name}<br />\n      {$billing_street_address}<br />\n      {$billing_city}, {$billing_state} {$billing_postal_code}<br/>\n      <br/>\n      {$email}\n    </td>\n    </tr>\n    </table>\n{/if}\n{if $credit_card_type}\n  <p>&nbsp;</p>\n  <table class=\"billing-info\">\n      <tr>\n    <th style=\"text-align: left;\">\n      {ts}Credit Card Information{/ts}\n    </th>\n      </tr>\n      <tr>\n    <td>\n      {$credit_card_type}<br />\n      {$credit_card_number}<br />\n      {ts}Expires{/ts}: {$credit_card_exp_date.M}/{$credit_card_exp_date.Y}\n    </td>\n    </tr>\n    </table>\n{/if}\n{if !empty($source)}\n    <p>&nbsp;</p>\n    {$source}\n{/if}\n    <p>&nbsp;</p>\n    <table width=\"700\">\n      <thead>\n    <tr>\n{if $line_items}\n      <th style=\"text-align: left;\">\n      Event\n      </th>\n      <th style=\"text-align: left;\">\n      Participants\n      </th>\n{/if}\n      <th style=\"text-align: left;\">\n      Price\n      </th>\n      <th style=\"text-align: left;\">\n      Total\n      </th>\n    </tr>\n    </thead>\n      <tbody>\n  {foreach from=$line_items item=line_item}\n  <tr>\n    <td style=\"width: 220px\">\n      {$line_item.event->title} ({$line_item.event->start_date|date_format:\"%D\"})<br />\n      {if $line_item.event->is_show_location}\n        {$line_item.location.address.1.display|nl2br}\n      {/if}{*End of isShowLocation condition*}<br /><br />\n      {$line_item.event->start_date|date_format:\"%D %I:%M %p\"} - {$line_item.event->end_date|date_format:\"%I:%M %p\"}\n    </td>\n    <td style=\"width: 180px\">\n    {$line_item.num_participants}\n      {if $line_item.num_participants > 0}\n      <div class=\"participants\" style=\"padding-left: 10px;\">\n        {foreach from=$line_item.participants item=participant}\n        {$participant.display_name}<br />\n        {/foreach}\n      </div>\n      {/if}\n      {if $line_item.num_waiting_participants > 0}\n      Waitlisted:<br/>\n      <div class=\"participants\" style=\"padding-left: 10px;\">\n        {foreach from=$line_item.waiting_participants item=participant}\n        {$participant.display_name}<br />\n        {/foreach}\n      </div>\n      {/if}\n    </td>\n    <td style=\"width: 100px\">\n      {$line_item.cost|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n    <td style=\"width: 100px\">\n      &nbsp;{$line_item.amount|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n  </tr>\n  {/foreach}\n      </tbody>\n      <tfoot>\n  {if $discounts}\n  <tr>\n    <td>\n    </td>\n    <td>\n    </td>\n    <td>\n      Subtotal:\n    </td>\n    <td>\n      &nbsp;{$sub_total|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n  </tr>\n  {foreach from=$discounts key=myId item=i}\n  <tr>\n    <td>\n      {$i.title}\n    </td>\n    <td>\n    </td>\n    <td>\n    </td>\n    <td>\n      -{$i.amount}\n    </td>\n  </tr>\n  {/foreach}\n  {/if}\n  <tr>\n{if $line_items}\n    <td>\n    </td>\n    <td>\n    </td>\n{/if}\n    <td>\n      <strong>Total:</strong>\n    </td>\n    <td>\n      <strong>&nbsp;{$total|crmMoney:$currency|string_format:\"%10s\"}</strong>\n    </td>\n  </tr>\n      </tfoot>\n    </table>\n\n    If you have questions about the status of your registration or purchase please feel free to contact us.\n  </body>\n</html>\n',1,844,'event_registration_receipt',0,1,0,NULL),
- (35,'Events - Registration Cancellation Notice','{ts 1=$event.event_title}Event Registration Cancelled for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Your Event Registration has been cancelled.{/ts}\n\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:\"shortdate\" == $event.event_start_date|crmDate:\"shortdate\"}{$event.event_end_date|crmDate:\"Time\"}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{ts}Participant Role{/ts}: {participant.role_id:label}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if !empty(\'{participant.register_date}\')}\n{ts}Registration Date{/ts}: {participant.register_date}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Your Event Registration has been cancelled.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:\"shortdate\" == $event.event_start_date|crmDate:\"shortdate\"}{$event.event_end_date|crmDate:\"Time\"}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {participant.role_id:label}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty(\'{participant.register_date}\')}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {participant.register_date}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,845,'participant_cancelled',1,0,0,NULL),
- (36,'Events - Registration Cancellation Notice','{ts 1=$event.event_title}Event Registration Cancelled for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Your Event Registration has been cancelled.{/ts}\n\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:\"shortdate\" == $event.event_start_date|crmDate:\"shortdate\"}{$event.event_end_date|crmDate:\"Time\"}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{ts}Participant Role{/ts}: {participant.role_id:label}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if !empty(\'{participant.register_date}\')}\n{ts}Registration Date{/ts}: {participant.register_date}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Your Event Registration has been cancelled.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:\"shortdate\" == $event.event_start_date|crmDate:\"shortdate\"}{$event.event_end_date|crmDate:\"Time\"}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {participant.role_id:label}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty(\'{participant.register_date}\')}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {participant.register_date}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,845,'participant_cancelled',0,1,0,NULL),
- (37,'Events - Registration Confirmation Invite','{ts 1=$event.event_title}Confirm your registration for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}This is an invitation to complete your registration that was initially waitlisted.{/ts}\n\n{if !$isAdditional and $participant.id}\n\n===========================================================\n{ts}Confirm Your Registration{/ts}\n\n===========================================================\n{capture assign=confirmUrl}{crmURL p=\'civicrm/event/confirm\' q=\"reset=1&participantId=`$participant.id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\nClick this link to go to a web page where you can confirm your registration online:\n{$confirmUrl}\n{/if}\n{if $event.allow_selfcancelxfer }\n{ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if $totalAmount}{ts}Cancellations are not refundable.{/ts}{/if}\n   {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n{ts}Transfer or cancel your registration:{/ts} {$selfService}\n{/if}\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n{if $conference_sessions}\n\n\n{ts}Your schedule:{/ts}\n{assign var=\'group_by_day\' value=\'NA\'}\n{foreach from=$conference_sessions item=session}\n{if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n{assign var=\'group_by_day\' value=$session.start_date}\n\n{$group_by_day|date_format:\"%m/%d/%Y\"}\n\n\n{/if}\n{$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}\n{if $session.location}    {$session.location}{/if}\n{/foreach}\n{/if}\n\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if $event.location.phone.1.phone || $event.location.email.1.email}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if $event.is_public}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}This is an invitation to complete your registration that was initially waitlisted.{/ts}</p>\n   </td>\n  </tr>\n  {if !$isAdditional and $participant.id}\n   <tr>\n    <th {$headerStyle}>\n     {ts}Confirm Your Registration{/ts}\n    </th>\n   </tr>\n   <tr>\n    <td colspan=\"2\" {$valueStyle}>\n     {capture assign=confirmUrl}{crmURL p=\'civicrm/event/confirm\' q=\"reset=1&participantId=`$participant.id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\n     <a href=\"{$confirmUrl}\">{ts}Click here to confirm and complete your registration{/ts}</a>\n    </td>\n   </tr>\n  {/if}\n  {if $event.allow_selfcancelxfer }\n  {ts}This event allows for{/ts}\n  {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\" h=0 a=1 fe=1}{/capture}\n       <a href=\"{$selfService}\"> {ts}self service cancel or transfer{/ts}</a>\n  {/if}\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n     {if $conference_sessions}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n  {ts}Your schedule:{/ts}\n       </td>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n  {assign var=\'group_by_day\' value=\'NA\'}\n  {foreach from=$conference_sessions item=session}\n   {if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n    {assign var=\'group_by_day\' value=$session.start_date}\n          <em>{$group_by_day|date_format:\"%m/%d/%Y\"}</em><br />\n   {/if}\n   {$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}<br />\n   {if $session.location}&nbsp;&nbsp;&nbsp;&nbsp;{$session.location}<br />{/if}\n  {/foreach}\n       </td>\n      </tr>\n     {/if}\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if $event.location.phone.1.phone || $event.location.email.1.email}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if $event.is_public}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n  {if $event.allow_selfcancelxfer }\n   <tr>\n     <td colspan=\"2\" {$valueStyle}>\n       {ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if $totalAmount}{ts}Cancellations are not refundable.{/ts}{/if}<br />\n         {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n       <a href=\"{$selfService}\">{ts}Click here to transfer or cancel your registration.{/ts}</a>\n     </td>\n   </tr>\n  {/if}\n  <tr>\n   <td colspan=\"2\" {$valueStyle}>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,846,'participant_confirm',1,0,0,NULL),
- (38,'Events - Registration Confirmation Invite','{ts 1=$event.event_title}Confirm your registration for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}This is an invitation to complete your registration that was initially waitlisted.{/ts}\n\n{if !$isAdditional and $participant.id}\n\n===========================================================\n{ts}Confirm Your Registration{/ts}\n\n===========================================================\n{capture assign=confirmUrl}{crmURL p=\'civicrm/event/confirm\' q=\"reset=1&participantId=`$participant.id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\nClick this link to go to a web page where you can confirm your registration online:\n{$confirmUrl}\n{/if}\n{if $event.allow_selfcancelxfer }\n{ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if $totalAmount}{ts}Cancellations are not refundable.{/ts}{/if}\n   {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n{ts}Transfer or cancel your registration:{/ts} {$selfService}\n{/if}\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n{if $conference_sessions}\n\n\n{ts}Your schedule:{/ts}\n{assign var=\'group_by_day\' value=\'NA\'}\n{foreach from=$conference_sessions item=session}\n{if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n{assign var=\'group_by_day\' value=$session.start_date}\n\n{$group_by_day|date_format:\"%m/%d/%Y\"}\n\n\n{/if}\n{$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}\n{if $session.location}    {$session.location}{/if}\n{/foreach}\n{/if}\n\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if $event.location.phone.1.phone || $event.location.email.1.email}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if $event.is_public}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}This is an invitation to complete your registration that was initially waitlisted.{/ts}</p>\n   </td>\n  </tr>\n  {if !$isAdditional and $participant.id}\n   <tr>\n    <th {$headerStyle}>\n     {ts}Confirm Your Registration{/ts}\n    </th>\n   </tr>\n   <tr>\n    <td colspan=\"2\" {$valueStyle}>\n     {capture assign=confirmUrl}{crmURL p=\'civicrm/event/confirm\' q=\"reset=1&participantId=`$participant.id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\n     <a href=\"{$confirmUrl}\">{ts}Click here to confirm and complete your registration{/ts}</a>\n    </td>\n   </tr>\n  {/if}\n  {if $event.allow_selfcancelxfer }\n  {ts}This event allows for{/ts}\n  {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\" h=0 a=1 fe=1}{/capture}\n       <a href=\"{$selfService}\"> {ts}self service cancel or transfer{/ts}</a>\n  {/if}\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n     {if $conference_sessions}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n  {ts}Your schedule:{/ts}\n       </td>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n  {assign var=\'group_by_day\' value=\'NA\'}\n  {foreach from=$conference_sessions item=session}\n   {if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n    {assign var=\'group_by_day\' value=$session.start_date}\n          <em>{$group_by_day|date_format:\"%m/%d/%Y\"}</em><br />\n   {/if}\n   {$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}<br />\n   {if $session.location}&nbsp;&nbsp;&nbsp;&nbsp;{$session.location}<br />{/if}\n  {/foreach}\n       </td>\n      </tr>\n     {/if}\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if $event.location.phone.1.phone || $event.location.email.1.email}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if $event.is_public}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n  {if $event.allow_selfcancelxfer }\n   <tr>\n     <td colspan=\"2\" {$valueStyle}>\n       {ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if $totalAmount}{ts}Cancellations are not refundable.{/ts}{/if}<br />\n         {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n       <a href=\"{$selfService}\">{ts}Click here to transfer or cancel your registration.{/ts}</a>\n     </td>\n   </tr>\n  {/if}\n  <tr>\n   <td colspan=\"2\" {$valueStyle}>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,846,'participant_confirm',0,1,0,NULL),
- (39,'Events - Pending Registration Expiration Notice','{ts 1=$event.event_title}Event registration has expired for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$event.event_title}Your pending event registration for %1 has expired\nbecause you did not confirm your registration.{/ts}\n\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor want to inquire about reinstating your registration for this event.{/ts}\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$event.event_title}Your pending event registration for %1 has expired\nbecause you did not confirm your registration.{/ts}</p>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor want to inquire about reinstating your registration for this event.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,847,'participant_expired',1,0,0,NULL),
- (40,'Events - Pending Registration Expiration Notice','{ts 1=$event.event_title}Event registration has expired for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$event.event_title}Your pending event registration for %1 has expired\nbecause you did not confirm your registration.{/ts}\n\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor want to inquire about reinstating your registration for this event.{/ts}\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$event.event_title}Your pending event registration for %1 has expired\nbecause you did not confirm your registration.{/ts}</p>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor want to inquire about reinstating your registration for this event.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,847,'participant_expired',0,1,0,NULL),
- (41,'Events - Registration Transferred Notice','{ts 1=$event.event_title}Event Registration Transferred for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$to_participant}Your Event Registration has been transferred to %1.{/ts}\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$to_participant}Your Event Registration has been Transferred to %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,848,'participant_transferred',1,0,0,NULL),
- (42,'Events - Registration Transferred Notice','{ts 1=$event.event_title}Event Registration Transferred for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$to_participant}Your Event Registration has been transferred to %1.{/ts}\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$to_participant}Your Event Registration has been Transferred to %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,848,'participant_transferred',0,1,0,NULL),
- (43,'Tell-a-Friend Email','{ts 1=$senderContactName 2=$title}%1 wants you to know about %2{/ts}\n','{$senderMessage}\n\n{if $generalLink}{ts}For more information, visit:{/ts}\n>> {$generalLink}\n\n{/if}\n{if $contribute}{ts}To make a contribution, go to:{/ts}\n>> {$pageURL}\n\n{/if}\n{if $event}{ts}To find out more about this event, go to:{/ts}\n>> {$pageURL}\n{/if}\n\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <p>{$senderMessage}</p>\n    {if $generalLink}\n     <p><a href=\"{$generalLink}\">{ts}More information{/ts}</a></p>\n    {/if}\n    {if $contribute}\n     <p><a href=\"{$pageURL}\">{ts}Make a contribution{/ts}</a></p>\n    {/if}\n    {if $event}\n     <p><a href=\"{$pageURL}\">{ts}Find out more about this event{/ts}</a></p>\n    {/if}\n   </td>\n  </tr>\n </table>\n\n</body>\n</html>\n',1,849,'friend',1,0,0,NULL),
- (44,'Tell-a-Friend Email','{ts 1=$senderContactName 2=$title}%1 wants you to know about %2{/ts}\n','{$senderMessage}\n\n{if $generalLink}{ts}For more information, visit:{/ts}\n>> {$generalLink}\n\n{/if}\n{if $contribute}{ts}To make a contribution, go to:{/ts}\n>> {$pageURL}\n\n{/if}\n{if $event}{ts}To find out more about this event, go to:{/ts}\n>> {$pageURL}\n{/if}\n\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <p>{$senderMessage}</p>\n    {if $generalLink}\n     <p><a href=\"{$generalLink}\">{ts}More information{/ts}</a></p>\n    {/if}\n    {if $contribute}\n     <p><a href=\"{$pageURL}\">{ts}Make a contribution{/ts}</a></p>\n    {/if}\n    {if $event}\n     <p><a href=\"{$pageURL}\">{ts}Find out more about this event{/ts}</a></p>\n    {/if}\n   </td>\n  </tr>\n </table>\n\n</body>\n</html>\n',1,849,'friend',0,1,0,NULL),
- (45,'Memberships - Signup and Renewal Receipts (off-line)','{if $receiptType EQ \'membership signup\'}\n{ts}Membership Confirmation and Receipt{/ts}\n{elseif $receiptType EQ \'membership renewal\'}\n{ts}Membership Renewal Confirmation and Receipt{/ts}\n{/if} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if !empty($formValues.receipt_text_signup)}\n{$formValues.receipt_text_signup}\n{elseif !empty($formValues.receipt_text_renewal)}\n{$formValues.receipt_text_renewal}\n{else}{ts}Thank you for this contribution.{/ts}{/if}\n\n{if empty($lineItem)}\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Type{/ts}: {$membership_name}\n{/if}\n{if empty($cancelled)}\n{if empty($lineItem)}\n{ts}Membership Start Date{/ts}: {$mem_start_date}\n{ts}Membership End Date{/ts}: {$mem_end_date}\n{/if}\n\n{if $formValues.total_amount OR $formValues.total_amount eq 0 }\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{if !empty($formValues.contributionType_name)}\n{ts}Financial Type{/ts}: {$formValues.contributionType_name}\n{/if}\n{if !empty($lineItem)}\n{foreach from=$lineItem item=value key=priceset}\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_total}{ts}Fee{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{/if}\n{capture assign=ts_start_date}{ts}Membership Start Date{/ts}{/capture}\n{capture assign=ts_end_date}{ts}Membership End Date{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_total|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"} {/if} {$ts_start_date|string_format:\"%20s\"} {$ts_end_date|string_format:\"%20s\"}\n--------------------------------------------------------------------------------------------------\n\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {/if} {$line.start_date|string_format:\"%20s\"} {$line.end_date|string_format:\"%20s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"} %: {$value|crmMoney:$currency}\n{elseif  $priceset == 0}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n--------------------------------------------------------------------------------------------------\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Amount{/ts}: {$formValues.total_amount|crmMoney}\n{if !empty($receive_date)}\n{ts}Date Received{/ts}: {$receive_date|truncate:10:\'\'|crmDate}\n{/if}\n{if !empty($formValues.paidBy)}\n{ts}Paid By{/ts}: {$formValues.paidBy}\n{if !empty($formValues.check_number)}\n{ts}Check Number{/ts}: {$formValues.check_number}\n{/if}\n{/if}\n{/if}\n{/if}\n\n{if !empty($isPrimary) }\n{if !empty($billingName)}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n\n{if !empty($customValues)}\n===========================================================\n{ts}Membership Options{/ts}\n\n===========================================================\n{foreach from=$customValues item=value key=customName}\n {$customName} : {$value}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n        \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>\n  <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\"\n         style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n    <!-- BEGIN HEADER -->\n    <!-- You can add table row(s) here with logo or other header elements -->\n    <!-- END HEADER -->\n\n    <!-- BEGIN CONTENT -->\n\n    <tr>\n      <td>\n        {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n        {if !empty($formValues.receipt_text_signup)}\n          <p>{$formValues.receipt_text_signup|htmlize}</p>\n        {elseif !empty($formValues.receipt_text_renewal)}\n          <p>{$formValues.receipt_text_renewal|htmlize}</p>\n        {else}\n          <p>{ts}Thank you for this contribution.{/ts}</p>\n        {/if}\n      </td>\n    </tr>\n    <tr>\n      <td>\n        <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n          {if empty($lineItem)}\n            <tr>\n              <th {$headerStyle}>\n                {ts}Membership Information{/ts}\n              </th>\n            </tr>\n            <tr>\n              <td {$labelStyle}>\n                {ts}Membership Type{/ts}\n              </td>\n              <td {$valueStyle}>\n                {$membership_name}\n              </td>\n            </tr>\n          {/if}\n          {if empty($cancelled)}\n            {if empty($lineItem)}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Membership Start Date{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$mem_start_date}\n                </td>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Membership End Date{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$mem_end_date}\n                </td>\n              </tr>\n            {/if}\n            {if $formValues.total_amount OR $formValues.total_amount eq 0 }\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Membership Fee{/ts}\n                </th>\n              </tr>\n              {if !empty($formValues.contributionType_name)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Financial Type{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$formValues.contributionType_name}\n                  </td>\n                </tr>\n              {/if}\n\n              {if !empty($lineItem)}\n                {foreach from=$lineItem item=value key=priceset}\n                  <tr>\n                    <td colspan=\"2\" {$valueStyle}>\n                      <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n                        <tr>\n                          <th>{ts}Item{/ts}</th>\n                          <th>{ts}Fee{/ts}</th>\n                          {if !empty($dataArray)}\n                            <th>{ts}SubTotal{/ts}</th>\n                            <th>{ts}Tax Rate{/ts}</th>\n                            <th>{ts}Tax Amount{/ts}</th>\n                            <th>{ts}Total{/ts}</th>\n                          {/if}\n                          <th>{ts}Membership Start Date{/ts}</th>\n                          <th>{ts}Membership End Date{/ts}</th>\n                        </tr>\n                        {foreach from=$value item=line}\n                          <tr>\n                            <td>\n                              {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}\n                                <div>{$line.description|truncate:30:\"...\"}</div>{/if}\n                            </td>\n                            <td>\n                              {$line.line_total|crmMoney}\n                            </td>\n                            {if !empty($dataArray)}\n                              <td>\n                                {$line.unit_price*$line.qty|crmMoney}\n                              </td>\n                              {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n                                <td>\n                                  {$line.tax_rate|string_format:\"%.2f\"}%\n                                </td>\n                                <td>\n                                  {$line.tax_amount|crmMoney}\n                                </td>\n                              {else}\n                                <td></td>\n                                <td></td>\n                              {/if}\n                              <td>\n                                {$line.line_total+$line.tax_amount|crmMoney}\n                              </td>\n                            {/if}\n                            <td>\n                              {$line.start_date}\n                            </td>\n                            <td>\n                              {$line.end_date}\n                            </td>\n                          </tr>\n                        {/foreach}\n                      </table>\n                    </td>\n                  </tr>\n                {/foreach}\n                {if !empty($dataArray)}\n                  {if isset($formValues.total_amount) and isset($totalTaxAmount)}\n                  <tr>\n                    <td {$labelStyle}>\n                      {ts}Amount Before Tax:{/ts}\n                    </td>\n                    <td {$valueStyle}>\n                      {$formValues.total_amount-$totalTaxAmount|crmMoney}\n                    </td>\n                  </tr>\n                  {/if}\n                  {foreach from=$dataArray item=value key=priceset}\n                    <tr>\n                      {if $priceset}\n                        <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n                        <td>&nbsp;{$value|crmMoney:$currency}</td>\n                      {elseif  $priceset == 0}\n                        <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n                        <td>&nbsp;{$value|crmMoney:$currency}</td>\n                      {/if}\n                    </tr>\n                  {/foreach}\n                {/if}\n              {/if}\n              {if isset($totalTaxAmount)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Total Tax Amount{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$totalTaxAmount|crmMoney:$currency}\n                  </td>\n                </tr>\n              {/if}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Amount{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$formValues.total_amount|crmMoney}\n                </td>\n              </tr>\n              {if !empty($receive_date)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Date Received{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$receive_date|truncate:10:\'\'|crmDate}\n                  </td>\n                </tr>\n              {/if}\n              {if !empty($formValues.paidBy)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Paid By{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$formValues.paidBy}\n                  </td>\n                </tr>\n                {if !empty($formValues.check_number)}\n                  <tr>\n                    <td {$labelStyle}>\n                      {ts}Check Number{/ts}\n                    </td>\n                    <td {$valueStyle}>\n                      {$formValues.check_number}\n                    </td>\n                  </tr>\n                {/if}\n              {/if}\n            {/if}\n          {/if}\n        </table>\n      </td>\n    </tr>\n\n    {if !empty($isPrimary)}\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n\n            {if !empty($billingName)}\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Billing Name and Address{/ts}\n                </th>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {$billingName}<br/>\n                  {$address}\n                </td>\n              </tr>\n            {/if}\n\n            {if !empty($credit_card_type)}\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Credit Card Information{/ts}\n                </th>\n              </tr>\n              <tr>\n                <td {$valueStyle}>\n                  {$credit_card_type}<br/>\n                  {$credit_card_number}\n                </td>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Expires{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n                </td>\n              </tr>\n            {/if}\n\n          </table>\n        </td>\n      </tr>\n    {/if}\n\n    {if !empty($customValues)}\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n            <tr>\n              <th {$headerStyle}>\n                {ts}Membership Options{/ts}\n              </th>\n            </tr>\n            {foreach from=$customValues item=value key=customName}\n              <tr>\n                <td {$labelStyle}>\n                  {$customName}\n                </td>\n                <td {$valueStyle}>\n                  {$value}\n                </td>\n              </tr>\n            {/foreach}\n          </table>\n        </td>\n      </tr>\n    {/if}\n\n  </table>\n\n</body>\n</html>\n',1,850,'membership_offline_receipt',1,0,0,NULL),
- (46,'Memberships - Signup and Renewal Receipts (off-line)','{if $receiptType EQ \'membership signup\'}\n{ts}Membership Confirmation and Receipt{/ts}\n{elseif $receiptType EQ \'membership renewal\'}\n{ts}Membership Renewal Confirmation and Receipt{/ts}\n{/if} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if !empty($formValues.receipt_text_signup)}\n{$formValues.receipt_text_signup}\n{elseif !empty($formValues.receipt_text_renewal)}\n{$formValues.receipt_text_renewal}\n{else}{ts}Thank you for this contribution.{/ts}{/if}\n\n{if empty($lineItem)}\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Type{/ts}: {$membership_name}\n{/if}\n{if empty($cancelled)}\n{if empty($lineItem)}\n{ts}Membership Start Date{/ts}: {$mem_start_date}\n{ts}Membership End Date{/ts}: {$mem_end_date}\n{/if}\n\n{if $formValues.total_amount OR $formValues.total_amount eq 0 }\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{if !empty($formValues.contributionType_name)}\n{ts}Financial Type{/ts}: {$formValues.contributionType_name}\n{/if}\n{if !empty($lineItem)}\n{foreach from=$lineItem item=value key=priceset}\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_total}{ts}Fee{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{/if}\n{capture assign=ts_start_date}{ts}Membership Start Date{/ts}{/capture}\n{capture assign=ts_end_date}{ts}Membership End Date{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_total|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"} {/if} {$ts_start_date|string_format:\"%20s\"} {$ts_end_date|string_format:\"%20s\"}\n--------------------------------------------------------------------------------------------------\n\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {/if} {$line.start_date|string_format:\"%20s\"} {$line.end_date|string_format:\"%20s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"} %: {$value|crmMoney:$currency}\n{elseif  $priceset == 0}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n--------------------------------------------------------------------------------------------------\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Amount{/ts}: {$formValues.total_amount|crmMoney}\n{if !empty($receive_date)}\n{ts}Date Received{/ts}: {$receive_date|truncate:10:\'\'|crmDate}\n{/if}\n{if !empty($formValues.paidBy)}\n{ts}Paid By{/ts}: {$formValues.paidBy}\n{if !empty($formValues.check_number)}\n{ts}Check Number{/ts}: {$formValues.check_number}\n{/if}\n{/if}\n{/if}\n{/if}\n\n{if !empty($isPrimary) }\n{if !empty($billingName)}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n\n{if !empty($customValues)}\n===========================================================\n{ts}Membership Options{/ts}\n\n===========================================================\n{foreach from=$customValues item=value key=customName}\n {$customName} : {$value}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n        \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>\n  <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\"\n         style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n    <!-- BEGIN HEADER -->\n    <!-- You can add table row(s) here with logo or other header elements -->\n    <!-- END HEADER -->\n\n    <!-- BEGIN CONTENT -->\n\n    <tr>\n      <td>\n        {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n        {if !empty($formValues.receipt_text_signup)}\n          <p>{$formValues.receipt_text_signup|htmlize}</p>\n        {elseif !empty($formValues.receipt_text_renewal)}\n          <p>{$formValues.receipt_text_renewal|htmlize}</p>\n        {else}\n          <p>{ts}Thank you for this contribution.{/ts}</p>\n        {/if}\n      </td>\n    </tr>\n    <tr>\n      <td>\n        <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n          {if empty($lineItem)}\n            <tr>\n              <th {$headerStyle}>\n                {ts}Membership Information{/ts}\n              </th>\n            </tr>\n            <tr>\n              <td {$labelStyle}>\n                {ts}Membership Type{/ts}\n              </td>\n              <td {$valueStyle}>\n                {$membership_name}\n              </td>\n            </tr>\n          {/if}\n          {if empty($cancelled)}\n            {if empty($lineItem)}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Membership Start Date{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$mem_start_date}\n                </td>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Membership End Date{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$mem_end_date}\n                </td>\n              </tr>\n            {/if}\n            {if $formValues.total_amount OR $formValues.total_amount eq 0 }\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Membership Fee{/ts}\n                </th>\n              </tr>\n              {if !empty($formValues.contributionType_name)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Financial Type{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$formValues.contributionType_name}\n                  </td>\n                </tr>\n              {/if}\n\n              {if !empty($lineItem)}\n                {foreach from=$lineItem item=value key=priceset}\n                  <tr>\n                    <td colspan=\"2\" {$valueStyle}>\n                      <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n                        <tr>\n                          <th>{ts}Item{/ts}</th>\n                          <th>{ts}Fee{/ts}</th>\n                          {if !empty($dataArray)}\n                            <th>{ts}SubTotal{/ts}</th>\n                            <th>{ts}Tax Rate{/ts}</th>\n                            <th>{ts}Tax Amount{/ts}</th>\n                            <th>{ts}Total{/ts}</th>\n                          {/if}\n                          <th>{ts}Membership Start Date{/ts}</th>\n                          <th>{ts}Membership End Date{/ts}</th>\n                        </tr>\n                        {foreach from=$value item=line}\n                          <tr>\n                            <td>\n                              {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}\n                                <div>{$line.description|truncate:30:\"...\"}</div>{/if}\n                            </td>\n                            <td>\n                              {$line.line_total|crmMoney}\n                            </td>\n                            {if !empty($dataArray)}\n                              <td>\n                                {$line.unit_price*$line.qty|crmMoney}\n                              </td>\n                              {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n                                <td>\n                                  {$line.tax_rate|string_format:\"%.2f\"}%\n                                </td>\n                                <td>\n                                  {$line.tax_amount|crmMoney}\n                                </td>\n                              {else}\n                                <td></td>\n                                <td></td>\n                              {/if}\n                              <td>\n                                {$line.line_total+$line.tax_amount|crmMoney}\n                              </td>\n                            {/if}\n                            <td>\n                              {$line.start_date}\n                            </td>\n                            <td>\n                              {$line.end_date}\n                            </td>\n                          </tr>\n                        {/foreach}\n                      </table>\n                    </td>\n                  </tr>\n                {/foreach}\n                {if !empty($dataArray)}\n                  {if isset($formValues.total_amount) and isset($totalTaxAmount)}\n                  <tr>\n                    <td {$labelStyle}>\n                      {ts}Amount Before Tax:{/ts}\n                    </td>\n                    <td {$valueStyle}>\n                      {$formValues.total_amount-$totalTaxAmount|crmMoney}\n                    </td>\n                  </tr>\n                  {/if}\n                  {foreach from=$dataArray item=value key=priceset}\n                    <tr>\n                      {if $priceset}\n                        <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n                        <td>&nbsp;{$value|crmMoney:$currency}</td>\n                      {elseif  $priceset == 0}\n                        <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n                        <td>&nbsp;{$value|crmMoney:$currency}</td>\n                      {/if}\n                    </tr>\n                  {/foreach}\n                {/if}\n              {/if}\n              {if isset($totalTaxAmount)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Total Tax Amount{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$totalTaxAmount|crmMoney:$currency}\n                  </td>\n                </tr>\n              {/if}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Amount{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$formValues.total_amount|crmMoney}\n                </td>\n              </tr>\n              {if !empty($receive_date)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Date Received{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$receive_date|truncate:10:\'\'|crmDate}\n                  </td>\n                </tr>\n              {/if}\n              {if !empty($formValues.paidBy)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Paid By{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$formValues.paidBy}\n                  </td>\n                </tr>\n                {if !empty($formValues.check_number)}\n                  <tr>\n                    <td {$labelStyle}>\n                      {ts}Check Number{/ts}\n                    </td>\n                    <td {$valueStyle}>\n                      {$formValues.check_number}\n                    </td>\n                  </tr>\n                {/if}\n              {/if}\n            {/if}\n          {/if}\n        </table>\n      </td>\n    </tr>\n\n    {if !empty($isPrimary)}\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n\n            {if !empty($billingName)}\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Billing Name and Address{/ts}\n                </th>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {$billingName}<br/>\n                  {$address}\n                </td>\n              </tr>\n            {/if}\n\n            {if !empty($credit_card_type)}\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Credit Card Information{/ts}\n                </th>\n              </tr>\n              <tr>\n                <td {$valueStyle}>\n                  {$credit_card_type}<br/>\n                  {$credit_card_number}\n                </td>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Expires{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n                </td>\n              </tr>\n            {/if}\n\n          </table>\n        </td>\n      </tr>\n    {/if}\n\n    {if !empty($customValues)}\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n            <tr>\n              <th {$headerStyle}>\n                {ts}Membership Options{/ts}\n              </th>\n            </tr>\n            {foreach from=$customValues item=value key=customName}\n              <tr>\n                <td {$labelStyle}>\n                  {$customName}\n                </td>\n                <td {$valueStyle}>\n                  {$value}\n                </td>\n              </tr>\n            {/foreach}\n          </table>\n        </td>\n      </tr>\n    {/if}\n\n  </table>\n\n</body>\n</html>\n',1,850,'membership_offline_receipt',0,1,0,NULL),
- (47,'Memberships - Receipt (on-line)','{if $is_pay_later}{ts}Invoice{/ts}{else}{ts}Receipt{/ts}{/if} - {$title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($receipt_text)}\n{$receipt_text}\n{/if}\n{if $is_pay_later}\n\n===========================================================\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n===========================================================\n{/if}\n\n{if $membership_assign && !$useForMember}\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Type{/ts}: {$membership_name}\n{if $mem_start_date}{ts}Membership Start Date{/ts}: {$mem_start_date|crmDate}\n{/if}\n{if $mem_end_date}{ts}Membership End Date{/ts}: {$mem_end_date|crmDate}\n{/if}\n\n{/if}\n{if $amount}\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{if !$useForMember && isset($membership_amount) && !empty($is_quick_config)}\n{ts 1=$membership_name}%1 Membership{/ts}: {$membership_amount|crmMoney}\n{if $amount && !$is_separate_payment }\n{ts}Contribution Amount{/ts}: {$amount|crmMoney}\n-------------------------------------------\n{ts}Total{/ts}: {$amount+$membership_amount|crmMoney}\n{/if}\n{elseif !$useForMember && !empty($lineItem) and !empty($priceSetID) & empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{$line.description|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney|string_format:\"%10s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n\n{ts}Total Amount{/ts}: {$amount|crmMoney}\n{else}\n{if $useForMember && $lineItem && empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_total}{ts}Fee{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{/if}\n{capture assign=ts_start_date}{ts}Membership Start Date{/ts}{/capture}\n{capture assign=ts_end_date}{ts}Membership End Date{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_total|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"} {/if} {$ts_start_date|string_format:\"%20s\"} {$ts_end_date|string_format:\"%20s\"}\n--------------------------------------------------------------------------------------------------\n\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {/if} {$line.start_date|string_format:\"%20s\"} {$line.end_date|string_format:\"%20s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n--------------------------------------------------------------------------------------------------\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Amount{/ts}: {$amount|crmMoney} {if isset($amount_level) } - {$amount_level} {/if}\n{/if}\n{elseif isset($membership_amount)}\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{ts 1=$membership_name}%1 Membership{/ts}: {$membership_amount|crmMoney}\n{/if}\n\n{if !empty($receive_date)}\n\n{ts}Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($is_monetary) and !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n\n{/if}\n{if !empty($membership_trx_id)}\n{ts}Membership Transaction #{/ts}: {$membership_trx_id}\n\n{/if}\n{if !empty($is_recur)}\n{ts}This membership will be renewed automatically.{/ts}\n{if $cancelSubscriptionUrl}\n\n{ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by visiting this web page: %1.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n{/if}\n{/if}\n\n{if $honor_block_is_active }\n===========================================================\n{$soft_credit_type}\n===========================================================\n{foreach from=$honoreeProfile item=value key=label}\n{$label}: {$value}\n{/foreach}\n\n{/if}\n{if !empty($pcpBlock)}\n===========================================================\n{ts}Personal Campaign Page{/ts}\n\n===========================================================\n{ts}Display In Honor Roll{/ts}: {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n\n{if $pcp_roll_nickname}{ts}Nickname{/ts}: {$pcp_roll_nickname}{/if}\n\n{if $pcp_personal_note}{ts}Personal Note{/ts}: {$pcp_personal_note}{/if}\n\n{/if}\n{if !empty($onBehalfProfile)}\n===========================================================\n{ts}On Behalf Of{/ts}\n\n===========================================================\n{foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n{$onBehalfName}: {$onBehalfValue}\n{/foreach}\n{/if}\n\n{if !empty($billingName)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n{elseif !empty($email)}\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{$email}\n{/if} {* End billingName or email *}\n{if !empty($credit_card_type)}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n\n{if !empty($selectPremium)}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$product_name}\n{if $option}\n{ts}Option{/ts}: {$option}\n{/if}\n{if $sku}\n{ts}SKU{/ts}: {$sku}\n{/if}\n{if $start_date}\n{ts}Start Date{/ts}: {$start_date|crmDate}\n{/if}\n{if $end_date}\n{ts}End Date{/ts}: {$end_date|crmDate}\n{/if}\n{if !empty($contact_email) OR !empty($contact_phone)}\n\n{ts}For information about this premium, contact:{/ts}\n\n{if !empty($contact_email)}\n  {$contact_email}\n{/if}\n{if !empty($contact_phone)}\n  {$contact_phone}\n{/if}\n{/if}\n{if !empty($is_deductible) AND !empty($price)}\n\n{ts 1=$price|crmMoney}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}{/if}\n{/if}\n\n{if !empty($customPre)}\n===========================================================\n{$customPre_grouptitle}\n\n===========================================================\n{foreach from=$customPre item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n\n\n{if !empty($customPost)}\n===========================================================\n{$customPost_grouptitle}\n\n===========================================================\n{foreach from=$customPost item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($receipt_text)}\n     <p>{$receipt_text|htmlize}</p>\n    {/if}\n\n    {if $is_pay_later}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  </table>\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n     {if $membership_assign && !$useForMember}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Type{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_name}\n       </td>\n      </tr>\n      {if $mem_start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$mem_start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $mem_end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$mem_end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n\n     {if $amount}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Fee{/ts}\n       </th>\n      </tr>\n\n      {if !$useForMember and isset($membership_amount) and !empty($is_quick_config)}\n\n       <tr>\n        <td {$labelStyle}>\n         {ts 1=$membership_name}%1 Membership{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$membership_amount|crmMoney}\n        </td>\n       </tr>\n       {if $amount && !$is_separate_payment }\n         <tr>\n          <td {$labelStyle}>\n           {ts}Contribution Amount{/ts}\n          </td>\n          <td {$valueStyle}>\n           {$amount|crmMoney}\n          </td>\n         </tr>\n         <tr>\n           <td {$labelStyle}>\n           {ts}Total{/ts}\n            </td>\n            <td {$valueStyle}>\n            {$amount+$membership_amount|crmMoney}\n           </td>\n         </tr>\n       {/if}\n\n      {elseif empty($useForMember) && !empty($lineItem) and $priceSetID and empty($is_quick_config)}\n\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Qty{/ts}</th>\n            <th>{ts}Each{/ts}</th>\n            <th>{ts}Total{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n              {$line.description|truncate:30:\"...\"}\n             </td>\n             <td>\n              {$line.qty}\n             </td>\n             <td>\n              {$line.unit_price|crmMoney}\n             </td>\n             <td>\n              {$line.line_total|crmMoney}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney}\n        </td>\n       </tr>\n\n      {else}\n       {if $useForMember && $lineItem and empty($is_quick_config)}\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Fee{/ts}</th>\n            {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n              <th>{ts}Total{/ts}</th>\n            {/if}\n      <th>{ts}Membership Start Date{/ts}</th>\n      <th>{ts}Membership End Date{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n             {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n             </td>\n             <td>\n              {$line.line_total|crmMoney}\n             </td>\n             {if !empty($dataArray)}\n              <td>\n               {$line.unit_price*$line.qty|crmMoney}\n              </td>\n              {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n               <td>\n                {$line.tax_rate|string_format:\"%.2f\"}%\n               </td>\n               <td>\n                {$line.tax_amount|crmMoney}\n               </td>\n              {else}\n               <td></td>\n               <td></td>\n              {/if}\n              <td>\n               {$line.line_total+$line.tax_amount|crmMoney}\n              </td>\n             {/if}\n             <td>\n              {$line.start_date}\n             </td>\n       <td>\n              {$line.end_date}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       {if !empty($dataArray)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Amount Before Tax:{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$amount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n         {if $priceset || $priceset == 0}\n           <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n         {else}\n           <td>&nbsp;{ts}NO{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n         {/if}\n         </tr>\n        {/foreach}\n       {/if}\n       {/if}\n       {if isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Total Tax Amount{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney} {if isset($amount_level)} - {$amount_level}{/if}\n        </td>\n       </tr>\n\n      {/if}\n\n\n     {elseif isset($membership_amount)}\n\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Fee{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts 1=$membership_name}%1 Membership{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_amount|crmMoney}\n       </td>\n      </tr>\n\n\n     {/if}\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($is_monetary) and !empty($trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($membership_trx_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_trx_id}\n       </td>\n      </tr>\n     {/if}\n     {if !empty($is_recur)}\n       <tr>\n        <td colspan=\"2\" {$labelStyle}>\n         {ts}This membership will be renewed automatically.{/ts}\n         {if $cancelSubscriptionUrl}\n           {ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n         {/if}\n        </td>\n       </tr>\n       {if $updateSubscriptionBillingUrl}\n         <tr>\n          <td colspan=\"2\" {$labelStyle}>\n           {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n         </tr>\n       {/if}\n     {/if}\n\n     {if $honor_block_is_active}\n      <tr>\n       <th {$headerStyle}>\n        {$soft_credit_type}\n       </th>\n      </tr>\n      {foreach from=$honoreeProfile item=value key=label}\n        <tr>\n         <td {$labelStyle}>\n          {$label}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($pcpBlock)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Personal Campaign Page{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Display In Honor Roll{/ts}\n       </td>\n       <td {$valueStyle}>\n        {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n       </td>\n      </tr>\n      {if $pcp_roll_nickname}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Nickname{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_roll_nickname}\n        </td>\n       </tr>\n      {/if}\n      {if $pcp_personal_note}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Personal Note{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_personal_note}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($onBehalfProfile)}\n      <tr>\n       <th {$headerStyle}>\n        {$onBehalfProfile_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n        <tr>\n         <td {$labelStyle}>\n          {$onBehalfName}\n         </td>\n         <td {$valueStyle}>\n          {$onBehalfValue}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($billingName)}\n       <tr>\n         <th {$headerStyle}>\n           {ts}Billing Name and Address{/ts}\n         </th>\n      </tr>\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}<br />\n          {$email}\n        </td>\n      </tr>\n    {elseif !empty($email)}\n      <tr>\n        <th {$headerStyle}>\n          {ts}Registered Email{/ts}\n        </th>\n      </tr>\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n          {$email}\n        </td>\n      </tr>\n    {/if}\n\n     {if !empty($credit_card_type)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($selectPremium)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$product_name}\n       </td>\n      </tr>\n      {if $option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$option}\n        </td>\n       </tr>\n      {/if}\n      {if $sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$sku}\n        </td>\n       </tr>\n      {/if}\n      {if $start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($contact_email) OR !empty($contact_phone)}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}For information about this premium, contact:{/ts}</p>\n         {if !empty($contact_email)}\n          <p>{$contact_email}</p>\n         {/if}\n         {if !empty($contact_phone)}\n          <p>{$contact_phone}</p>\n         {/if}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($is_deductible) AND !empty($price)}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <p>{ts 1=$price|crmMoney}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}</p>\n         </td>\n        </tr>\n      {/if}\n     {/if}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n  </table>\n\n</body>\n</html>\n',1,851,'membership_online_receipt',1,0,0,NULL),
- (48,'Memberships - Receipt (on-line)','{if $is_pay_later}{ts}Invoice{/ts}{else}{ts}Receipt{/ts}{/if} - {$title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($receipt_text)}\n{$receipt_text}\n{/if}\n{if $is_pay_later}\n\n===========================================================\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n===========================================================\n{/if}\n\n{if $membership_assign && !$useForMember}\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Type{/ts}: {$membership_name}\n{if $mem_start_date}{ts}Membership Start Date{/ts}: {$mem_start_date|crmDate}\n{/if}\n{if $mem_end_date}{ts}Membership End Date{/ts}: {$mem_end_date|crmDate}\n{/if}\n\n{/if}\n{if $amount}\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{if !$useForMember && isset($membership_amount) && !empty($is_quick_config)}\n{ts 1=$membership_name}%1 Membership{/ts}: {$membership_amount|crmMoney}\n{if $amount && !$is_separate_payment }\n{ts}Contribution Amount{/ts}: {$amount|crmMoney}\n-------------------------------------------\n{ts}Total{/ts}: {$amount+$membership_amount|crmMoney}\n{/if}\n{elseif !$useForMember && !empty($lineItem) and !empty($priceSetID) & empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{$line.description|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney|string_format:\"%10s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n\n{ts}Total Amount{/ts}: {$amount|crmMoney}\n{else}\n{if $useForMember && $lineItem && empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_total}{ts}Fee{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{/if}\n{capture assign=ts_start_date}{ts}Membership Start Date{/ts}{/capture}\n{capture assign=ts_end_date}{ts}Membership End Date{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_total|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"} {/if} {$ts_start_date|string_format:\"%20s\"} {$ts_end_date|string_format:\"%20s\"}\n--------------------------------------------------------------------------------------------------\n\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {/if} {$line.start_date|string_format:\"%20s\"} {$line.end_date|string_format:\"%20s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n--------------------------------------------------------------------------------------------------\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Amount{/ts}: {$amount|crmMoney} {if isset($amount_level) } - {$amount_level} {/if}\n{/if}\n{elseif isset($membership_amount)}\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{ts 1=$membership_name}%1 Membership{/ts}: {$membership_amount|crmMoney}\n{/if}\n\n{if !empty($receive_date)}\n\n{ts}Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($is_monetary) and !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n\n{/if}\n{if !empty($membership_trx_id)}\n{ts}Membership Transaction #{/ts}: {$membership_trx_id}\n\n{/if}\n{if !empty($is_recur)}\n{ts}This membership will be renewed automatically.{/ts}\n{if $cancelSubscriptionUrl}\n\n{ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by visiting this web page: %1.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n{/if}\n{/if}\n\n{if $honor_block_is_active }\n===========================================================\n{$soft_credit_type}\n===========================================================\n{foreach from=$honoreeProfile item=value key=label}\n{$label}: {$value}\n{/foreach}\n\n{/if}\n{if !empty($pcpBlock)}\n===========================================================\n{ts}Personal Campaign Page{/ts}\n\n===========================================================\n{ts}Display In Honor Roll{/ts}: {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n\n{if $pcp_roll_nickname}{ts}Nickname{/ts}: {$pcp_roll_nickname}{/if}\n\n{if $pcp_personal_note}{ts}Personal Note{/ts}: {$pcp_personal_note}{/if}\n\n{/if}\n{if !empty($onBehalfProfile)}\n===========================================================\n{ts}On Behalf Of{/ts}\n\n===========================================================\n{foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n{$onBehalfName}: {$onBehalfValue}\n{/foreach}\n{/if}\n\n{if !empty($billingName)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n{elseif !empty($email)}\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{$email}\n{/if} {* End billingName or email *}\n{if !empty($credit_card_type)}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n\n{if !empty($selectPremium)}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$product_name}\n{if $option}\n{ts}Option{/ts}: {$option}\n{/if}\n{if $sku}\n{ts}SKU{/ts}: {$sku}\n{/if}\n{if $start_date}\n{ts}Start Date{/ts}: {$start_date|crmDate}\n{/if}\n{if $end_date}\n{ts}End Date{/ts}: {$end_date|crmDate}\n{/if}\n{if !empty($contact_email) OR !empty($contact_phone)}\n\n{ts}For information about this premium, contact:{/ts}\n\n{if !empty($contact_email)}\n  {$contact_email}\n{/if}\n{if !empty($contact_phone)}\n  {$contact_phone}\n{/if}\n{/if}\n{if !empty($is_deductible) AND !empty($price)}\n\n{ts 1=$price|crmMoney}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}{/if}\n{/if}\n\n{if !empty($customPre)}\n===========================================================\n{$customPre_grouptitle}\n\n===========================================================\n{foreach from=$customPre item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n\n\n{if !empty($customPost)}\n===========================================================\n{$customPost_grouptitle}\n\n===========================================================\n{foreach from=$customPost item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($receipt_text)}\n     <p>{$receipt_text|htmlize}</p>\n    {/if}\n\n    {if $is_pay_later}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  </table>\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n     {if $membership_assign && !$useForMember}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Type{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_name}\n       </td>\n      </tr>\n      {if $mem_start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$mem_start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $mem_end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$mem_end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n\n     {if $amount}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Fee{/ts}\n       </th>\n      </tr>\n\n      {if !$useForMember and isset($membership_amount) and !empty($is_quick_config)}\n\n       <tr>\n        <td {$labelStyle}>\n         {ts 1=$membership_name}%1 Membership{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$membership_amount|crmMoney}\n        </td>\n       </tr>\n       {if $amount && !$is_separate_payment }\n         <tr>\n          <td {$labelStyle}>\n           {ts}Contribution Amount{/ts}\n          </td>\n          <td {$valueStyle}>\n           {$amount|crmMoney}\n          </td>\n         </tr>\n         <tr>\n           <td {$labelStyle}>\n           {ts}Total{/ts}\n            </td>\n            <td {$valueStyle}>\n            {$amount+$membership_amount|crmMoney}\n           </td>\n         </tr>\n       {/if}\n\n      {elseif empty($useForMember) && !empty($lineItem) and $priceSetID and empty($is_quick_config)}\n\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Qty{/ts}</th>\n            <th>{ts}Each{/ts}</th>\n            <th>{ts}Total{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n              {$line.description|truncate:30:\"...\"}\n             </td>\n             <td>\n              {$line.qty}\n             </td>\n             <td>\n              {$line.unit_price|crmMoney}\n             </td>\n             <td>\n              {$line.line_total|crmMoney}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney}\n        </td>\n       </tr>\n\n      {else}\n       {if $useForMember && $lineItem and empty($is_quick_config)}\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Fee{/ts}</th>\n            {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n              <th>{ts}Total{/ts}</th>\n            {/if}\n      <th>{ts}Membership Start Date{/ts}</th>\n      <th>{ts}Membership End Date{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n             {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n             </td>\n             <td>\n              {$line.line_total|crmMoney}\n             </td>\n             {if !empty($dataArray)}\n              <td>\n               {$line.unit_price*$line.qty|crmMoney}\n              </td>\n              {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n               <td>\n                {$line.tax_rate|string_format:\"%.2f\"}%\n               </td>\n               <td>\n                {$line.tax_amount|crmMoney}\n               </td>\n              {else}\n               <td></td>\n               <td></td>\n              {/if}\n              <td>\n               {$line.line_total+$line.tax_amount|crmMoney}\n              </td>\n             {/if}\n             <td>\n              {$line.start_date}\n             </td>\n       <td>\n              {$line.end_date}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       {if !empty($dataArray)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Amount Before Tax:{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$amount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n         {if $priceset || $priceset == 0}\n           <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n         {else}\n           <td>&nbsp;{ts}NO{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n         {/if}\n         </tr>\n        {/foreach}\n       {/if}\n       {/if}\n       {if isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Total Tax Amount{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney} {if isset($amount_level)} - {$amount_level}{/if}\n        </td>\n       </tr>\n\n      {/if}\n\n\n     {elseif isset($membership_amount)}\n\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Fee{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts 1=$membership_name}%1 Membership{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_amount|crmMoney}\n       </td>\n      </tr>\n\n\n     {/if}\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($is_monetary) and !empty($trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($membership_trx_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_trx_id}\n       </td>\n      </tr>\n     {/if}\n     {if !empty($is_recur)}\n       <tr>\n        <td colspan=\"2\" {$labelStyle}>\n         {ts}This membership will be renewed automatically.{/ts}\n         {if $cancelSubscriptionUrl}\n           {ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n         {/if}\n        </td>\n       </tr>\n       {if $updateSubscriptionBillingUrl}\n         <tr>\n          <td colspan=\"2\" {$labelStyle}>\n           {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n         </tr>\n       {/if}\n     {/if}\n\n     {if $honor_block_is_active}\n      <tr>\n       <th {$headerStyle}>\n        {$soft_credit_type}\n       </th>\n      </tr>\n      {foreach from=$honoreeProfile item=value key=label}\n        <tr>\n         <td {$labelStyle}>\n          {$label}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($pcpBlock)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Personal Campaign Page{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Display In Honor Roll{/ts}\n       </td>\n       <td {$valueStyle}>\n        {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n       </td>\n      </tr>\n      {if $pcp_roll_nickname}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Nickname{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_roll_nickname}\n        </td>\n       </tr>\n      {/if}\n      {if $pcp_personal_note}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Personal Note{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_personal_note}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($onBehalfProfile)}\n      <tr>\n       <th {$headerStyle}>\n        {$onBehalfProfile_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n        <tr>\n         <td {$labelStyle}>\n          {$onBehalfName}\n         </td>\n         <td {$valueStyle}>\n          {$onBehalfValue}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($billingName)}\n       <tr>\n         <th {$headerStyle}>\n           {ts}Billing Name and Address{/ts}\n         </th>\n      </tr>\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}<br />\n          {$email}\n        </td>\n      </tr>\n    {elseif !empty($email)}\n      <tr>\n        <th {$headerStyle}>\n          {ts}Registered Email{/ts}\n        </th>\n      </tr>\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n          {$email}\n        </td>\n      </tr>\n    {/if}\n\n     {if !empty($credit_card_type)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($selectPremium)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$product_name}\n       </td>\n      </tr>\n      {if $option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$option}\n        </td>\n       </tr>\n      {/if}\n      {if $sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$sku}\n        </td>\n       </tr>\n      {/if}\n      {if $start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($contact_email) OR !empty($contact_phone)}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}For information about this premium, contact:{/ts}</p>\n         {if !empty($contact_email)}\n          <p>{$contact_email}</p>\n         {/if}\n         {if !empty($contact_phone)}\n          <p>{$contact_phone}</p>\n         {/if}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($is_deductible) AND !empty($price)}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <p>{ts 1=$price|crmMoney}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}</p>\n         </td>\n        </tr>\n      {/if}\n     {/if}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n  </table>\n\n</body>\n</html>\n',1,851,'membership_online_receipt',0,1,0,NULL),
- (49,'Memberships - Auto-renew Cancellation Notification','{ts}Autorenew Membership Cancellation Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$membershipType}The automatic renewal of your %1 membership has been cancelled as requested. This does not affect the status of your membership - you will receive a separate notification when your membership is up for renewal.{/ts}\n\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Status{/ts}: {$membership_status}\n{if $mem_start_date}{ts}Membership Start Date{/ts}: {$mem_start_date|crmDate}\n{/if}\n{if $mem_end_date}{ts}Membership End Date{/ts}: {$mem_end_date|crmDate}\n{/if}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$membershipType}The automatic renewal of your %1 membership has been cancelled as requested. This does not affect the status of your membership - you will receive a separate notification when your membership is up for renewal.{/ts}</p>\n\n   </td>\n  </tr>\n </table>\n <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Status{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_status}\n       </td>\n      </tr>\n      {if $mem_start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$mem_start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $mem_end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$mem_end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n\n </table>\n\n</body>\n</html>\n',1,852,'membership_autorenew_cancelled',1,0,0,NULL),
- (50,'Memberships - Auto-renew Cancellation Notification','{ts}Autorenew Membership Cancellation Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$membershipType}The automatic renewal of your %1 membership has been cancelled as requested. This does not affect the status of your membership - you will receive a separate notification when your membership is up for renewal.{/ts}\n\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Status{/ts}: {$membership_status}\n{if $mem_start_date}{ts}Membership Start Date{/ts}: {$mem_start_date|crmDate}\n{/if}\n{if $mem_end_date}{ts}Membership End Date{/ts}: {$mem_end_date|crmDate}\n{/if}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$membershipType}The automatic renewal of your %1 membership has been cancelled as requested. This does not affect the status of your membership - you will receive a separate notification when your membership is up for renewal.{/ts}</p>\n\n   </td>\n  </tr>\n </table>\n <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Status{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_status}\n       </td>\n      </tr>\n      {if $mem_start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$mem_start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $mem_end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$mem_end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n\n </table>\n\n</body>\n</html>\n',1,852,'membership_autorenew_cancelled',0,1,0,NULL),
- (51,'Memberships - Auto-renew Billing Updates','{ts}Membership Autorenewal Billing Updates{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$membershipType}Billing details for your automatically renewed %1 membership have been updated.{/ts}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$membershipType}Billing details for your automatically renewed %1 membership have been updated.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n   <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n        <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n         {ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n        </td>\n      </tr>\n\n  </table>\n\n</body>\n</html>\n',1,853,'membership_autorenew_billing',1,0,0,NULL),
- (52,'Memberships - Auto-renew Billing Updates','{ts}Membership Autorenewal Billing Updates{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$membershipType}Billing details for your automatically renewed %1 membership have been updated.{/ts}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$membershipType}Billing details for your automatically renewed %1 membership have been updated.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n   <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n        <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n         {ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n        </td>\n      </tr>\n\n  </table>\n\n</body>\n</html>\n',1,853,'membership_autorenew_billing',0,1,0,NULL),
- (53,'Test-drive - Receipt Header','[TEST]\n','***********************************************************\n\n{ts}Test-drive Email / Receipt{/ts}\n\n{ts}This is a test-drive email. No live financial transaction has occurred.{/ts}\n\n***********************************************************\n',' <table id=\"crm-event_receipt_test\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n  <tr>\n   <td>\n    <p>{ts}Test-drive Email / Receipt{/ts}</p>\n    <p>{ts}This is a test-drive email. No live financial transaction has occurred.{/ts}</p>\n   </td>\n  </tr>\n </table>\n',1,854,'test_preview',1,0,0,NULL),
- (54,'Test-drive - Receipt Header','[TEST]\n','***********************************************************\n\n{ts}Test-drive Email / Receipt{/ts}\n\n{ts}This is a test-drive email. No live financial transaction has occurred.{/ts}\n\n***********************************************************\n',' <table id=\"crm-event_receipt_test\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n  <tr>\n   <td>\n    <p>{ts}Test-drive Email / Receipt{/ts}</p>\n    <p>{ts}This is a test-drive email. No live financial transaction has occurred.{/ts}</p>\n   </td>\n  </tr>\n </table>\n',1,854,'test_preview',0,1,0,NULL),
- (55,'Pledges - Acknowledgement','{ts}Thank you for your Pledge{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Thank you for your generous pledge.{/ts}\n\n===========================================================\n{ts}Pledge Information{/ts}\n\n===========================================================\n{ts}Pledge Received{/ts}: {$create_date|truncate:10:\'\'|crmDate}\n{ts}Total Pledge Amount{/ts}: {$total_pledge_amount|crmMoney:$currency}\n\n===========================================================\n{ts}Payment Schedule{/ts}\n\n===========================================================\n{ts 1=$scheduled_amount|crmMoney:$currency 2=$frequency_interval 3=$frequency_unit 4=$installments}%1 every %2 %3 for %4 installments.{/ts}\n\n{if $frequency_day}\n\n{ts 1=$frequency_day 2=$frequency_unit}Payments are due on day %1 of the %2.{/ts}\n{/if}\n\n{if $payments}\n{assign var=\"count\" value=\"1\"}\n{foreach from=$payments item=payment}\n\n{ts 1=$count}Payment %1{/ts}: {$payment.amount|crmMoney:$currency} {if $payment.status eq 1}{ts}paid{/ts} {$payment.receive_date|truncate:10:\'\'|crmDate}{else}{ts}due{/ts} {$payment.due_date|truncate:10:\'\'|crmDate}{/if}\n{assign var=\"count\" value=`$count+1`}\n{/foreach}\n{/if}\n\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}\n\n{if $customGroup}\n{foreach from=$customGroup item=value key=customName}\n===========================================================\n{$customName}\n===========================================================\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Thank you for your generous pledge.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Pledge Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Pledge Received{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$create_date|truncate:10:\'\'|crmDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Pledge Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$total_pledge_amount|crmMoney:$currency}\n      </td>\n     </tr>\n     <tr>\n      <th {$headerStyle}>\n       {ts}Payment Schedule{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       <p>{ts 1=$scheduled_amount|crmMoney:$currency 2=$frequency_interval 3=$frequency_unit 4=$installments}%1 every %2 %3 for %4 installments.{/ts}</p>\n\n       {if $frequency_day}\n        <p>{ts 1=$frequency_day 2=$frequency_unit}Payments are due on day %1 of the %2.{/ts}</p>\n       {/if}\n      </td>\n     </tr>\n\n     {if $payments}\n      {assign var=\"count\" value=\"1\"}\n      {foreach from=$payments item=payment}\n       <tr>\n        <td {$labelStyle}>\n         {ts 1=$count}Payment %1{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$payment.amount|crmMoney:$currency} {if $payment.status eq 1}{ts}paid{/ts} {$payment.receive_date|truncate:10:\'\'|crmDate}{else}{ts}due{/ts} {$payment.due_date|truncate:10:\'\'|crmDate}{/if}\n        </td>\n       </tr>\n       {assign var=\"count\" value=`$count+1`}\n      {/foreach}\n     {/if}\n\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}</p>\n      </td>\n     </tr>\n\n     {if $customGroup}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,855,'pledge_acknowledge',1,0,0,NULL),
- (56,'Pledges - Acknowledgement','{ts}Thank you for your Pledge{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Thank you for your generous pledge.{/ts}\n\n===========================================================\n{ts}Pledge Information{/ts}\n\n===========================================================\n{ts}Pledge Received{/ts}: {$create_date|truncate:10:\'\'|crmDate}\n{ts}Total Pledge Amount{/ts}: {$total_pledge_amount|crmMoney:$currency}\n\n===========================================================\n{ts}Payment Schedule{/ts}\n\n===========================================================\n{ts 1=$scheduled_amount|crmMoney:$currency 2=$frequency_interval 3=$frequency_unit 4=$installments}%1 every %2 %3 for %4 installments.{/ts}\n\n{if $frequency_day}\n\n{ts 1=$frequency_day 2=$frequency_unit}Payments are due on day %1 of the %2.{/ts}\n{/if}\n\n{if $payments}\n{assign var=\"count\" value=\"1\"}\n{foreach from=$payments item=payment}\n\n{ts 1=$count}Payment %1{/ts}: {$payment.amount|crmMoney:$currency} {if $payment.status eq 1}{ts}paid{/ts} {$payment.receive_date|truncate:10:\'\'|crmDate}{else}{ts}due{/ts} {$payment.due_date|truncate:10:\'\'|crmDate}{/if}\n{assign var=\"count\" value=`$count+1`}\n{/foreach}\n{/if}\n\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}\n\n{if $customGroup}\n{foreach from=$customGroup item=value key=customName}\n===========================================================\n{$customName}\n===========================================================\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Thank you for your generous pledge.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Pledge Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Pledge Received{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$create_date|truncate:10:\'\'|crmDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Pledge Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$total_pledge_amount|crmMoney:$currency}\n      </td>\n     </tr>\n     <tr>\n      <th {$headerStyle}>\n       {ts}Payment Schedule{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       <p>{ts 1=$scheduled_amount|crmMoney:$currency 2=$frequency_interval 3=$frequency_unit 4=$installments}%1 every %2 %3 for %4 installments.{/ts}</p>\n\n       {if $frequency_day}\n        <p>{ts 1=$frequency_day 2=$frequency_unit}Payments are due on day %1 of the %2.{/ts}</p>\n       {/if}\n      </td>\n     </tr>\n\n     {if $payments}\n      {assign var=\"count\" value=\"1\"}\n      {foreach from=$payments item=payment}\n       <tr>\n        <td {$labelStyle}>\n         {ts 1=$count}Payment %1{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$payment.amount|crmMoney:$currency} {if $payment.status eq 1}{ts}paid{/ts} {$payment.receive_date|truncate:10:\'\'|crmDate}{else}{ts}due{/ts} {$payment.due_date|truncate:10:\'\'|crmDate}{/if}\n        </td>\n       </tr>\n       {assign var=\"count\" value=`$count+1`}\n      {/foreach}\n     {/if}\n\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}</p>\n      </td>\n     </tr>\n\n     {if $customGroup}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,855,'pledge_acknowledge',0,1,0,NULL),
- (57,'Pledges - Payment Reminder','{ts}Pledge Payment Reminder{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$next_payment|truncate:10:\'\'|crmDate}This is a reminder that the next payment on your pledge is due on %1.{/ts}\n\n===========================================================\n{ts}Payment Due{/ts}\n\n===========================================================\n{ts}Amount Due{/ts}: {$amount_due|crmMoney:$currency}\n{ts}Due Date{/ts}: {$scheduled_payment_date|truncate:10:\'\'|crmDate}\n\n{if $contribution_page_id}\n{capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contribution_page_id`&cid=`{contact.id}`&pledgeId=`$pledge_id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\nClick this link to go to a web page where you can make your payment online:\n{$contributionUrl}\n{else}\n{ts}Please mail your payment to{/ts}:\n{domain.address}\n{/if}\n\n===========================================================\n{ts}Pledge Information{/ts}\n\n===========================================================\n{ts}Pledge Received{/ts}: {$create_date|truncate:10:\'\'|crmDate}\n{ts}Total Pledge Amount{/ts}: {$amount|crmMoney:$currency}\n{ts}Total Paid{/ts}: {$amount_paid|crmMoney:$currency}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'} Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}\n\n\n{ts}Thank your for your generous support.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$next_payment|truncate:10:\'\'|crmDate}This is a reminder that the next payment on your pledge is due on %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Payment Due{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Amount Due{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount_due|crmMoney:$currency}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    {if $contribution_page_id}\n     {capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contribution_page_id`&cid=`{contact.id}`&pledgeId=`$pledge_id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\n     <p><a href=\"{$contributionUrl}\">{ts}Go to a web page where you can make your payment online{/ts}</a></p>\n    {else}\n     <p>{ts}Please mail your payment to{/ts}: {domain.address}</p>\n    {/if}\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Pledge Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Pledge Received{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$create_date|truncate:10:\'\'|crmDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Pledge Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount|crmMoney:$currency}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Paid{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount_paid|crmMoney:$currency}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}</p>\n    <p>{ts}Thank your for your generous support.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,856,'pledge_reminder',1,0,0,NULL),
- (58,'Pledges - Payment Reminder','{ts}Pledge Payment Reminder{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$next_payment|truncate:10:\'\'|crmDate}This is a reminder that the next payment on your pledge is due on %1.{/ts}\n\n===========================================================\n{ts}Payment Due{/ts}\n\n===========================================================\n{ts}Amount Due{/ts}: {$amount_due|crmMoney:$currency}\n{ts}Due Date{/ts}: {$scheduled_payment_date|truncate:10:\'\'|crmDate}\n\n{if $contribution_page_id}\n{capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contribution_page_id`&cid=`{contact.id}`&pledgeId=`$pledge_id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\nClick this link to go to a web page where you can make your payment online:\n{$contributionUrl}\n{else}\n{ts}Please mail your payment to{/ts}:\n{domain.address}\n{/if}\n\n===========================================================\n{ts}Pledge Information{/ts}\n\n===========================================================\n{ts}Pledge Received{/ts}: {$create_date|truncate:10:\'\'|crmDate}\n{ts}Total Pledge Amount{/ts}: {$amount|crmMoney:$currency}\n{ts}Total Paid{/ts}: {$amount_paid|crmMoney:$currency}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'} Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}\n\n\n{ts}Thank your for your generous support.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$next_payment|truncate:10:\'\'|crmDate}This is a reminder that the next payment on your pledge is due on %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Payment Due{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Amount Due{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount_due|crmMoney:$currency}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    {if $contribution_page_id}\n     {capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contribution_page_id`&cid=`{contact.id}`&pledgeId=`$pledge_id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\n     <p><a href=\"{$contributionUrl}\">{ts}Go to a web page where you can make your payment online{/ts}</a></p>\n    {else}\n     <p>{ts}Please mail your payment to{/ts}: {domain.address}</p>\n    {/if}\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Pledge Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Pledge Received{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$create_date|truncate:10:\'\'|crmDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Pledge Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount|crmMoney:$currency}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Paid{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount_paid|crmMoney:$currency}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}</p>\n    <p>{ts}Thank your for your generous support.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,856,'pledge_reminder',0,1,0,NULL),
- (59,'Profiles - Admin Notification','{$grouptitle} {ts 1=$displayName}Submitted by %1{/ts} - {contact.display_name}\n','{ts}Submitted For:{/ts} {$displayName}\n{ts}Date:{/ts} {$currentDate}\n{ts}Contact Summary:{/ts} {$contactLink}\n\n===========================================================\n{$grouptitle}\n\n===========================================================\n{foreach from=$values item=value key=valueName}\n{$valueName}: {$value}\n{/foreach}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <td {$labelStyle}>\n       {ts}Submitted For{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$displayName}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Date{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$currentDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Contact Summary{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$contactLink}\n      </td>\n     </tr>\n\n     <tr>\n      <th {$headerStyle}>\n       {$grouptitle}\n      </th>\n     </tr>\n\n     {foreach from=$values item=value key=valueName}\n      <tr>\n       <td {$labelStyle}>\n        {$valueName}\n       </td>\n       <td {$valueStyle}>\n        {$value}\n       </td>\n      </tr>\n     {/foreach}\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,857,'uf_notify',1,0,0,NULL),
- (60,'Profiles - Admin Notification','{$grouptitle} {ts 1=$displayName}Submitted by %1{/ts} - {contact.display_name}\n','{ts}Submitted For:{/ts} {$displayName}\n{ts}Date:{/ts} {$currentDate}\n{ts}Contact Summary:{/ts} {$contactLink}\n\n===========================================================\n{$grouptitle}\n\n===========================================================\n{foreach from=$values item=value key=valueName}\n{$valueName}: {$value}\n{/foreach}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <td {$labelStyle}>\n       {ts}Submitted For{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$displayName}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Date{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$currentDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Contact Summary{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$contactLink}\n      </td>\n     </tr>\n\n     <tr>\n      <th {$headerStyle}>\n       {$grouptitle}\n      </th>\n     </tr>\n\n     {foreach from=$values item=value key=valueName}\n      <tr>\n       <td {$labelStyle}>\n        {$valueName}\n       </td>\n       <td {$valueStyle}>\n        {$value}\n       </td>\n      </tr>\n     {/foreach}\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,857,'uf_notify',0,1,0,NULL),
- (61,'Petition - signature added','Thank you for signing {$petition.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\nThank you for signing {$petition.title}.\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n<p>Thank you for signing {$petition.title}.</p>\n\n{include file=\"CRM/Campaign/Page/Petition/SocialNetwork.tpl\" petition_id=$survey_id noscript=true emailMode=true}\n',1,858,'petition_sign',1,0,0,NULL),
- (62,'Petition - signature added','Thank you for signing {$petition.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\nThank you for signing {$petition.title}.\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n<p>Thank you for signing {$petition.title}.</p>\n\n{include file=\"CRM/Campaign/Page/Petition/SocialNetwork.tpl\" petition_id=$survey_id noscript=true emailMode=true}\n',1,858,'petition_sign',0,1,0,NULL),
- (63,'Petition - need verification','Confirmation of signature needed for {$petition.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\nThank you for signing {$petition.title}.\n\nIn order to complete your signature, we must confirm your e-mail.\nPlease do so by visiting the following email confirmation web page:\n\n{$petition.confirmUrlPlainText}\n\nIf you did not sign this petition, please ignore this message.\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n<p>Thank you for signing {$petition.title}.</p>\n\n<p>In order to <b>complete your signature</b>, we must confirm your e-mail.\n<br />\nPlease do so by visiting the following web page by clicking\non the link below or pasting the link into your browser.\n<br /><br />\nEmail confirmation page: <a href=\"{$petition.confirmUrl}\">{$petition.confirmUrl}</a></p>\n\n<p>If you did not sign this petition, please ignore this message.</p>\n',1,859,'petition_confirmation_needed',1,0,0,NULL),
- (64,'Petition - need verification','Confirmation of signature needed for {$petition.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\nThank you for signing {$petition.title}.\n\nIn order to complete your signature, we must confirm your e-mail.\nPlease do so by visiting the following email confirmation web page:\n\n{$petition.confirmUrlPlainText}\n\nIf you did not sign this petition, please ignore this message.\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n<p>Thank you for signing {$petition.title}.</p>\n\n<p>In order to <b>complete your signature</b>, we must confirm your e-mail.\n<br />\nPlease do so by visiting the following web page by clicking\non the link below or pasting the link into your browser.\n<br /><br />\nEmail confirmation page: <a href=\"{$petition.confirmUrl}\">{$petition.confirmUrl}</a></p>\n\n<p>If you did not sign this petition, please ignore this message.</p>\n',1,859,'petition_confirmation_needed',0,1,0,NULL),
+ (1,'Cases - Send Copy of an Activity','{if !empty($idHash)}[case #{$idHash}]{/if} {$activitySubject}\n','===========================================================\n{ts}Activity Summary{/ts} - {$activityTypeName}\n===========================================================\n{if !empty($isCaseActivity)}\n{ts}Your Case Role(s){/ts} : {$contact.role|default:\'\'}\n{if !empty($manageCaseURL)}\n{ts}Manage Case{/ts} : {$manageCaseURL}\n{/if}\n{/if}\n\n{if !empty($editActURL)}\n{ts}Edit activity{/ts} : {$editActURL}\n{/if}\n{if !empty($viewActURL)}\n{ts}View activity{/ts} : {$viewActURL}\n{/if}\n\n{foreach from=$activity.fields item=field}\n{if $field.type eq \'Date\'}\n{$field.label} : {$field.value|crmDate:$config->dateformatDatetime}\n{else}\n{$field.label} : {$field.value}\n{/if}\n{/foreach}\n\n{if !empty($activity.customGroups)}\n{foreach from=$activity.customGroups key=customGroupName item=customGroup}\n==========================================================\n{$customGroupName}\n==========================================================\n{foreach from=$customGroup item=field}\n{if $field.type eq \'Date\'}\n{$field.label} : {$field.value|crmDate:$config->dateformatDatetime}\n{else}\n{$field.label} : {$field.value}\n{/if}\n{/foreach}\n\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n  {capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n  {capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n  {capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n    <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n    <!-- BEGIN HEADER -->\n    <!-- You can add table row(s) here with logo or other header elements -->\n    <!-- END HEADER -->\n\n    <!-- BEGIN CONTENT -->\n\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n            <tr>\n              <th {$headerStyle}>\n                {ts}Activity Summary{/ts} - {$activityTypeName}\n              </th>\n            </tr>\n            {if !empty($isCaseActivity)}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Your Case Role(s){/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$contact.role|default:\'\'}\n                </td>\n              </tr>\n              {if !empty($manageCaseURL)}\n                <tr>\n                  <td colspan=\"2\" {$valueStyle}>\n                    <a href=\"{$manageCaseURL}\" title=\"{ts}Manage Case{/ts}\">{ts}Manage Case{/ts}</a>\n                  </td>\n                </tr>\n              {/if}\n            {/if}\n            {if !empty($editActURL)}\n              <tr>\n                <td colspan=\"2\" {$valueStyle}>\n                  <a href=\"{$editActURL}\" title=\"{ts}Edit activity{/ts}\">{ts}Edit activity{/ts}</a>\n                </td>\n              </tr>\n            {/if}\n            {if !empty($viewActURL)}\n              <tr>\n                <td colspan=\"2\" {$valueStyle}>\n                  <a href=\"{$viewActURL}\" title=\"{ts}View activity{/ts}\">{ts}View activity{/ts}</a>\n                </td>\n              </tr>\n            {/if}\n            {foreach from=$activity.fields item=field}\n              <tr>\n                <td {$labelStyle}>\n                  {$field.label}\n                </td>\n                <td {$valueStyle}>\n                  {if $field.type eq \'Date\'}\n                    {$field.value|crmDate:$config->dateformatDatetime}\n                  {else}\n                    {$field.value}\n                  {/if}\n                </td>\n              </tr>\n            {/foreach}\n\n            {if !empty($activity.customGroups)}\n              {foreach from=$activity.customGroups key=customGroupName item=customGroup}\n                <tr>\n                  <th {$headerStyle}>\n                    {$customGroupName}\n                  </th>\n                </tr>\n                {foreach from=$customGroup item=field}\n                  <tr>\n                    <td {$labelStyle}>\n                      {$field.label}\n                    </td>\n                    <td {$valueStyle}>\n                      {if $field.type eq \'Date\'}\n                        {$field.value|crmDate:$config->dateformatDatetime}\n                      {else}\n                        {$field.value}\n                      {/if}\n                    </td>\n                  </tr>\n                {/foreach}\n              {/foreach}\n            {/if}\n          </table>\n        </td>\n      </tr>\n    </table>\n</body>\n</html>\n',1,812,'case_activity',1,0,0,NULL),
+ (2,'Cases - Send Copy of an Activity','{if !empty($idHash)}[case #{$idHash}]{/if} {$activitySubject}\n','===========================================================\n{ts}Activity Summary{/ts} - {$activityTypeName}\n===========================================================\n{if !empty($isCaseActivity)}\n{ts}Your Case Role(s){/ts} : {$contact.role|default:\'\'}\n{if !empty($manageCaseURL)}\n{ts}Manage Case{/ts} : {$manageCaseURL}\n{/if}\n{/if}\n\n{if !empty($editActURL)}\n{ts}Edit activity{/ts} : {$editActURL}\n{/if}\n{if !empty($viewActURL)}\n{ts}View activity{/ts} : {$viewActURL}\n{/if}\n\n{foreach from=$activity.fields item=field}\n{if $field.type eq \'Date\'}\n{$field.label} : {$field.value|crmDate:$config->dateformatDatetime}\n{else}\n{$field.label} : {$field.value}\n{/if}\n{/foreach}\n\n{if !empty($activity.customGroups)}\n{foreach from=$activity.customGroups key=customGroupName item=customGroup}\n==========================================================\n{$customGroupName}\n==========================================================\n{foreach from=$customGroup item=field}\n{if $field.type eq \'Date\'}\n{$field.label} : {$field.value|crmDate:$config->dateformatDatetime}\n{else}\n{$field.label} : {$field.value}\n{/if}\n{/foreach}\n\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n  {capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n  {capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n  {capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n    <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n    <!-- BEGIN HEADER -->\n    <!-- You can add table row(s) here with logo or other header elements -->\n    <!-- END HEADER -->\n\n    <!-- BEGIN CONTENT -->\n\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n            <tr>\n              <th {$headerStyle}>\n                {ts}Activity Summary{/ts} - {$activityTypeName}\n              </th>\n            </tr>\n            {if !empty($isCaseActivity)}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Your Case Role(s){/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$contact.role|default:\'\'}\n                </td>\n              </tr>\n              {if !empty($manageCaseURL)}\n                <tr>\n                  <td colspan=\"2\" {$valueStyle}>\n                    <a href=\"{$manageCaseURL}\" title=\"{ts}Manage Case{/ts}\">{ts}Manage Case{/ts}</a>\n                  </td>\n                </tr>\n              {/if}\n            {/if}\n            {if !empty($editActURL)}\n              <tr>\n                <td colspan=\"2\" {$valueStyle}>\n                  <a href=\"{$editActURL}\" title=\"{ts}Edit activity{/ts}\">{ts}Edit activity{/ts}</a>\n                </td>\n              </tr>\n            {/if}\n            {if !empty($viewActURL)}\n              <tr>\n                <td colspan=\"2\" {$valueStyle}>\n                  <a href=\"{$viewActURL}\" title=\"{ts}View activity{/ts}\">{ts}View activity{/ts}</a>\n                </td>\n              </tr>\n            {/if}\n            {foreach from=$activity.fields item=field}\n              <tr>\n                <td {$labelStyle}>\n                  {$field.label}\n                </td>\n                <td {$valueStyle}>\n                  {if $field.type eq \'Date\'}\n                    {$field.value|crmDate:$config->dateformatDatetime}\n                  {else}\n                    {$field.value}\n                  {/if}\n                </td>\n              </tr>\n            {/foreach}\n\n            {if !empty($activity.customGroups)}\n              {foreach from=$activity.customGroups key=customGroupName item=customGroup}\n                <tr>\n                  <th {$headerStyle}>\n                    {$customGroupName}\n                  </th>\n                </tr>\n                {foreach from=$customGroup item=field}\n                  <tr>\n                    <td {$labelStyle}>\n                      {$field.label}\n                    </td>\n                    <td {$valueStyle}>\n                      {if $field.type eq \'Date\'}\n                        {$field.value|crmDate:$config->dateformatDatetime}\n                      {else}\n                        {$field.value}\n                      {/if}\n                    </td>\n                  </tr>\n                {/foreach}\n              {/foreach}\n            {/if}\n          </table>\n        </td>\n      </tr>\n    </table>\n</body>\n</html>\n',1,812,'case_activity',0,1,0,NULL),
+ (3,'Contributions - Duplicate Organization Alert','{ts}CiviContribute Alert: Possible Duplicate Contact Record{/ts} - {contact.display_name}\n','{ts}A contribution / membership signup was made on behalf of the organization listed below.{/ts}\n{ts}The information provided matched multiple existing database records based on the configured Duplicate Matching Rules for your site.{/ts}\n\n{ts}Organization Name{/ts}: {$onBehalfName}\n{ts}Organization Email{/ts}: {$onBehalfEmail}\n{ts}Organization Contact ID{/ts}: {$onBehalfID}\n\n{ts}If you think this may be a duplicate contact which should be merged with an existing record - Go to \"Contacts >> Find and Merge Duplicate Contacts\". Use the strict rule for Organizations to find the potential duplicates and merge them if appropriate.{/ts}\n\n{if $receiptMessage}\n###########################################################\n{ts}Copy of Contribution Receipt{/ts}\n\n###########################################################\n{$receiptMessage}\n\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <p>{ts}A contribution / membership signup was made on behalf of the organization listed below.{/ts}</p>\n    <p>{ts}The information provided matched multiple existing database records based on the configured Duplicate Matching Rules for your site.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Name{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfName}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Email{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfEmail}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Contact ID{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfID}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <p>{ts}If you think this may be a duplicate contact which should be merged with an existing record - Go to \"Contacts >> Find and Merge Duplicate Contacts\". Use the strict rule for Organizations to find the potential duplicates and merge them if appropriate.{/ts}</p>\n   </td>\n  </tr>\n  {if $receiptMessage}\n   <tr>\n    <td>\n     <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n      <tr>\n       <th {$headerStyle}>\n        {ts}Copy of Contribution Receipt{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {* FIXME: the below is most probably not HTML-ised *}\n        {$receiptMessage}\n       </td>\n      </tr>\n     </table>\n    </td>\n   </tr>\n  {/if}\n </table>\n</body>\n</html>\n',1,813,'contribution_dupalert',1,0,0,NULL),
+ (4,'Contributions - Duplicate Organization Alert','{ts}CiviContribute Alert: Possible Duplicate Contact Record{/ts} - {contact.display_name}\n','{ts}A contribution / membership signup was made on behalf of the organization listed below.{/ts}\n{ts}The information provided matched multiple existing database records based on the configured Duplicate Matching Rules for your site.{/ts}\n\n{ts}Organization Name{/ts}: {$onBehalfName}\n{ts}Organization Email{/ts}: {$onBehalfEmail}\n{ts}Organization Contact ID{/ts}: {$onBehalfID}\n\n{ts}If you think this may be a duplicate contact which should be merged with an existing record - Go to \"Contacts >> Find and Merge Duplicate Contacts\". Use the strict rule for Organizations to find the potential duplicates and merge them if appropriate.{/ts}\n\n{if $receiptMessage}\n###########################################################\n{ts}Copy of Contribution Receipt{/ts}\n\n###########################################################\n{$receiptMessage}\n\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <p>{ts}A contribution / membership signup was made on behalf of the organization listed below.{/ts}</p>\n    <p>{ts}The information provided matched multiple existing database records based on the configured Duplicate Matching Rules for your site.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Name{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfName}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Email{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfEmail}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Contact ID{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfID}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <p>{ts}If you think this may be a duplicate contact which should be merged with an existing record - Go to \"Contacts >> Find and Merge Duplicate Contacts\". Use the strict rule for Organizations to find the potential duplicates and merge them if appropriate.{/ts}</p>\n   </td>\n  </tr>\n  {if $receiptMessage}\n   <tr>\n    <td>\n     <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n      <tr>\n       <th {$headerStyle}>\n        {ts}Copy of Contribution Receipt{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {* FIXME: the below is most probably not HTML-ised *}\n        {$receiptMessage}\n       </td>\n      </tr>\n     </table>\n    </td>\n   </tr>\n  {/if}\n </table>\n</body>\n</html>\n',1,813,'contribution_dupalert',0,1,0,NULL),
+ (5,'Contributions - Receipt (off-line)','{ts}Contribution Receipt{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if !empty($formValues.receipt_text)}\n{$formValues.receipt_text}\n{else}{ts}Below you will find a receipt for this contribution.{/ts}{/if}\n\n===========================================================\n{ts}Contribution Information{/ts}\n\n===========================================================\n{ts}Contributor{/ts}: {contact.display_name}\n{if \'{contribution.financial_type_id}\'}\n{ts}Financial Type{/ts}: {contribution.financial_type_id:label}\n{/if}\n{if $lineItem}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($getTaxDetails)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($getTaxDetails)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"} {$line.tax_rate|string_format:\"%.2f\"} %   {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($getTaxDetails) && !empty($dataArray)}\n{ts}Amount before Tax{/ts} : {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset ||  $priceset == 0 || $value != \'\'}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}% : {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm} : {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n\n{if $isShowTax}\n{ts}Total Tax Amount{/ts} : {contribution.tax_amount}\n{/if}\n{ts}Total Amount{/ts} : {contribution.total_amount}\n{if \'{contribution.receive_date}\'}\n{ts}Date Received{/ts}: {contribution.receive_date}\n{/if}\n{if \'{contribution.receipt_date}\'}\n{ts}Receipt Date{/ts}: {contribution.receipt_date}\n{/if}\n{if \'{contribution.payment_instrument_id}\' and empty($formValues.hidden_CreditCard)}\n{ts}Paid By{/ts}: {contribution.payment_instrument_id:label}\n{if \'{contribution.check_number}\'}\n{ts}Check Number{/ts}: {contribution.check_number}\n{/if}\n{/if}\n{if \'{contribution.trxn_id}\'}\n{ts}Transaction ID{/ts}: {contribution.trxn_id}\n{/if}\n\n{if !empty($ccContribution)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{if !empty($customGroup)}\n{foreach from=$customGroup item=value key=customName}\n===========================================================\n{$customName}\n===========================================================\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($softCreditTypes) and !empty($softCredits)}\n{foreach from=$softCreditTypes item=softCreditType key=n}\n===========================================================\n{$softCreditType}\n===========================================================\n{foreach from=$softCredits.$n item=value key=label}\n{$label}: {$value}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($formValues.product_name)}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$formValues.product_name}\n{if $formValues.product_option}\n{ts}Option{/ts}: {$formValues.product_option}\n{/if}\n{if $formValues.product_sku}\n{ts}SKU{/ts}: {$formValues.product_sku}\n{/if}\n{if !empty($fulfilled_date)}\n{ts}Sent{/ts}: {$fulfilled_date|crmDate}\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($formValues.receipt_text)}\n     <p>{$formValues.receipt_text|htmlize}</p>\n    {else}\n     <p>{ts}Below you will find a receipt for this contribution.{/ts}</p>\n    {/if}\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Contribution Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Contributor Name{/ts}\n      </td>\n      <td {$valueStyle}>\n       {contact.display_name}\n      </td>\n     </tr>\n     <tr>\n      {if \'{contribution.financial_type_id}\'}\n        <td {$labelStyle}>\n         {ts}Financial Type{/ts}\n        </td>\n        <td {$valueStyle}>\n         {contribution.financial_type_id:label}\n        </td>\n      {/if}\n     </tr>\n\n     {if !empty($lineItem) and empty($is_quick_config)}\n      {foreach from=$lineItem item=value key=priceset}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n          <tr>\n           <th>{ts}Item{/ts}</th>\n           <th>{ts}Qty{/ts}</th>\n           <th>{ts}Each{/ts}</th>\n           {if !empty($getTaxDetails)}\n             <th>{ts}Subtotal{/ts}</th>\n             <th>{ts}Tax Rate{/ts}</th>\n             <th>{ts}Tax Amount{/ts}</th>\n           {/if}\n           <th>{ts}Total{/ts}</th>\n          </tr>\n          {foreach from=$value item=line}\n           <tr>\n            <td>\n            {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n            </td>\n            <td>\n             {$line.qty}\n            </td>\n            <td>\n             {$line.unit_price|crmMoney:$currency}\n            </td>\n            {if !empty($getTaxDetails)}\n              <td>\n                {$line.unit_price*$line.qty|crmMoney:$currency}\n              </td>\n              {if $line.tax_rate || $line.tax_amount != \"\"}\n                <td>\n                  {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td>\n                  {$line.tax_amount|crmMoney:$currency}\n                </td>\n              {else}\n                <td></td>\n                <td></td>\n              {/if}\n            {/if}\n            <td>\n             {$line.line_total+$line.tax_amount|crmMoney:$currency}\n            </td>\n           </tr>\n          {/foreach}\n         </table>\n        </td>\n       </tr>\n      {/foreach}\n     {/if}\n     {if !empty($getTaxDetails) && !empty($dataArray)}\n       <tr>\n         <td {$labelStyle}>\n           {ts} Amount before Tax : {/ts}\n         </td>\n         <td {$valueStyle}>\n           {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n         </td>\n       </tr>\n\n      {foreach from=$dataArray item=value key=priceset}\n        <tr>\n        {if $priceset ||  $priceset == 0 || $value != \'\'}\n          <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n          <td>&nbsp;{$value|crmMoney:$currency}</td>\n        {else}\n          <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n          <td>&nbsp;{$value|crmMoney:$currency}</td>\n        {/if}\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if $isShowTax}\n      <tr>\n        <td {$labelStyle}>\n          {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n          {contribution.tax_amount}\n        </td>\n      </tr>\n     {/if}\n\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n        {contribution.total_amount}\n      </td>\n     </tr>\n\n     {if \'{contribution.receive_date}\'}\n       <tr>\n       <td {$labelStyle}>\n        {ts}Date Received{/ts}\n       </td>\n       <td {$valueStyle}>\n         {contribution.receive_date}\n       </td>\n      </tr>\n     {/if}\n\n      {if \'{contribution.receipt_date}\'}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Receipt Date{/ts}\n       </td>\n       <td {$valueStyle}>\n         {contribution.receipt_date}\n       </td>\n      </tr>\n     {/if}\n\n     {if \'{contribution.payment_instrument_id}\' and empty($formValues.hidden_CreditCard)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Paid By{/ts}\n       </td>\n       <td {$valueStyle}>\n         {contribution.payment_instrument_id:label}\n       </td>\n      </tr>\n      {if \'{contribution.check_number}\'}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Check Number{/ts}\n        </td>\n        <td {$valueStyle}>\n          {contribution.check_number}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if \'{contribution.trxn_id}\'}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction ID{/ts}\n       </td>\n       <td {$valueStyle}>\n         {contribution.trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($ccContribution)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Billing Name and Address{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$billingName}<br />\n        {$address|nl2br}\n       </td>\n      </tr>\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($softCreditTypes) and !empty($softCredits)}\n      {foreach from=$softCreditTypes item=softCreditType key=n}\n       <tr>\n        <th {$headerStyle}>\n         {$softCreditType}\n        </th>\n       </tr>\n       {foreach from=$softCredits.$n item=value key=label}\n         <tr>\n          <td {$labelStyle}>\n           {$label}\n          </td>\n          <td {$valueStyle}>\n           {$value}\n          </td>\n         </tr>\n        {/foreach}\n       {/foreach}\n     {/if}\n\n     {if !empty($customGroup)}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n     {if !empty($formValues.product_name)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$formValues.product_name}\n       </td>\n      </tr>\n      {if $formValues.product_option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.product_option}\n        </td>\n       </tr>\n      {/if}\n      {if $formValues.product_sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.product_sku}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($fulfilled_date)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Sent{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$fulfilled_date|truncate:10:\'\'|crmDate}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,814,'contribution_offline_receipt',1,0,0,NULL),
+ (6,'Contributions - Receipt (off-line)','{ts}Contribution Receipt{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if !empty($formValues.receipt_text)}\n{$formValues.receipt_text}\n{else}{ts}Below you will find a receipt for this contribution.{/ts}{/if}\n\n===========================================================\n{ts}Contribution Information{/ts}\n\n===========================================================\n{ts}Contributor{/ts}: {contact.display_name}\n{if \'{contribution.financial_type_id}\'}\n{ts}Financial Type{/ts}: {contribution.financial_type_id:label}\n{/if}\n{if $lineItem}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($getTaxDetails)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($getTaxDetails)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"} {$line.tax_rate|string_format:\"%.2f\"} %   {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($getTaxDetails) && !empty($dataArray)}\n{ts}Amount before Tax{/ts} : {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset ||  $priceset == 0 || $value != \'\'}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}% : {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm} : {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n\n{if $isShowTax}\n{ts}Total Tax Amount{/ts} : {contribution.tax_amount}\n{/if}\n{ts}Total Amount{/ts} : {contribution.total_amount}\n{if \'{contribution.receive_date}\'}\n{ts}Date Received{/ts}: {contribution.receive_date}\n{/if}\n{if \'{contribution.receipt_date}\'}\n{ts}Receipt Date{/ts}: {contribution.receipt_date}\n{/if}\n{if \'{contribution.payment_instrument_id}\' and empty($formValues.hidden_CreditCard)}\n{ts}Paid By{/ts}: {contribution.payment_instrument_id:label}\n{if \'{contribution.check_number}\'}\n{ts}Check Number{/ts}: {contribution.check_number}\n{/if}\n{/if}\n{if \'{contribution.trxn_id}\'}\n{ts}Transaction ID{/ts}: {contribution.trxn_id}\n{/if}\n\n{if !empty($ccContribution)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{if !empty($customGroup)}\n{foreach from=$customGroup item=value key=customName}\n===========================================================\n{$customName}\n===========================================================\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($softCreditTypes) and !empty($softCredits)}\n{foreach from=$softCreditTypes item=softCreditType key=n}\n===========================================================\n{$softCreditType}\n===========================================================\n{foreach from=$softCredits.$n item=value key=label}\n{$label}: {$value}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($formValues.product_name)}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$formValues.product_name}\n{if $formValues.product_option}\n{ts}Option{/ts}: {$formValues.product_option}\n{/if}\n{if $formValues.product_sku}\n{ts}SKU{/ts}: {$formValues.product_sku}\n{/if}\n{if !empty($fulfilled_date)}\n{ts}Sent{/ts}: {$fulfilled_date|crmDate}\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($formValues.receipt_text)}\n     <p>{$formValues.receipt_text|htmlize}</p>\n    {else}\n     <p>{ts}Below you will find a receipt for this contribution.{/ts}</p>\n    {/if}\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Contribution Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Contributor Name{/ts}\n      </td>\n      <td {$valueStyle}>\n       {contact.display_name}\n      </td>\n     </tr>\n     <tr>\n      {if \'{contribution.financial_type_id}\'}\n        <td {$labelStyle}>\n         {ts}Financial Type{/ts}\n        </td>\n        <td {$valueStyle}>\n         {contribution.financial_type_id:label}\n        </td>\n      {/if}\n     </tr>\n\n     {if !empty($lineItem) and empty($is_quick_config)}\n      {foreach from=$lineItem item=value key=priceset}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n          <tr>\n           <th>{ts}Item{/ts}</th>\n           <th>{ts}Qty{/ts}</th>\n           <th>{ts}Each{/ts}</th>\n           {if !empty($getTaxDetails)}\n             <th>{ts}Subtotal{/ts}</th>\n             <th>{ts}Tax Rate{/ts}</th>\n             <th>{ts}Tax Amount{/ts}</th>\n           {/if}\n           <th>{ts}Total{/ts}</th>\n          </tr>\n          {foreach from=$value item=line}\n           <tr>\n            <td>\n            {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n            </td>\n            <td>\n             {$line.qty}\n            </td>\n            <td>\n             {$line.unit_price|crmMoney:$currency}\n            </td>\n            {if !empty($getTaxDetails)}\n              <td>\n                {$line.unit_price*$line.qty|crmMoney:$currency}\n              </td>\n              {if $line.tax_rate || $line.tax_amount != \"\"}\n                <td>\n                  {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td>\n                  {$line.tax_amount|crmMoney:$currency}\n                </td>\n              {else}\n                <td></td>\n                <td></td>\n              {/if}\n            {/if}\n            <td>\n             {$line.line_total+$line.tax_amount|crmMoney:$currency}\n            </td>\n           </tr>\n          {/foreach}\n         </table>\n        </td>\n       </tr>\n      {/foreach}\n     {/if}\n     {if !empty($getTaxDetails) && !empty($dataArray)}\n       <tr>\n         <td {$labelStyle}>\n           {ts} Amount before Tax : {/ts}\n         </td>\n         <td {$valueStyle}>\n           {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n         </td>\n       </tr>\n\n      {foreach from=$dataArray item=value key=priceset}\n        <tr>\n        {if $priceset ||  $priceset == 0 || $value != \'\'}\n          <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n          <td>&nbsp;{$value|crmMoney:$currency}</td>\n        {else}\n          <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n          <td>&nbsp;{$value|crmMoney:$currency}</td>\n        {/if}\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if $isShowTax}\n      <tr>\n        <td {$labelStyle}>\n          {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n          {contribution.tax_amount}\n        </td>\n      </tr>\n     {/if}\n\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n        {contribution.total_amount}\n      </td>\n     </tr>\n\n     {if \'{contribution.receive_date}\'}\n       <tr>\n       <td {$labelStyle}>\n        {ts}Date Received{/ts}\n       </td>\n       <td {$valueStyle}>\n         {contribution.receive_date}\n       </td>\n      </tr>\n     {/if}\n\n      {if \'{contribution.receipt_date}\'}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Receipt Date{/ts}\n       </td>\n       <td {$valueStyle}>\n         {contribution.receipt_date}\n       </td>\n      </tr>\n     {/if}\n\n     {if \'{contribution.payment_instrument_id}\' and empty($formValues.hidden_CreditCard)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Paid By{/ts}\n       </td>\n       <td {$valueStyle}>\n         {contribution.payment_instrument_id:label}\n       </td>\n      </tr>\n      {if \'{contribution.check_number}\'}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Check Number{/ts}\n        </td>\n        <td {$valueStyle}>\n          {contribution.check_number}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if \'{contribution.trxn_id}\'}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction ID{/ts}\n       </td>\n       <td {$valueStyle}>\n         {contribution.trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($ccContribution)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Billing Name and Address{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$billingName}<br />\n        {$address|nl2br}\n       </td>\n      </tr>\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($softCreditTypes) and !empty($softCredits)}\n      {foreach from=$softCreditTypes item=softCreditType key=n}\n       <tr>\n        <th {$headerStyle}>\n         {$softCreditType}\n        </th>\n       </tr>\n       {foreach from=$softCredits.$n item=value key=label}\n         <tr>\n          <td {$labelStyle}>\n           {$label}\n          </td>\n          <td {$valueStyle}>\n           {$value}\n          </td>\n         </tr>\n        {/foreach}\n       {/foreach}\n     {/if}\n\n     {if !empty($customGroup)}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n     {if !empty($formValues.product_name)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$formValues.product_name}\n       </td>\n      </tr>\n      {if $formValues.product_option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.product_option}\n        </td>\n       </tr>\n      {/if}\n      {if $formValues.product_sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.product_sku}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($fulfilled_date)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Sent{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$fulfilled_date|truncate:10:\'\'|crmDate}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,814,'contribution_offline_receipt',0,1,0,NULL),
+ (7,'Contributions - Receipt (on-line)','{if $is_pay_later}{ts}Invoice{/ts}{else}{ts}Receipt{/ts}{/if} - {$title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($receipt_text)}\n{$receipt_text}\n{/if}\n{if $is_pay_later}\n\n===========================================================\n{$pay_later_receipt}\n===========================================================\n{/if}\n\n{if $amount}\n===========================================================\n{ts}Contribution Information{/ts}\n\n===========================================================\n{if $isShowLineItems}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n\n{if $isShowTax}\n{ts}Total Tax Amount{/ts}: {contribution.tax_amount|crmMoney}\n{/if}\n\n{ts}Total Amount{/ts}: {$amount|crmMoney:$currency}\n{else}\n{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if \'{contribution.amount_level}\'} - {contribution.amount_level}{/if}\n{/if}\n{/if}\n{if !empty($receive_date)}\n\n{ts}Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($is_monetary) and !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n\n{if !empty($is_recur)}\n{ts}This is a recurring contribution.{/ts}\n\n{if $cancelSubscriptionUrl}\n{ts}You can cancel future contributions at:{/ts}\n\n{$cancelSubscriptionUrl}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts}You can update billing details for this recurring contribution at:{/ts}\n\n{$updateSubscriptionBillingUrl}\n\n{/if}\n\n{if $updateSubscriptionUrl}\n{ts}You can update recurring contribution amount or change the number of installments for this recurring contribution at:{/ts}\n\n{$updateSubscriptionUrl}\n\n{/if}\n{/if}\n\n{if $honor_block_is_active}\n===========================================================\n{$soft_credit_type}\n===========================================================\n{foreach from=$honoreeProfile item=value key=label}\n{$label}: {$value}\n{/foreach}\n{elseif !empty($softCreditTypes) and !empty($softCredits)}\n{foreach from=$softCreditTypes item=softCreditType key=n}\n===========================================================\n{$softCreditType}\n===========================================================\n{foreach from=$softCredits.$n item=value key=label}\n{$label}: {$value}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($pcpBlock)}\n===========================================================\n{ts}Personal Campaign Page{/ts}\n\n===========================================================\n{ts}Display In Honor Roll{/ts}: {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n\n{if $pcp_roll_nickname}{ts}Nickname{/ts}: {$pcp_roll_nickname}{/if}\n\n{if $pcp_personal_note}{ts}Personal Note{/ts}: {$pcp_personal_note}{/if}\n\n{/if}\n{if !empty($onBehalfProfile)}\n===========================================================\n{ts}On Behalf Of{/ts}\n\n===========================================================\n{foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n{$onBehalfName}: {$onBehalfValue}\n{/foreach}\n{/if}\n\n{if !empty($billingName)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n{elseif !empty($email)}\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{$email}\n{/if} {* End billingName or Email*}\n{if !empty($credit_card_type)}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n\n{if !empty($selectPremium )}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$product_name}\n{if $option}\n{ts}Option{/ts}: {$option}\n{/if}\n{if $sku}\n{ts}SKU{/ts}: {$sku}\n{/if}\n{if $start_date}\n{ts}Start Date{/ts}: {$start_date|crmDate}\n{/if}\n{if $end_date}\n{ts}End Date{/ts}: {$end_date|crmDate}\n{/if}\n{if !empty($contact_email) OR !empty($contact_phone)}\n\n{ts}For information about this premium, contact:{/ts}\n\n{if !empty($contact_email)}\n  {$contact_email}\n{/if}\n{if !empty($contact_phone)}\n  {$contact_phone}\n{/if}\n{/if}\n{if !empty($is_deductible) AND !empty($price)}\n\n{ts 1=$price|crmMoney:$currency}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}{/if}\n{/if}\n\n{if !empty($customPre)}\n===========================================================\n{$customPre_grouptitle}\n\n===========================================================\n{foreach from=$customPre item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n\n\n{if !empty($customPost)}\n===========================================================\n{$customPost_grouptitle}\n\n===========================================================\n{foreach from=$customPost item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($receipt_text)}\n     <p>{$receipt_text|htmlize}</p>\n    {/if}\n\n    {if $is_pay_later}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  </table>\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n     {if $amount}\n\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Contribution Information{/ts}\n       </th>\n      </tr>\n\n      {if $isShowLineItems}\n\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Qty{/ts}</th>\n            <th>{ts}Each{/ts}</th>\n            {if !empty($dataArray)}\n             <th>{ts}Subtotal{/ts}</th>\n             <th>{ts}Tax Rate{/ts}</th>\n             <th>{ts}Tax Amount{/ts}</th>\n            {/if}\n            <th>{ts}Total{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n             {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n             </td>\n             <td>\n              {$line.qty}\n             </td>\n             <td>\n              {$line.unit_price|crmMoney:$currency}\n             </td>\n             {if !empty($getTaxDetails)}\n              <td>\n               {$line.unit_price*$line.qty|crmMoney:$currency}\n              </td>\n              {if $line.tax_rate || $line.tax_amount != \"\"}\n               <td>\n                {$line.tax_rate|string_format:\"%.2f\"}%\n               </td>\n               <td>\n                {$line.tax_amount|crmMoney:$currency}\n               </td>\n              {else}\n               <td></td>\n               <td></td>\n              {/if}\n             {/if}\n             <td>\n              {$line.line_total+$line.tax_amount|crmMoney:$currency}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       {if !empty($dataArray)}\n        <tr>\n         <td {$labelStyle}>\n          {ts} Amount before Tax : {/ts}\n         </td>\n         <td {$valueStyle}>\n          {$amount-$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n          {if $priceset || $priceset == 0}\n           <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {else}\n           <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {/if}\n         </tr>\n        {/foreach}\n\n       {/if}\n       {if $isShowTax}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Total Tax{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney:$currency}\n        </td>\n       </tr>\n\n      {else}\n\n      {if !empty($totalTaxAmount)}\n         <tr>\n           <td {$labelStyle}>\n             {ts}Total Tax Amount{/ts}\n           </td>\n           <td {$valueStyle}>\n             {contribution.tax_amount|crmMoney}\n           </td>\n         </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney:$currency} {if \'{contribution.amount_level}\'} - {contribution.amount_level}{/if}\n        </td>\n       </tr>\n\n      {/if}\n\n     {/if}\n\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($is_monetary) and !empty($trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n    {if !empty($is_recur)}\n      <tr>\n        <td  colspan=\"2\" {$labelStyle}>\n          {ts}This is a recurring contribution.{/ts}\n          {if $cancelSubscriptionUrl}\n            {ts 1=$cancelSubscriptionUrl}You can cancel future contributions by <a href=\"%1\">visiting this web page</a>.{/ts}\n          {/if}\n        </td>\n      </tr>\n      {if $updateSubscriptionBillingUrl}\n        <tr>\n          <td colspan=\"2\" {$labelStyle}>\n            {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n      {if $updateSubscriptionUrl}\n        <tr>\n          <td colspan=\"2\" {$labelStyle}>\n            {ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n    {/if}\n\n     {if $honor_block_is_active}\n      <tr>\n       <th {$headerStyle}>\n        {$soft_credit_type}\n       </th>\n      </tr>\n      {foreach from=$honoreeProfile item=value key=label}\n        <tr>\n         <td {$labelStyle}>\n          {$label}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n      {/foreach}\n      {elseif !empty($softCreditTypes) and !empty($softCredits)}\n      {foreach from=$softCreditTypes item=softCreditType key=n}\n       <tr>\n        <th {$headerStyle}>\n         {$softCreditType}\n        </th>\n       </tr>\n       {foreach from=$softCredits.$n item=value key=label}\n         <tr>\n          <td {$labelStyle}>\n           {$label}\n          </td>\n          <td {$valueStyle}>\n           {$value}\n          </td>\n         </tr>\n        {/foreach}\n       {/foreach}\n     {/if}\n\n     {if !empty($pcpBlock)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Personal Campaign Page{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Display In Honor Roll{/ts}\n       </td>\n       <td {$valueStyle}>\n        {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n       </td>\n      </tr>\n      {if $pcp_roll_nickname}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Nickname{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_roll_nickname}\n        </td>\n       </tr>\n      {/if}\n      {if $pcp_personal_note}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Personal Note{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_personal_note}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($onBehalfProfile)}\n      <tr>\n       <th {$headerStyle}>\n        {$onBehalfProfile_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n        <tr>\n         <td {$labelStyle}>\n          {$onBehalfName}\n         </td>\n         <td {$valueStyle}>\n          {$onBehalfValue}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($isShare)}\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n            {capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contributionPageId`\" a=true fe=1 h=1}{/capture}\n            {include file=\"CRM/common/SocialNetwork.tpl\" emailMode=true url=$contributionUrl title=$title pageURL=$contributionUrl}\n        </td>\n      </tr>\n     {/if}\n\n     {if !empty($billingName)}\n       <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n     {elseif !empty($email)}\n       <tr>\n        <th {$headerStyle}>\n         {ts}Registered Email{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$email}\n        </td>\n       </tr>\n     {/if}\n\n     {if !empty($credit_card_type)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($selectPremium)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$product_name}\n       </td>\n      </tr>\n      {if $option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$option}\n        </td>\n       </tr>\n      {/if}\n      {if $sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$sku}\n        </td>\n       </tr>\n      {/if}\n      {if $start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($contact_email) OR !empty($contact_phone)}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}For information about this premium, contact:{/ts}</p>\n         {if !empty($contact_email)}\n          <p>{$contact_email}</p>\n         {/if}\n         {if !empty($contact_phone)}\n          <p>{$contact_phone}</p>\n         {/if}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($is_deductible) AND !empty($price)}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <p>{ts 1=$price|crmMoney:$currency}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}</p>\n         </td>\n        </tr>\n      {/if}\n     {/if}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n  </table>\n\n</body>\n</html>\n',1,815,'contribution_online_receipt',1,0,0,NULL),
+ (8,'Contributions - Receipt (on-line)','{if $is_pay_later}{ts}Invoice{/ts}{else}{ts}Receipt{/ts}{/if} - {$title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($receipt_text)}\n{$receipt_text}\n{/if}\n{if $is_pay_later}\n\n===========================================================\n{$pay_later_receipt}\n===========================================================\n{/if}\n\n{if $amount}\n===========================================================\n{ts}Contribution Information{/ts}\n\n===========================================================\n{if $isShowLineItems}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n\n{if $isShowTax}\n{ts}Total Tax Amount{/ts}: {contribution.tax_amount|crmMoney}\n{/if}\n\n{ts}Total Amount{/ts}: {$amount|crmMoney:$currency}\n{else}\n{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if \'{contribution.amount_level}\'} - {contribution.amount_level}{/if}\n{/if}\n{/if}\n{if !empty($receive_date)}\n\n{ts}Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($is_monetary) and !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n\n{if !empty($is_recur)}\n{ts}This is a recurring contribution.{/ts}\n\n{if $cancelSubscriptionUrl}\n{ts}You can cancel future contributions at:{/ts}\n\n{$cancelSubscriptionUrl}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts}You can update billing details for this recurring contribution at:{/ts}\n\n{$updateSubscriptionBillingUrl}\n\n{/if}\n\n{if $updateSubscriptionUrl}\n{ts}You can update recurring contribution amount or change the number of installments for this recurring contribution at:{/ts}\n\n{$updateSubscriptionUrl}\n\n{/if}\n{/if}\n\n{if $honor_block_is_active}\n===========================================================\n{$soft_credit_type}\n===========================================================\n{foreach from=$honoreeProfile item=value key=label}\n{$label}: {$value}\n{/foreach}\n{elseif !empty($softCreditTypes) and !empty($softCredits)}\n{foreach from=$softCreditTypes item=softCreditType key=n}\n===========================================================\n{$softCreditType}\n===========================================================\n{foreach from=$softCredits.$n item=value key=label}\n{$label}: {$value}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($pcpBlock)}\n===========================================================\n{ts}Personal Campaign Page{/ts}\n\n===========================================================\n{ts}Display In Honor Roll{/ts}: {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n\n{if $pcp_roll_nickname}{ts}Nickname{/ts}: {$pcp_roll_nickname}{/if}\n\n{if $pcp_personal_note}{ts}Personal Note{/ts}: {$pcp_personal_note}{/if}\n\n{/if}\n{if !empty($onBehalfProfile)}\n===========================================================\n{ts}On Behalf Of{/ts}\n\n===========================================================\n{foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n{$onBehalfName}: {$onBehalfValue}\n{/foreach}\n{/if}\n\n{if !empty($billingName)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n{elseif !empty($email)}\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{$email}\n{/if} {* End billingName or Email*}\n{if !empty($credit_card_type)}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n\n{if !empty($selectPremium )}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$product_name}\n{if $option}\n{ts}Option{/ts}: {$option}\n{/if}\n{if $sku}\n{ts}SKU{/ts}: {$sku}\n{/if}\n{if $start_date}\n{ts}Start Date{/ts}: {$start_date|crmDate}\n{/if}\n{if $end_date}\n{ts}End Date{/ts}: {$end_date|crmDate}\n{/if}\n{if !empty($contact_email) OR !empty($contact_phone)}\n\n{ts}For information about this premium, contact:{/ts}\n\n{if !empty($contact_email)}\n  {$contact_email}\n{/if}\n{if !empty($contact_phone)}\n  {$contact_phone}\n{/if}\n{/if}\n{if !empty($is_deductible) AND !empty($price)}\n\n{ts 1=$price|crmMoney:$currency}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}{/if}\n{/if}\n\n{if !empty($customPre)}\n===========================================================\n{$customPre_grouptitle}\n\n===========================================================\n{foreach from=$customPre item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n\n\n{if !empty($customPost)}\n===========================================================\n{$customPost_grouptitle}\n\n===========================================================\n{foreach from=$customPost item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($receipt_text)}\n     <p>{$receipt_text|htmlize}</p>\n    {/if}\n\n    {if $is_pay_later}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  </table>\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n     {if $amount}\n\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Contribution Information{/ts}\n       </th>\n      </tr>\n\n      {if $isShowLineItems}\n\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Qty{/ts}</th>\n            <th>{ts}Each{/ts}</th>\n            {if !empty($dataArray)}\n             <th>{ts}Subtotal{/ts}</th>\n             <th>{ts}Tax Rate{/ts}</th>\n             <th>{ts}Tax Amount{/ts}</th>\n            {/if}\n            <th>{ts}Total{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n             {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n             </td>\n             <td>\n              {$line.qty}\n             </td>\n             <td>\n              {$line.unit_price|crmMoney:$currency}\n             </td>\n             {if !empty($getTaxDetails)}\n              <td>\n               {$line.unit_price*$line.qty|crmMoney:$currency}\n              </td>\n              {if $line.tax_rate || $line.tax_amount != \"\"}\n               <td>\n                {$line.tax_rate|string_format:\"%.2f\"}%\n               </td>\n               <td>\n                {$line.tax_amount|crmMoney:$currency}\n               </td>\n              {else}\n               <td></td>\n               <td></td>\n              {/if}\n             {/if}\n             <td>\n              {$line.line_total+$line.tax_amount|crmMoney:$currency}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       {if !empty($dataArray)}\n        <tr>\n         <td {$labelStyle}>\n          {ts} Amount before Tax : {/ts}\n         </td>\n         <td {$valueStyle}>\n          {$amount-$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n          {if $priceset || $priceset == 0}\n           <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {else}\n           <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {/if}\n         </tr>\n        {/foreach}\n\n       {/if}\n       {if $isShowTax}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Total Tax{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney:$currency}\n        </td>\n       </tr>\n\n      {else}\n\n      {if !empty($totalTaxAmount)}\n         <tr>\n           <td {$labelStyle}>\n             {ts}Total Tax Amount{/ts}\n           </td>\n           <td {$valueStyle}>\n             {contribution.tax_amount|crmMoney}\n           </td>\n         </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney:$currency} {if \'{contribution.amount_level}\'} - {contribution.amount_level}{/if}\n        </td>\n       </tr>\n\n      {/if}\n\n     {/if}\n\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($is_monetary) and !empty($trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n    {if !empty($is_recur)}\n      <tr>\n        <td  colspan=\"2\" {$labelStyle}>\n          {ts}This is a recurring contribution.{/ts}\n          {if $cancelSubscriptionUrl}\n            {ts 1=$cancelSubscriptionUrl}You can cancel future contributions by <a href=\"%1\">visiting this web page</a>.{/ts}\n          {/if}\n        </td>\n      </tr>\n      {if $updateSubscriptionBillingUrl}\n        <tr>\n          <td colspan=\"2\" {$labelStyle}>\n            {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n      {if $updateSubscriptionUrl}\n        <tr>\n          <td colspan=\"2\" {$labelStyle}>\n            {ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n    {/if}\n\n     {if $honor_block_is_active}\n      <tr>\n       <th {$headerStyle}>\n        {$soft_credit_type}\n       </th>\n      </tr>\n      {foreach from=$honoreeProfile item=value key=label}\n        <tr>\n         <td {$labelStyle}>\n          {$label}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n      {/foreach}\n      {elseif !empty($softCreditTypes) and !empty($softCredits)}\n      {foreach from=$softCreditTypes item=softCreditType key=n}\n       <tr>\n        <th {$headerStyle}>\n         {$softCreditType}\n        </th>\n       </tr>\n       {foreach from=$softCredits.$n item=value key=label}\n         <tr>\n          <td {$labelStyle}>\n           {$label}\n          </td>\n          <td {$valueStyle}>\n           {$value}\n          </td>\n         </tr>\n        {/foreach}\n       {/foreach}\n     {/if}\n\n     {if !empty($pcpBlock)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Personal Campaign Page{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Display In Honor Roll{/ts}\n       </td>\n       <td {$valueStyle}>\n        {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n       </td>\n      </tr>\n      {if $pcp_roll_nickname}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Nickname{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_roll_nickname}\n        </td>\n       </tr>\n      {/if}\n      {if $pcp_personal_note}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Personal Note{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_personal_note}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($onBehalfProfile)}\n      <tr>\n       <th {$headerStyle}>\n        {$onBehalfProfile_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n        <tr>\n         <td {$labelStyle}>\n          {$onBehalfName}\n         </td>\n         <td {$valueStyle}>\n          {$onBehalfValue}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($isShare)}\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n            {capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contributionPageId`\" a=true fe=1 h=1}{/capture}\n            {include file=\"CRM/common/SocialNetwork.tpl\" emailMode=true url=$contributionUrl title=$title pageURL=$contributionUrl}\n        </td>\n      </tr>\n     {/if}\n\n     {if !empty($billingName)}\n       <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n     {elseif !empty($email)}\n       <tr>\n        <th {$headerStyle}>\n         {ts}Registered Email{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$email}\n        </td>\n       </tr>\n     {/if}\n\n     {if !empty($credit_card_type)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($selectPremium)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$product_name}\n       </td>\n      </tr>\n      {if $option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$option}\n        </td>\n       </tr>\n      {/if}\n      {if $sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$sku}\n        </td>\n       </tr>\n      {/if}\n      {if $start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($contact_email) OR !empty($contact_phone)}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}For information about this premium, contact:{/ts}</p>\n         {if !empty($contact_email)}\n          <p>{$contact_email}</p>\n         {/if}\n         {if !empty($contact_phone)}\n          <p>{$contact_phone}</p>\n         {/if}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($is_deductible) AND !empty($price)}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <p>{ts 1=$price|crmMoney:$currency}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}</p>\n         </td>\n        </tr>\n      {/if}\n     {/if}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n  </table>\n\n</body>\n</html>\n',1,815,'contribution_online_receipt',0,1,0,NULL),
+ (9,'Contributions - Invoice','{if $title}\n  {if $component}\n    {if $component == \'event\'}\n      {ts 1=$title}Event Registration Invoice: %1{/ts}\n    {else}\n      {ts 1=$title}Contribution Invoice: %1{/ts}\n    {/if}\n  {/if}\n{else}\n  {ts}Invoice{/ts}\n{/if}\n - {contact.display_name}\n','{ts}Contribution Invoice{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n      <title></title>\n  </head>\n  <body>\n  <div style=\"padding-top:100px;margin-right:50px;border-style: none;\">\n    {if $config->empoweredBy}\n      <table style=\"margin-top:5px;padding-bottom:50px;\" cellpadding=\"5\" cellspacing=\"0\">\n        <tr>\n          <td><img src=\"{$resourceBase}/i/civi99.png\" height=\"34px\" width=\"99px\"></td>\n        </tr>\n      </table>\n    {/if}\n      <table style=\"font-family: Arial, Verdana, sans-serif;\" width=\"100%\" height=\"100\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">\n        <tr>\n          <td width=\"30%\"><b><font size=\"4\" align=\"center\">{ts}INVOICE{/ts}</font></b></td>\n          <td width=\"50%\" valign=\"bottom\"><b><font size=\"1\" align=\"center\">{ts}Invoice Date:{/ts}</font></b></td>\n          <td valign=\"bottom\" style=\"white-space: nowrap\"><b><font size=\"1\" align=\"right\">{$domain_organization}</font></b></td>\n        </tr>\n        <tr>\n          {if $organization_name}\n            <td><font size=\"1\" align=\"center\">{contact.display_name}  ({$organization_name})</font></td>\n          {else}\n            <td><font size=\"1\" align=\"center\">{contact.display_name}</font></td>\n          {/if}\n          <td><font size=\"1\" align=\"right\">{$invoice_date}</font></td>\n          <td style=\"white-space: nowrap\">\n            <font size=\"1\" align=\"right\">\n              {if $domain_street_address }{$domain_street_address}{/if}\n              {if $domain_supplemental_address_1 }{$domain_supplemental_address_1}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"center\">{$street_address} {$supplemental_address_1}</font></td>\n          <td><b><font size=\"1\" align=\"right\">{ts}Invoice Number:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_supplemental_address_2 }{$domain_supplemental_address_2}{/if}\n              {if $domain_state }{$domain_state}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"center\">{$supplemental_address_2} {$stateProvinceAbbreviation}</font></td>\n          <td><font size=\"1\" align=\"right\">{$invoice_number}</font></td>\n          <td style=\"white-space: nowrap\">\n            <font size=\"1\" align=\"right\">\n              {if $domain_city}{$domain_city}{/if}\n              {if $domain_postal_code }{$domain_postal_code}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"right\">{$city}  {$postal_code}</font></td>\n          <td height=\"10\"><b><font size=\"1\" align=\"right\">{ts}Reference:{/ts}</font></b></td>\n          <td><font size=\"1\" align=\"right\">{if $domain_country}{$domain_country}{/if}</font></td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"right\"> {$country}</font></td>\n          <td><font size=\"1\" align=\"right\">{if !empty($source)}{$source}{/if}</font></td>\n          <td valign=\"top\" style=\"white-space: nowrap\"><font size=\"1\" align=\"right\">{if $domain_email}{$domain_email}{/if}</font> </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td></td>\n          <td valign=\"top\"><font size=\"1\" align=\"right\">{if $domain_phone}{$domain_phone}{/if}</font> </td>\n        </tr>\n      </table>\n\n             <table style=\"padding-top:75px;font-family: Arial, Verdana, sans-serif;\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">\n              <tr>\n                <th style=\"text-align:left;font-weight:bold;width:100%\"><font size=\"1\">{ts}Description{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts}Quantity{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts}Unit Price{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{$taxTerm}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts 1=$currency}Amount %1{/ts}</font></th>\n              </tr>\n              {foreach from=$lineItem item=value key=priceset name=taxpricevalue}\n                {if $smarty.foreach.taxpricevalue.index eq 0}\n                {else}\n                {/if}\n                <tr>\n                  <td style=\"text-align:left;nowrap\"><font size=\"1\">\n                    {if $value.html_type eq \'Text\'}\n                      {$value.label}\n                    {else}\n                      {$value.field_title} - {$value.label}\n                    {/if}\n                    {if $value.description}\n                      <div>{$value.description|truncate:30:\"...\"}</div>\n                    {/if}\n                   </font>\n                  </td>\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.qty}</font></td>\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.unit_price|crmMoney:$currency}</font></td>\n                  {if $value.tax_amount != \'\'}\n                    <td style=\"text-align:right;\"><font size=\"1\">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>\n                  {else}\n                    <td style=\"text-align:right;\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm}-{/ts}{/if}</font></td>\n                  {/if}\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.subTotal|crmMoney:$currency}</font></td>\n                </tr>\n              {/foreach}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{ts}Sub Total{/ts}</font></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$subTotal|crmMoney:$currency}</font></td>\n              </tr>\n              {if !empty($dataArray)}\n              {foreach from=$dataArray item=value key=priceset}\n                <tr>\n                  <td colspan=\"3\"></td>\n                    {if $priceset}\n                      <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm 2=$priceset}TOTAL %1 %2%{/ts}{/if}</font></td>\n                      <td style=\"text-align:right\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                    {elseif $priceset == 0}\n                      <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm}TOTAL %1{/ts}{/if}</font></td>\n                      <td style=\"text-align:right\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                    {/if}\n                </tr>\n              {/foreach}\n              {/if}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\"><b><font size=\"1\">{ts 1=$currency}TOTAL %1{/ts}</font></b></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">\n                  {if $contribution_status_id == $refundedStatusId}\n                    {ts}Amount Credited{/ts}\n                  {else}\n                    {ts}Amount Paid{/ts}\n                  {/if}\n                 </font>\n                </td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$amountPaid|crmMoney:$currency}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td colspan=\"2\"><hr></hr></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\" ><b><font size=\"1\">{ts}AMOUNT DUE:{/ts}</font></b></td>\n                <td style=\"text-align:right;\"><b><font size=\"1\">{$amountDue|crmMoney:$currency}</font></b></td>\n              </tr>\n\n              <br/><br/><br/>\n              <tr>\n                <td colspan=\"5\"></td>\n              </tr>\n              {if $contribution_status_id == $pendingStatusId && $is_pay_later == 1}\n                <tr>\n                  <td colspan=\"3\"><b><font size=\"1\" align=\"center\">{ts 1=$dueDate}DUE DATE: %1{/ts}</font></b></td>\n                  <td colspan=\"2\"></td>\n                </tr>\n              {/if}\n            </table>\n          </td>\n        </tr>\n      </table>\n\n      {if $contribution_status_id == $pendingStatusId && $is_pay_later == 1}\n        <table style=\"margin-top:5px;\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n          <tr>\n            <td><img src=\"{$resourceBase}/i/contribute/cut_line.png\" height=\"15\"></td>\n          </tr>\n        </table>\n\n        <table style=\"margin-top:5px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\" id=\"desc\">\n          <tr>\n            <td width=\"60%\"><b><font size=\"4\" align=\"right\">{ts}PAYMENT ADVICE{/ts}</font></b><br/><br/><font size=\"1\" align=\"left\"><b>{ts}To:{/ts}</b><div style=\"width:24em;word-wrap:break-word;\">\n              {$domain_organization}<br />\n              {$domain_street_address} {$domain_supplemental_address_1}<br />\n              {$domain_supplemental_address_2} {$domain_state}<br />\n              {$domain_city} {$domain_postal_code}<br />\n              {$domain_country}<br />\n              {$domain_email}</div>\n              {$domain_phone}<br />\n             </font><br/><br/><font size=\"1\" align=\"left\">{$notes}</font>\n            </td>\n            <td width=\"40%\">\n              <table cellpadding=\"5\" cellspacing=\"0\"  width=\"100%\" border=\"0\">\n                <tr>\n                  <td width=\"100%\"><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Customer:{/ts}</font></td>\n                  <td style=\"white-space: nowrap\"><font size=\"1\" align=\"right\">{contact.display_name}</font></td>\n                </tr>\n                <tr>\n                  <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Invoice Number:{/ts}</font></td>\n                  <td><font size=\"1\" align=\"right\">{$invoice_number}</font></td>\n                </tr>\n                <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></td></tr>\n                {if $is_pay_later == 1}\n                  <tr>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Amount Due:{/ts}</font></td>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amount|crmMoney:$currency}</font></td>\n                  </tr>\n                {else}\n                  <tr>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Amount Due:{/ts}</font></td>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amountDue|crmMoney:$currency}</font></td>\n                  </tr>\n                {/if}\n                <tr>\n                  <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Due Date:{/ts}</font></td>\n                  <td><font size=\"1\" align=\"right\">{$dueDate}</font></td>\n                </tr>\n                <tr>\n                  <td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></td>\n                </tr>\n              </table>\n      {/if}\n\n      {if $contribution_status_id == $refundedStatusId || $contribution_status_id == $cancelledStatusId}\n      {if $config->empoweredBy}\n        <table style=\"margin-top:2px;padding-left:7px;page-break-before: always;\">\n          <tr>\n            <td><img src=\"{$resourceBase}/i/civi99.png\" height=\"34px\" width=\"99px\"></td>\n          </tr>\n        </table>\n      {/if}\n\n      <table style=\"font-family: Arial, Verdana, sans-serif\" width=\"100%\" height=\"100\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\">\n        <tr>\n          <td style=\"padding-left:15px;\"><b><font size=\"4\" align=\"center\">{ts}CREDIT NOTE{/ts}</font></b></td>\n          <td style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Date:{/ts}</font></b></td>\n          <td><font size=\"1\" align=\"right\">{$domain_organization}</font></td>\n        </tr>\n        <tr>\n          {if $organization_name}\n            <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{contact.display_name}  ({$organization_name})</font></td>\n          {else}\n            <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{contact.display_name}</font></td>\n          {/if}\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$invoice_date}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_street_address }{$domain_street_address}{/if}\n              {if $domain_supplemental_address_1 }{$domain_supplemental_address_1}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{$street_address}   {$supplemental_address_1}</font></td>\n          <td style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Credit Note Number:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_supplemental_address_2 }{$domain_supplemental_address_2}{/if}\n              {if $domain_state }{$domain_state}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{$supplemental_address_2}  {$stateProvinceAbbreviation}</font></td>\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$creditnote_id}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_city}{$domain_city}{/if}\n              {if $domain_postal_code }{$domain_postal_code}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"right\">{$city}  {$postal_code}</font></td>\n          <td height=\"10\" style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Reference:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_country}{$domain_country}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$source}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_email}{$domain_email}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_phone}{$domain_phone}{/if}\n           </font>\n          </td>\n        </tr>\n      </table>\n\n      <table style=\"margin-top:75px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\" id=\"desc\">\n        <tr>\n          <td colspan=\"2\" {$valueStyle}>\n            <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n              <tr>\n                <th style=\"padding-right:28px;text-align:left;font-weight:bold;width:200px;\"><font size=\"1\">{ts}Description{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts}Quantity{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts}Unit Price{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{$taxTerm}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts 1=$currency}Amount %1{/ts}</font></th>\n              </tr>\n              {foreach from=$lineItem item=value key=priceset name=pricevalue}\n                {if $smarty.foreach.pricevalue.index eq 0}\n                  <tr><td colspan=\"5\"><hr size=\"3\" style=\"color:#000;\"></hr></td></tr>\n                {else}\n                  <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n                {/if}\n                <tr>\n                  <td style =\"text-align:left;\"  >\n                    <font size=\"1\">\n                      {if $value.html_type eq \'Text\'}\n                        {$value.label}\n                      {else}\n                        {$value.field_title} - {$value.label}\n                      {/if}\n                      {if $value.description}\n                        <div>{$value.description|truncate:30:\"...\"}</div>\n                      {/if}\n                   </font>\n                  </td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.qty}</font></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.unit_price|crmMoney:$currency}</font></td>\n                  {if $value.tax_amount != \'\'}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>\n                  {else}\n                    <td style=\"padding-left:28px;text-align:right\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm}No %1{/ts}{/if}</font></td>\n                  {/if}\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.subTotal|crmMoney:$currency}</font></td>\n                </tr>\n              {/foreach}\n              <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{ts}Sub Total{/ts}</font></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$subTotal|crmMoney:$currency}</font></td>\n              </tr>\n              {if !empty($dataArray)}\n              {foreach from=$dataArray item=value key=priceset}\n                <tr>\n                  <td colspan=\"3\"></td>\n                  {if $priceset}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm 2=$priceset}TOTAL %1 %2%{/ts}{/if}</font></td>\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                  {elseif $priceset == 0}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm}TOTAL NO %1{/ts}{/if}</font></td>\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                  {/if}\n                </tr>\n              {/foreach}\n              {/if}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td colspan=\"2\"><hr></hr></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{ts 1=$currency}TOTAL %1{/ts}</font></b></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n              {if $is_pay_later == 0}\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{ts}LESS Credit to invoice(s){/ts}</font></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n                </tr>\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td colspan=\"2\"><hr></hr></td>\n                </tr>\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{ts}REMAINING CREDIT{/ts}</font></b></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{$amountDue|crmMoney:$currency}</font></b></td>\n                  <td style=\"padding-left:28px;\"><font size=\"1\" align=\"right\"></font></td>\n                </tr>\n              {/if}\n              <br/><br/><br/>\n              <tr>\n                <td colspan=\"3\"></td>\n              </tr>\n              <tr>\n                <td></td>\n                <td colspan=\"3\"></td>\n              </tr>\n            </table>\n          </td>\n        </tr>\n      </table>\n\n      <table width=\"100%\" style=\"margin-top:5px;padding-right:45px;\">\n        <tr>\n          <td><img src=\"{$resourceBase}/i/contribute/cut_line.png\" height=\"15\" width=\"100%\"></td>\n        </tr>\n      </table>\n\n      <table style=\"margin-top:6px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\" id=\"desc\">\n        <tr>\n          <td width=\"60%\"><font size=\"4\" align=\"right\"><b>{ts}CREDIT ADVICE{/ts}</b><br/><br /><div style=\"font-size:10px;max-width:300px;\">{ts}Please do not pay on this advice. Deduct the amount of this Credit Note from your next payment to us{/ts}</div><br/></font></td>\n          <td width=\"40%\">\n            <table align=\"right\">\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Customer:{/ts}</font></td>\n                <td><font size=\"1\" align=\"right\">{contact.display_name}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Credit Note#:{/ts}</font></td>\n                <td><font size=\"1\" align=\"right\">{$creditnote_id}</font></td>\n              </tr>\n              <tr><td colspan=\"5\"style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Credit Amount:{/ts}</font></td>\n                <td width=\'50px\'><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n            </table>\n          </td>\n        </tr>\n      </table>\n    {/if}\n\n  </div>\n  </body>\n</html>\n',1,816,'contribution_invoice_receipt',1,0,0,NULL),
+ (10,'Contributions - Invoice','{if $title}\n  {if $component}\n    {if $component == \'event\'}\n      {ts 1=$title}Event Registration Invoice: %1{/ts}\n    {else}\n      {ts 1=$title}Contribution Invoice: %1{/ts}\n    {/if}\n  {/if}\n{else}\n  {ts}Invoice{/ts}\n{/if}\n - {contact.display_name}\n','{ts}Contribution Invoice{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n      <title></title>\n  </head>\n  <body>\n  <div style=\"padding-top:100px;margin-right:50px;border-style: none;\">\n    {if $config->empoweredBy}\n      <table style=\"margin-top:5px;padding-bottom:50px;\" cellpadding=\"5\" cellspacing=\"0\">\n        <tr>\n          <td><img src=\"{$resourceBase}/i/civi99.png\" height=\"34px\" width=\"99px\"></td>\n        </tr>\n      </table>\n    {/if}\n      <table style=\"font-family: Arial, Verdana, sans-serif;\" width=\"100%\" height=\"100\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">\n        <tr>\n          <td width=\"30%\"><b><font size=\"4\" align=\"center\">{ts}INVOICE{/ts}</font></b></td>\n          <td width=\"50%\" valign=\"bottom\"><b><font size=\"1\" align=\"center\">{ts}Invoice Date:{/ts}</font></b></td>\n          <td valign=\"bottom\" style=\"white-space: nowrap\"><b><font size=\"1\" align=\"right\">{$domain_organization}</font></b></td>\n        </tr>\n        <tr>\n          {if $organization_name}\n            <td><font size=\"1\" align=\"center\">{contact.display_name}  ({$organization_name})</font></td>\n          {else}\n            <td><font size=\"1\" align=\"center\">{contact.display_name}</font></td>\n          {/if}\n          <td><font size=\"1\" align=\"right\">{$invoice_date}</font></td>\n          <td style=\"white-space: nowrap\">\n            <font size=\"1\" align=\"right\">\n              {if $domain_street_address }{$domain_street_address}{/if}\n              {if $domain_supplemental_address_1 }{$domain_supplemental_address_1}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"center\">{$street_address} {$supplemental_address_1}</font></td>\n          <td><b><font size=\"1\" align=\"right\">{ts}Invoice Number:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_supplemental_address_2 }{$domain_supplemental_address_2}{/if}\n              {if $domain_state }{$domain_state}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"center\">{$supplemental_address_2} {$stateProvinceAbbreviation}</font></td>\n          <td><font size=\"1\" align=\"right\">{$invoice_number}</font></td>\n          <td style=\"white-space: nowrap\">\n            <font size=\"1\" align=\"right\">\n              {if $domain_city}{$domain_city}{/if}\n              {if $domain_postal_code }{$domain_postal_code}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"right\">{$city}  {$postal_code}</font></td>\n          <td height=\"10\"><b><font size=\"1\" align=\"right\">{ts}Reference:{/ts}</font></b></td>\n          <td><font size=\"1\" align=\"right\">{if $domain_country}{$domain_country}{/if}</font></td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"right\"> {$country}</font></td>\n          <td><font size=\"1\" align=\"right\">{if !empty($source)}{$source}{/if}</font></td>\n          <td valign=\"top\" style=\"white-space: nowrap\"><font size=\"1\" align=\"right\">{if $domain_email}{$domain_email}{/if}</font> </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td></td>\n          <td valign=\"top\"><font size=\"1\" align=\"right\">{if $domain_phone}{$domain_phone}{/if}</font> </td>\n        </tr>\n      </table>\n\n             <table style=\"padding-top:75px;font-family: Arial, Verdana, sans-serif;\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">\n              <tr>\n                <th style=\"text-align:left;font-weight:bold;width:100%\"><font size=\"1\">{ts}Description{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts}Quantity{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts}Unit Price{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{$taxTerm}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts 1=$currency}Amount %1{/ts}</font></th>\n              </tr>\n              {foreach from=$lineItem item=value key=priceset name=taxpricevalue}\n                {if $smarty.foreach.taxpricevalue.index eq 0}\n                {else}\n                {/if}\n                <tr>\n                  <td style=\"text-align:left;nowrap\"><font size=\"1\">\n                    {if $value.html_type eq \'Text\'}\n                      {$value.label}\n                    {else}\n                      {$value.field_title} - {$value.label}\n                    {/if}\n                    {if $value.description}\n                      <div>{$value.description|truncate:30:\"...\"}</div>\n                    {/if}\n                   </font>\n                  </td>\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.qty}</font></td>\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.unit_price|crmMoney:$currency}</font></td>\n                  {if $value.tax_amount != \'\'}\n                    <td style=\"text-align:right;\"><font size=\"1\">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>\n                  {else}\n                    <td style=\"text-align:right;\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm}-{/ts}{/if}</font></td>\n                  {/if}\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.subTotal|crmMoney:$currency}</font></td>\n                </tr>\n              {/foreach}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{ts}Sub Total{/ts}</font></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$subTotal|crmMoney:$currency}</font></td>\n              </tr>\n              {if !empty($dataArray)}\n              {foreach from=$dataArray item=value key=priceset}\n                <tr>\n                  <td colspan=\"3\"></td>\n                    {if $priceset}\n                      <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm 2=$priceset}TOTAL %1 %2%{/ts}{/if}</font></td>\n                      <td style=\"text-align:right\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                    {elseif $priceset == 0}\n                      <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm}TOTAL %1{/ts}{/if}</font></td>\n                      <td style=\"text-align:right\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                    {/if}\n                </tr>\n              {/foreach}\n              {/if}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\"><b><font size=\"1\">{ts 1=$currency}TOTAL %1{/ts}</font></b></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">\n                  {if $contribution_status_id == $refundedStatusId}\n                    {ts}Amount Credited{/ts}\n                  {else}\n                    {ts}Amount Paid{/ts}\n                  {/if}\n                 </font>\n                </td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$amountPaid|crmMoney:$currency}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td colspan=\"2\"><hr></hr></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\" ><b><font size=\"1\">{ts}AMOUNT DUE:{/ts}</font></b></td>\n                <td style=\"text-align:right;\"><b><font size=\"1\">{$amountDue|crmMoney:$currency}</font></b></td>\n              </tr>\n\n              <br/><br/><br/>\n              <tr>\n                <td colspan=\"5\"></td>\n              </tr>\n              {if $contribution_status_id == $pendingStatusId && $is_pay_later == 1}\n                <tr>\n                  <td colspan=\"3\"><b><font size=\"1\" align=\"center\">{ts 1=$dueDate}DUE DATE: %1{/ts}</font></b></td>\n                  <td colspan=\"2\"></td>\n                </tr>\n              {/if}\n            </table>\n          </td>\n        </tr>\n      </table>\n\n      {if $contribution_status_id == $pendingStatusId && $is_pay_later == 1}\n        <table style=\"margin-top:5px;\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n          <tr>\n            <td><img src=\"{$resourceBase}/i/contribute/cut_line.png\" height=\"15\"></td>\n          </tr>\n        </table>\n\n        <table style=\"margin-top:5px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\" id=\"desc\">\n          <tr>\n            <td width=\"60%\"><b><font size=\"4\" align=\"right\">{ts}PAYMENT ADVICE{/ts}</font></b><br/><br/><font size=\"1\" align=\"left\"><b>{ts}To:{/ts}</b><div style=\"width:24em;word-wrap:break-word;\">\n              {$domain_organization}<br />\n              {$domain_street_address} {$domain_supplemental_address_1}<br />\n              {$domain_supplemental_address_2} {$domain_state}<br />\n              {$domain_city} {$domain_postal_code}<br />\n              {$domain_country}<br />\n              {$domain_email}</div>\n              {$domain_phone}<br />\n             </font><br/><br/><font size=\"1\" align=\"left\">{$notes}</font>\n            </td>\n            <td width=\"40%\">\n              <table cellpadding=\"5\" cellspacing=\"0\"  width=\"100%\" border=\"0\">\n                <tr>\n                  <td width=\"100%\"><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Customer:{/ts}</font></td>\n                  <td style=\"white-space: nowrap\"><font size=\"1\" align=\"right\">{contact.display_name}</font></td>\n                </tr>\n                <tr>\n                  <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Invoice Number:{/ts}</font></td>\n                  <td><font size=\"1\" align=\"right\">{$invoice_number}</font></td>\n                </tr>\n                <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></td></tr>\n                {if $is_pay_later == 1}\n                  <tr>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Amount Due:{/ts}</font></td>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amount|crmMoney:$currency}</font></td>\n                  </tr>\n                {else}\n                  <tr>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Amount Due:{/ts}</font></td>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amountDue|crmMoney:$currency}</font></td>\n                  </tr>\n                {/if}\n                <tr>\n                  <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Due Date:{/ts}</font></td>\n                  <td><font size=\"1\" align=\"right\">{$dueDate}</font></td>\n                </tr>\n                <tr>\n                  <td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></td>\n                </tr>\n              </table>\n      {/if}\n\n      {if $contribution_status_id == $refundedStatusId || $contribution_status_id == $cancelledStatusId}\n      {if $config->empoweredBy}\n        <table style=\"margin-top:2px;padding-left:7px;page-break-before: always;\">\n          <tr>\n            <td><img src=\"{$resourceBase}/i/civi99.png\" height=\"34px\" width=\"99px\"></td>\n          </tr>\n        </table>\n      {/if}\n\n      <table style=\"font-family: Arial, Verdana, sans-serif\" width=\"100%\" height=\"100\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\">\n        <tr>\n          <td style=\"padding-left:15px;\"><b><font size=\"4\" align=\"center\">{ts}CREDIT NOTE{/ts}</font></b></td>\n          <td style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Date:{/ts}</font></b></td>\n          <td><font size=\"1\" align=\"right\">{$domain_organization}</font></td>\n        </tr>\n        <tr>\n          {if $organization_name}\n            <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{contact.display_name}  ({$organization_name})</font></td>\n          {else}\n            <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{contact.display_name}</font></td>\n          {/if}\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$invoice_date}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_street_address }{$domain_street_address}{/if}\n              {if $domain_supplemental_address_1 }{$domain_supplemental_address_1}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{$street_address}   {$supplemental_address_1}</font></td>\n          <td style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Credit Note Number:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_supplemental_address_2 }{$domain_supplemental_address_2}{/if}\n              {if $domain_state }{$domain_state}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{$supplemental_address_2}  {$stateProvinceAbbreviation}</font></td>\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$creditnote_id}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_city}{$domain_city}{/if}\n              {if $domain_postal_code }{$domain_postal_code}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"right\">{$city}  {$postal_code}</font></td>\n          <td height=\"10\" style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Reference:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_country}{$domain_country}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$source}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_email}{$domain_email}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_phone}{$domain_phone}{/if}\n           </font>\n          </td>\n        </tr>\n      </table>\n\n      <table style=\"margin-top:75px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\" id=\"desc\">\n        <tr>\n          <td colspan=\"2\" {$valueStyle}>\n            <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n              <tr>\n                <th style=\"padding-right:28px;text-align:left;font-weight:bold;width:200px;\"><font size=\"1\">{ts}Description{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts}Quantity{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts}Unit Price{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{$taxTerm}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts 1=$currency}Amount %1{/ts}</font></th>\n              </tr>\n              {foreach from=$lineItem item=value key=priceset name=pricevalue}\n                {if $smarty.foreach.pricevalue.index eq 0}\n                  <tr><td colspan=\"5\"><hr size=\"3\" style=\"color:#000;\"></hr></td></tr>\n                {else}\n                  <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n                {/if}\n                <tr>\n                  <td style =\"text-align:left;\"  >\n                    <font size=\"1\">\n                      {if $value.html_type eq \'Text\'}\n                        {$value.label}\n                      {else}\n                        {$value.field_title} - {$value.label}\n                      {/if}\n                      {if $value.description}\n                        <div>{$value.description|truncate:30:\"...\"}</div>\n                      {/if}\n                   </font>\n                  </td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.qty}</font></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.unit_price|crmMoney:$currency}</font></td>\n                  {if $value.tax_amount != \'\'}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>\n                  {else}\n                    <td style=\"padding-left:28px;text-align:right\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm}No %1{/ts}{/if}</font></td>\n                  {/if}\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.subTotal|crmMoney:$currency}</font></td>\n                </tr>\n              {/foreach}\n              <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{ts}Sub Total{/ts}</font></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$subTotal|crmMoney:$currency}</font></td>\n              </tr>\n              {if !empty($dataArray)}\n              {foreach from=$dataArray item=value key=priceset}\n                <tr>\n                  <td colspan=\"3\"></td>\n                  {if $priceset}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm 2=$priceset}TOTAL %1 %2%{/ts}{/if}</font></td>\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                  {elseif $priceset == 0}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm}TOTAL NO %1{/ts}{/if}</font></td>\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                  {/if}\n                </tr>\n              {/foreach}\n              {/if}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td colspan=\"2\"><hr></hr></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{ts 1=$currency}TOTAL %1{/ts}</font></b></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n              {if $is_pay_later == 0}\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{ts}LESS Credit to invoice(s){/ts}</font></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n                </tr>\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td colspan=\"2\"><hr></hr></td>\n                </tr>\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{ts}REMAINING CREDIT{/ts}</font></b></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{$amountDue|crmMoney:$currency}</font></b></td>\n                  <td style=\"padding-left:28px;\"><font size=\"1\" align=\"right\"></font></td>\n                </tr>\n              {/if}\n              <br/><br/><br/>\n              <tr>\n                <td colspan=\"3\"></td>\n              </tr>\n              <tr>\n                <td></td>\n                <td colspan=\"3\"></td>\n              </tr>\n            </table>\n          </td>\n        </tr>\n      </table>\n\n      <table width=\"100%\" style=\"margin-top:5px;padding-right:45px;\">\n        <tr>\n          <td><img src=\"{$resourceBase}/i/contribute/cut_line.png\" height=\"15\" width=\"100%\"></td>\n        </tr>\n      </table>\n\n      <table style=\"margin-top:6px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\" id=\"desc\">\n        <tr>\n          <td width=\"60%\"><font size=\"4\" align=\"right\"><b>{ts}CREDIT ADVICE{/ts}</b><br/><br /><div style=\"font-size:10px;max-width:300px;\">{ts}Please do not pay on this advice. Deduct the amount of this Credit Note from your next payment to us{/ts}</div><br/></font></td>\n          <td width=\"40%\">\n            <table align=\"right\">\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Customer:{/ts}</font></td>\n                <td><font size=\"1\" align=\"right\">{contact.display_name}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Credit Note#:{/ts}</font></td>\n                <td><font size=\"1\" align=\"right\">{$creditnote_id}</font></td>\n              </tr>\n              <tr><td colspan=\"5\"style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Credit Amount:{/ts}</font></td>\n                <td width=\'50px\'><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n            </table>\n          </td>\n        </tr>\n      </table>\n    {/if}\n\n  </div>\n  </body>\n</html>\n',1,816,'contribution_invoice_receipt',0,1,0,NULL),
+ (11,'Contributions - Recurring Start and End Notification','{ts}Recurring Contribution Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if $recur_txnType eq \'START\'}\n{if $auto_renew_membership}\n{ts}Thanks for your auto renew membership sign-up.{/ts}\n\n\n{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This membership will be automatically renewed every %1 %2(s).{/ts}\n\n{if $cancelSubscriptionUrl}\n{ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n{else}\n{ts}Thanks for your recurring contribution sign-up.{/ts}\n\n\n{ts 1=$recur_frequency_interval 2=$recur_frequency_unit 3=$recur_installments}This recurring contribution will be automatically processed every %1 %2(s){/ts}{if $recur_installments } {ts 1=$recur_installments} for a total of %1 installment(s){/ts}{/if}.\n\n{ts}Start Date{/ts}:  {$recur_start_date|crmDate}\n\n{if $cancelSubscriptionUrl}\n{ts 1=$cancelSubscriptionUrl}You can cancel the recurring contribution option by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionUrl}\n{ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n{/if}\n\n{elseif $recur_txnType eq \'END\'}\n{if $auto_renew_membership}\n{ts}Your auto renew membership sign-up has ended and your membership will not be automatically renewed.{/ts}\n\n\n{else}\n{ts}Your recurring contribution term has ended.{/ts}\n\n\n{ts 1=$recur_installments}You have successfully completed %1 recurring contributions. Thank you.{/ts}\n\n\n==================================================\n{ts 1=$recur_installments}Interval of Subscription for %1 installment(s){/ts}\n\n==================================================\n{ts}Start Date{/ts}: {$recur_start_date|crmDate}\n\n{ts}End Date{/ts}: {$recur_end_date|crmDate}\n\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n   </td>\n  </tr>\n\n  <tr>\n   <td>&nbsp;</td>\n  </tr>\n\n    {if $recur_txnType eq \'START\'}\n     {if $auto_renew_membership}\n       <tr>\n        <td>\n         <p>{ts}Thanks for your auto renew membership sign-up.{/ts}</p>\n         <p>{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This membership will be automatically renewed every %1 %2(s). {/ts}</p>\n        </td>\n       </tr>\n       {if $cancelSubscriptionUrl}\n       <tr>\n         <td {$labelStyle}>\n           {ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n         </td>\n       </tr>\n       {/if}\n       {if $updateSubscriptionBillingUrl}\n         <tr>\n          <td {$labelStyle}>\n           {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n         </tr>\n       {/if}\n     {else}\n      <tr>\n       <td>\n        <p>{ts}Thanks for your recurring contribution sign-up.{/ts}</p>\n        <p>{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This recurring contribution will be automatically processed every %1 %2(s){/ts}{if $recur_installments }{ts 1=$recur_installments} for a total of %1 installment(s){/ts}{/if}.</p>\n        <p>{ts}Start Date{/ts}: {$recur_start_date|crmDate}</p>\n       </td>\n      </tr>\n      {if $cancelSubscriptionUrl}\n      <tr>\n        <td {$labelStyle}>\n          {ts 1=$cancelSubscriptionUrl} You can cancel the recurring contribution option by <a href=\"%1\">visiting this web page</a>.{/ts}\n        </td>\n      </tr>\n      {/if}\n      {if $updateSubscriptionBillingUrl}\n        <tr>\n          <td {$labelStyle}>\n            {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n      {if $updateSubscriptionUrl}\n      <tr>\n        <td {$labelStyle}>\n          {ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n        </td>\n      </tr>\n      {/if}\n     {/if}\n\n    {elseif $recur_txnType eq \'END\'}\n\n     {if $auto_renew_membership}\n      <tr>\n       <td>\n        <p>{ts}Your auto renew membership sign-up has ended and your membership will not be automatically renewed.{/ts}</p>\n       </td>\n      </tr>\n     {else}\n      <tr>\n       <td>\n        <p>{ts}Your recurring contribution term has ended.{/ts}</p>\n        <p>{ts 1=$recur_installments}You have successfully completed %1 recurring contributions. Thank you.{/ts}</p>\n       </td>\n      </tr>\n      <tr>\n       <td>\n     <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n      <tr>\n       <th {$headerStyle}>\n        {ts 1=$recur_installments}Interval of Subscription for %1 installment(s){/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Start Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$recur_start_date|crmDate}\n       </td>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}End Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$recur_end_date|crmDate}\n       </td>\n      </tr>\n     </table>\n       </td>\n      </tr>\n\n     {/if}\n    {/if}\n\n </table>\n\n</body>\n</html>\n',1,817,'contribution_recurring_notify',1,0,0,NULL),
+ (12,'Contributions - Recurring Start and End Notification','{ts}Recurring Contribution Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if $recur_txnType eq \'START\'}\n{if $auto_renew_membership}\n{ts}Thanks for your auto renew membership sign-up.{/ts}\n\n\n{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This membership will be automatically renewed every %1 %2(s).{/ts}\n\n{if $cancelSubscriptionUrl}\n{ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n{else}\n{ts}Thanks for your recurring contribution sign-up.{/ts}\n\n\n{ts 1=$recur_frequency_interval 2=$recur_frequency_unit 3=$recur_installments}This recurring contribution will be automatically processed every %1 %2(s){/ts}{if $recur_installments } {ts 1=$recur_installments} for a total of %1 installment(s){/ts}{/if}.\n\n{ts}Start Date{/ts}:  {$recur_start_date|crmDate}\n\n{if $cancelSubscriptionUrl}\n{ts 1=$cancelSubscriptionUrl}You can cancel the recurring contribution option by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionUrl}\n{ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n{/if}\n\n{elseif $recur_txnType eq \'END\'}\n{if $auto_renew_membership}\n{ts}Your auto renew membership sign-up has ended and your membership will not be automatically renewed.{/ts}\n\n\n{else}\n{ts}Your recurring contribution term has ended.{/ts}\n\n\n{ts 1=$recur_installments}You have successfully completed %1 recurring contributions. Thank you.{/ts}\n\n\n==================================================\n{ts 1=$recur_installments}Interval of Subscription for %1 installment(s){/ts}\n\n==================================================\n{ts}Start Date{/ts}: {$recur_start_date|crmDate}\n\n{ts}End Date{/ts}: {$recur_end_date|crmDate}\n\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n   </td>\n  </tr>\n\n  <tr>\n   <td>&nbsp;</td>\n  </tr>\n\n    {if $recur_txnType eq \'START\'}\n     {if $auto_renew_membership}\n       <tr>\n        <td>\n         <p>{ts}Thanks for your auto renew membership sign-up.{/ts}</p>\n         <p>{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This membership will be automatically renewed every %1 %2(s). {/ts}</p>\n        </td>\n       </tr>\n       {if $cancelSubscriptionUrl}\n       <tr>\n         <td {$labelStyle}>\n           {ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n         </td>\n       </tr>\n       {/if}\n       {if $updateSubscriptionBillingUrl}\n         <tr>\n          <td {$labelStyle}>\n           {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n         </tr>\n       {/if}\n     {else}\n      <tr>\n       <td>\n        <p>{ts}Thanks for your recurring contribution sign-up.{/ts}</p>\n        <p>{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This recurring contribution will be automatically processed every %1 %2(s){/ts}{if $recur_installments }{ts 1=$recur_installments} for a total of %1 installment(s){/ts}{/if}.</p>\n        <p>{ts}Start Date{/ts}: {$recur_start_date|crmDate}</p>\n       </td>\n      </tr>\n      {if $cancelSubscriptionUrl}\n      <tr>\n        <td {$labelStyle}>\n          {ts 1=$cancelSubscriptionUrl} You can cancel the recurring contribution option by <a href=\"%1\">visiting this web page</a>.{/ts}\n        </td>\n      </tr>\n      {/if}\n      {if $updateSubscriptionBillingUrl}\n        <tr>\n          <td {$labelStyle}>\n            {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n      {if $updateSubscriptionUrl}\n      <tr>\n        <td {$labelStyle}>\n          {ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n        </td>\n      </tr>\n      {/if}\n     {/if}\n\n    {elseif $recur_txnType eq \'END\'}\n\n     {if $auto_renew_membership}\n      <tr>\n       <td>\n        <p>{ts}Your auto renew membership sign-up has ended and your membership will not be automatically renewed.{/ts}</p>\n       </td>\n      </tr>\n     {else}\n      <tr>\n       <td>\n        <p>{ts}Your recurring contribution term has ended.{/ts}</p>\n        <p>{ts 1=$recur_installments}You have successfully completed %1 recurring contributions. Thank you.{/ts}</p>\n       </td>\n      </tr>\n      <tr>\n       <td>\n     <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n      <tr>\n       <th {$headerStyle}>\n        {ts 1=$recur_installments}Interval of Subscription for %1 installment(s){/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Start Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$recur_start_date|crmDate}\n       </td>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}End Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$recur_end_date|crmDate}\n       </td>\n      </tr>\n     </table>\n       </td>\n      </tr>\n\n     {/if}\n    {/if}\n\n </table>\n\n</body>\n</html>\n',1,817,'contribution_recurring_notify',0,1,0,NULL),
+ (13,'Contributions - Recurring Cancellation Notification','{ts}Recurring Contribution Cancellation Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Your recurring contribution of %1, every %2 %3 has been cancelled as requested.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Your recurring contribution of %1, every %2 %3 has been cancelled as requested.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n</body>\n</html>\n',1,818,'contribution_recurring_cancelled',1,0,0,NULL),
+ (14,'Contributions - Recurring Cancellation Notification','{ts}Recurring Contribution Cancellation Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Your recurring contribution of %1, every %2 %3 has been cancelled as requested.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Your recurring contribution of %1, every %2 %3 has been cancelled as requested.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n</body>\n</html>\n',1,818,'contribution_recurring_cancelled',0,1,0,NULL),
+ (15,'Contributions - Recurring Billing Updates','{ts}Recurring Contribution Billing Updates{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Billing details for your recurring contribution of %1, every %2 %3 have been updated.{/ts}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Billing details for your recurring contribution of %1, every %2 %3 have been updated.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n    <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n        <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n            {ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n        </td>\n       </tr>\n  </table>\n\n</body>\n</html>\n',1,819,'contribution_recurring_billing',1,0,0,NULL),
+ (16,'Contributions - Recurring Billing Updates','{ts}Recurring Contribution Billing Updates{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Billing details for your recurring contribution of %1, every %2 %3 have been updated.{/ts}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Billing details for your recurring contribution of %1, every %2 %3 have been updated.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n    <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n        <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n            {ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n        </td>\n       </tr>\n  </table>\n\n</body>\n</html>\n',1,819,'contribution_recurring_billing',0,1,0,NULL),
+ (17,'Contributions - Recurring Updates','{ts}Recurring Contribution Update Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Your recurring contribution has been updated as requested:{/ts}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Recurring contribution is for %1, every %2 %3(s){/ts}\n{if $installments}{ts 1=$installments} for %1 installments.{/ts}{/if}\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Your recurring contribution has been updated as requested:{/ts}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Recurring contribution is for %1, every %2 %3(s){/ts}{if $installments}{ts 1=$installments} for %1 installments{/ts}{/if}.</p>\n\n    <p>{ts 1=$receipt_from_email}If you have questions please contact us at %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n</body>\n</html>\n',1,820,'contribution_recurring_edit',1,0,0,NULL),
+ (18,'Contributions - Recurring Updates','{ts}Recurring Contribution Update Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Your recurring contribution has been updated as requested:{/ts}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Recurring contribution is for %1, every %2 %3(s){/ts}\n{if $installments}{ts 1=$installments} for %1 installments.{/ts}{/if}\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Your recurring contribution has been updated as requested:{/ts}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Recurring contribution is for %1, every %2 %3(s){/ts}{if $installments}{ts 1=$installments} for %1 installments{/ts}{/if}.</p>\n\n    <p>{ts 1=$receipt_from_email}If you have questions please contact us at %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n</body>\n</html>\n',1,820,'contribution_recurring_edit',0,1,0,NULL),
+ (19,'Personal Campaign Pages - Admin Notification','{ts}Personal Campaign Page Notification{/ts} - {contact.display_name}\n','===========================================================\n{ts}Personal Campaign Page Notification{/ts}\n\n===========================================================\n{ts}Action{/ts}: {if $mode EQ \'Update\'}{ts}Updated personal campaign page{/ts}{else}{ts}New personal campaign page{/ts}{/if}\n{ts}Personal Campaign Page Title{/ts}: {$pcpTitle}\n{ts}Current Status{/ts}: {$pcpStatus}\n{capture assign=pcpURL}{crmURL p=\"civicrm/pcp/info\" q=\"reset=1&id=`$pcpId`\" h=0 a=1 fe=1}{/capture}\n{ts}View Page{/ts}:\n>> {$pcpURL}\n\n{ts}Supporter{/ts}: {$supporterName}\n>> {$supporterUrl}\n\n{ts}Linked to Contribution Page{/ts}: {$contribPageTitle}\n>> {$contribPageUrl}\n\n{ts}Manage Personal Campaign Pages{/ts}:\n>> {$managePCPUrl}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=pcpURL     }{crmURL p=\"civicrm/pcp/info\" q=\"reset=1&id=`$pcpId`\" h=0 a=1 fe=1}{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Personal Campaign Page Notification{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Action{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {if $mode EQ \'Update\'}\n        {ts}Updated personal campaign page{/ts}\n       {else}\n        {ts}New personal campaign page{/ts}\n       {/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Personal Campaign Page Title{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$pcpTitle}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Current Status{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$pcpStatus}\n      </td>\n     </tr>\n\n     <tr>\n      <td {$labelStyle}>\n       <a href=\"{$pcpURL}\">{ts}View Page{/ts}</a>\n      </td>\n      <td></td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Supporter{/ts}\n      </td>\n      <td {$valueStyle}>\n       <a href=\"{$supporterUrl}\">{$supporterName}</a>\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Linked to Contribution Page{/ts}\n      </td>\n      <td {$valueStyle}>\n       <a href=\"{$contribPageUrl}\">{$contribPageTitle}</a>\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       <a href=\"{$managePCPUrl}\">{ts}Manage Personal Campaign Pages{/ts}</a>\n      </td>\n      <td></td>\n     </tr>\n\n    </table>\n   </td>\n  </tr>\n </table>\n\n</body>\n</html>\n',1,821,'pcp_notify',1,0,0,NULL),
+ (20,'Personal Campaign Pages - Admin Notification','{ts}Personal Campaign Page Notification{/ts} - {contact.display_name}\n','===========================================================\n{ts}Personal Campaign Page Notification{/ts}\n\n===========================================================\n{ts}Action{/ts}: {if $mode EQ \'Update\'}{ts}Updated personal campaign page{/ts}{else}{ts}New personal campaign page{/ts}{/if}\n{ts}Personal Campaign Page Title{/ts}: {$pcpTitle}\n{ts}Current Status{/ts}: {$pcpStatus}\n{capture assign=pcpURL}{crmURL p=\"civicrm/pcp/info\" q=\"reset=1&id=`$pcpId`\" h=0 a=1 fe=1}{/capture}\n{ts}View Page{/ts}:\n>> {$pcpURL}\n\n{ts}Supporter{/ts}: {$supporterName}\n>> {$supporterUrl}\n\n{ts}Linked to Contribution Page{/ts}: {$contribPageTitle}\n>> {$contribPageUrl}\n\n{ts}Manage Personal Campaign Pages{/ts}:\n>> {$managePCPUrl}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=pcpURL     }{crmURL p=\"civicrm/pcp/info\" q=\"reset=1&id=`$pcpId`\" h=0 a=1 fe=1}{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Personal Campaign Page Notification{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Action{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {if $mode EQ \'Update\'}\n        {ts}Updated personal campaign page{/ts}\n       {else}\n        {ts}New personal campaign page{/ts}\n       {/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Personal Campaign Page Title{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$pcpTitle}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Current Status{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$pcpStatus}\n      </td>\n     </tr>\n\n     <tr>\n      <td {$labelStyle}>\n       <a href=\"{$pcpURL}\">{ts}View Page{/ts}</a>\n      </td>\n      <td></td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Supporter{/ts}\n      </td>\n      <td {$valueStyle}>\n       <a href=\"{$supporterUrl}\">{$supporterName}</a>\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Linked to Contribution Page{/ts}\n      </td>\n      <td {$valueStyle}>\n       <a href=\"{$contribPageUrl}\">{$contribPageTitle}</a>\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       <a href=\"{$managePCPUrl}\">{ts}Manage Personal Campaign Pages{/ts}</a>\n      </td>\n      <td></td>\n     </tr>\n\n    </table>\n   </td>\n  </tr>\n </table>\n\n</body>\n</html>\n',1,821,'pcp_notify',0,1,0,NULL),
+ (21,'Personal Campaign Pages - Supporter Status Change Notification','{ts 1=$contribPageTitle}Your Personal Campaign Page for %1{/ts} - {contact.display_name}\n','{if $pcpStatus eq \'Approved\'}\n============================\n{ts}Your Personal Campaign Page{/ts}\n\n============================\n\n{ts}Your personal campaign page has been approved and is now live.{/ts}\n\n{ts}Whenever you want to preview, update or promote your page{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser to go to your page{/ts}:\n{$pcpInfoURL}\n\n{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}\n\n{if $isTellFriendEnabled}\n\n{ts}After logging in, you can use this form to promote your fundraising page{/ts}:\n{$pcpTellFriendURL}\n\n{/if}\n\n{if $pcpNotifyEmailAddress}\n{ts}Questions? Send email to{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n\n{* Rejected message *}\n{elseif $pcpStatus eq \'Not Approved\'}\n============================\n{ts}Your Personal Campaign Page{/ts}\n\n============================\n\n{ts}Your personal campaign page has been reviewed. There were some issues with the content which prevented us from approving the page. We are sorry for any inconvenience.{/ts}\n\n{if $pcpNotifyEmailAddress}\n\n{ts}Please contact our site administrator for more information{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n\n    <h1>{ts}Your Personal Campaign Page{/ts}</h1>\n\n    {if $pcpStatus eq \'Approved\'}\n\n     <p>{ts}Your personal campaign page has been approved and is now live.{/ts}</p>\n     <p>{ts}Whenever you want to preview, update or promote your page{/ts}:</p>\n     <ol>\n      <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n      <li><a href=\"{$pcpInfoURL}\">{ts}Go to your page{/ts}</a></li>\n     </ol>\n     <p>{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}</p>\n\n     {if $isTellFriendEnabled}\n      <p><a href=\"{$pcpTellFriendURL}\">{ts}After logging in, you can use this form to promote your fundraising page{/ts}</a></p>\n     {/if}\n\n     {if $pcpNotifyEmailAddress}\n      <p>{ts}Questions? Send email to{/ts}: {$pcpNotifyEmailAddress}</p>\n     {/if}\n\n    {elseif $pcpStatus eq \'Not Approved\'}\n\n     <p>{ts}Your personal campaign page has been reviewed. There were some issues with the content which prevented us from approving the page. We are sorry for any inconvenience.{/ts}</p>\n     {if $pcpNotifyEmailAddress}\n      <p>{ts}Please contact our site administrator for more information{/ts}: {$pcpNotifyEmailAddress}</p>\n     {/if}\n\n    {/if}\n\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,822,'pcp_status_change',1,0,0,NULL),
+ (22,'Personal Campaign Pages - Supporter Status Change Notification','{ts 1=$contribPageTitle}Your Personal Campaign Page for %1{/ts} - {contact.display_name}\n','{if $pcpStatus eq \'Approved\'}\n============================\n{ts}Your Personal Campaign Page{/ts}\n\n============================\n\n{ts}Your personal campaign page has been approved and is now live.{/ts}\n\n{ts}Whenever you want to preview, update or promote your page{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser to go to your page{/ts}:\n{$pcpInfoURL}\n\n{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}\n\n{if $isTellFriendEnabled}\n\n{ts}After logging in, you can use this form to promote your fundraising page{/ts}:\n{$pcpTellFriendURL}\n\n{/if}\n\n{if $pcpNotifyEmailAddress}\n{ts}Questions? Send email to{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n\n{* Rejected message *}\n{elseif $pcpStatus eq \'Not Approved\'}\n============================\n{ts}Your Personal Campaign Page{/ts}\n\n============================\n\n{ts}Your personal campaign page has been reviewed. There were some issues with the content which prevented us from approving the page. We are sorry for any inconvenience.{/ts}\n\n{if $pcpNotifyEmailAddress}\n\n{ts}Please contact our site administrator for more information{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n\n    <h1>{ts}Your Personal Campaign Page{/ts}</h1>\n\n    {if $pcpStatus eq \'Approved\'}\n\n     <p>{ts}Your personal campaign page has been approved and is now live.{/ts}</p>\n     <p>{ts}Whenever you want to preview, update or promote your page{/ts}:</p>\n     <ol>\n      <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n      <li><a href=\"{$pcpInfoURL}\">{ts}Go to your page{/ts}</a></li>\n     </ol>\n     <p>{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}</p>\n\n     {if $isTellFriendEnabled}\n      <p><a href=\"{$pcpTellFriendURL}\">{ts}After logging in, you can use this form to promote your fundraising page{/ts}</a></p>\n     {/if}\n\n     {if $pcpNotifyEmailAddress}\n      <p>{ts}Questions? Send email to{/ts}: {$pcpNotifyEmailAddress}</p>\n     {/if}\n\n    {elseif $pcpStatus eq \'Not Approved\'}\n\n     <p>{ts}Your personal campaign page has been reviewed. There were some issues with the content which prevented us from approving the page. We are sorry for any inconvenience.{/ts}</p>\n     {if $pcpNotifyEmailAddress}\n      <p>{ts}Please contact our site administrator for more information{/ts}: {$pcpNotifyEmailAddress}</p>\n     {/if}\n\n    {/if}\n\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,822,'pcp_status_change',0,1,0,NULL),
+ (23,'Personal Campaign Pages - Supporter Welcome','{ts 1=$contribPageTitle}Your Personal Campaign Page for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=\"$contribPageTitle\"}Thanks for creating a personal campaign page in support of %1.{/ts}\n\n{if $pcpStatus eq \'Approved\'}\n====================\n{ts}Promoting Your Page{/ts}\n\n====================\n{if $isTellFriendEnabled}\n\n{ts}You can begin your fundraising efforts using our \"Tell a Friend\" form{/ts}:\n\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser and follow the prompts{/ts}:\n{$pcpTellFriendURL}\n{else}\n\n{ts}Send email to family, friends and colleagues with a personal message about this campaign.{/ts}\n{ts}Include this link to your fundraising page in your emails{/ts}:\n{$pcpInfoURL}\n{/if}\n\n===================\n{ts}Managing Your Page{/ts}\n\n===================\n{ts}Whenever you want to preview, update or promote your page{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser to go to your page{/ts}:\n{$pcpInfoURL}\n\n{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}\n\n\n{elseif $pcpStatus EQ \'Waiting Review\'}\n{ts}Your page requires administrator review before you can begin your fundraising efforts.{/ts}\n\n\n{ts}A notification email has been sent to the site administrator, and you will receive another notification from them as soon as the review process is complete.{/ts}\n\n\n{ts}You can still preview your page prior to approval{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser{/ts}:\n{$pcpInfoURL}\n\n{/if}\n{if $pcpNotifyEmailAddress}\n{ts}Questions? Send email to{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=\"$contribPageTitle\"}Thanks for creating a personal campaign page in support of %1.{/ts}</p>\n   </td>\n  </tr>\n\n  {if $pcpStatus eq \'Approved\'}\n\n    <tr>\n     <td>\n      <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n       <tr>\n        <th {$headerStyle}>\n         {ts}Promoting Your Page{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {if $isTellFriendEnabled}\n          <p>{ts}You can begin your fundraising efforts using our \"Tell a Friend\" form{/ts}:</p>\n          <ol>\n           <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n           <li><a href=\"{$pcpTellFriendURL}\">{ts}Click this link and follow the prompts{/ts}</a></li>\n          </ol>\n         {else}\n          <p>{ts}Send email to family, friends and colleagues with a personal message about this campaign.{/ts} {ts}Include this link to your fundraising page in your emails{/ts}: {$pcpInfoURL}</p>\n         {/if}\n        </td>\n       </tr>\n       <tr>\n        <th {$headerStyle}>\n         {ts}Managing Your Page{/ts}\n        </th>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}Whenever you want to preview, update or promote your page{/ts}:</p>\n         <ol>\n          <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n          <li><a href=\"{$pcpInfoURL}\">{ts}Go to your page{/ts}</a></li>\n         </ol>\n         <p>{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}</p>\n        </td>\n       </tr>\n       </tr>\n      </table>\n     </td>\n    </tr>\n\n   {elseif $pcpStatus EQ \'Waiting Review\'}\n\n    <tr>\n     <td>\n      <p>{ts}Your page requires administrator review before you can begin your fundraising efforts.{/ts}</p>\n      <p>{ts}A notification email has been sent to the site administrator, and you will receive another notification from them as soon as the review process is complete.{/ts}</p>\n      <p>{ts}You can still preview your page prior to approval{/ts}:</p>\n      <ol>\n       <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n       <li><a href=\"{$pcpInfoURL}\">{ts}Click this link{/ts}</a></li>\n      </ol>\n     </td>\n    </tr>\n\n   {/if}\n\n   {if $pcpNotifyEmailAddress}\n    <tr>\n     <td>\n      <p>{ts}Questions? Send email to{/ts}: {$pcpNotifyEmailAddress}</p>\n     </td>\n    </tr>\n   {/if}\n\n </table>\n\n</body>\n</html>\n',1,823,'pcp_supporter_notify',1,0,0,NULL),
+ (24,'Personal Campaign Pages - Supporter Welcome','{ts 1=$contribPageTitle}Your Personal Campaign Page for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=\"$contribPageTitle\"}Thanks for creating a personal campaign page in support of %1.{/ts}\n\n{if $pcpStatus eq \'Approved\'}\n====================\n{ts}Promoting Your Page{/ts}\n\n====================\n{if $isTellFriendEnabled}\n\n{ts}You can begin your fundraising efforts using our \"Tell a Friend\" form{/ts}:\n\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser and follow the prompts{/ts}:\n{$pcpTellFriendURL}\n{else}\n\n{ts}Send email to family, friends and colleagues with a personal message about this campaign.{/ts}\n{ts}Include this link to your fundraising page in your emails{/ts}:\n{$pcpInfoURL}\n{/if}\n\n===================\n{ts}Managing Your Page{/ts}\n\n===================\n{ts}Whenever you want to preview, update or promote your page{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser to go to your page{/ts}:\n{$pcpInfoURL}\n\n{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}\n\n\n{elseif $pcpStatus EQ \'Waiting Review\'}\n{ts}Your page requires administrator review before you can begin your fundraising efforts.{/ts}\n\n\n{ts}A notification email has been sent to the site administrator, and you will receive another notification from them as soon as the review process is complete.{/ts}\n\n\n{ts}You can still preview your page prior to approval{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser{/ts}:\n{$pcpInfoURL}\n\n{/if}\n{if $pcpNotifyEmailAddress}\n{ts}Questions? Send email to{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=\"$contribPageTitle\"}Thanks for creating a personal campaign page in support of %1.{/ts}</p>\n   </td>\n  </tr>\n\n  {if $pcpStatus eq \'Approved\'}\n\n    <tr>\n     <td>\n      <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n       <tr>\n        <th {$headerStyle}>\n         {ts}Promoting Your Page{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {if $isTellFriendEnabled}\n          <p>{ts}You can begin your fundraising efforts using our \"Tell a Friend\" form{/ts}:</p>\n          <ol>\n           <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n           <li><a href=\"{$pcpTellFriendURL}\">{ts}Click this link and follow the prompts{/ts}</a></li>\n          </ol>\n         {else}\n          <p>{ts}Send email to family, friends and colleagues with a personal message about this campaign.{/ts} {ts}Include this link to your fundraising page in your emails{/ts}: {$pcpInfoURL}</p>\n         {/if}\n        </td>\n       </tr>\n       <tr>\n        <th {$headerStyle}>\n         {ts}Managing Your Page{/ts}\n        </th>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}Whenever you want to preview, update or promote your page{/ts}:</p>\n         <ol>\n          <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n          <li><a href=\"{$pcpInfoURL}\">{ts}Go to your page{/ts}</a></li>\n         </ol>\n         <p>{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}</p>\n        </td>\n       </tr>\n       </tr>\n      </table>\n     </td>\n    </tr>\n\n   {elseif $pcpStatus EQ \'Waiting Review\'}\n\n    <tr>\n     <td>\n      <p>{ts}Your page requires administrator review before you can begin your fundraising efforts.{/ts}</p>\n      <p>{ts}A notification email has been sent to the site administrator, and you will receive another notification from them as soon as the review process is complete.{/ts}</p>\n      <p>{ts}You can still preview your page prior to approval{/ts}:</p>\n      <ol>\n       <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n       <li><a href=\"{$pcpInfoURL}\">{ts}Click this link{/ts}</a></li>\n      </ol>\n     </td>\n    </tr>\n\n   {/if}\n\n   {if $pcpNotifyEmailAddress}\n    <tr>\n     <td>\n      <p>{ts}Questions? Send email to{/ts}: {$pcpNotifyEmailAddress}</p>\n     </td>\n    </tr>\n   {/if}\n\n </table>\n\n</body>\n</html>\n',1,823,'pcp_supporter_notify',0,1,0,NULL),
+ (25,'Personal Campaign Pages - Owner Notification','{ts}Someone has just donated to your personal campaign page{/ts} - {contact.display_name}\n','===========================================================\n{ts}Personal Campaign Page Owner Notification{/ts}\n\n===========================================================\n{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts}You have received a donation at your personal page{/ts}: {$page_title}\n>> {$pcpInfoURL}\n\n{ts}Your fundraising total has been updated.{/ts}\n{ts}The donor\'s information is listed below.  You can choose to contact them and convey your thanks if you wish.{/ts}\n{if $is_honor_roll_enabled}\n    {ts}The donor\'s name has been added to your honor roll unless they asked not to be included.{/ts}\n{/if}\n\n{ts}Received{/ts}: {$receive_date|crmDate}\n\n{ts}Amount{/ts}: {$total_amount|crmMoney:$currency}\n\n{ts}Name{/ts}: {$donors_display_name}\n\n{ts}Email{/ts}: {$donors_email}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n  <p>{ts}You have received a donation at your personal page{/ts}: <a href=\"{$pcpInfoURL}\">{$page_title}</a></p>\n  <p>{ts}Your fundraising total has been updated.{/ts}<br/>\n    {ts}The donor\'s information is listed below.  You can choose to contact them and convey your thanks if you wish.{/ts} <br/>\n    {if $is_honor_roll_enabled}\n      {ts}The donor\'s name has been added to your honor roll unless they asked not to be included.{/ts}<br/>\n    {/if}\n  </p>\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n    <tr><td>{ts}Received{/ts}:</td><td> {$receive_date|crmDate}</td></tr>\n    <tr><td>{ts}Amount{/ts}:</td><td> {$total_amount|crmMoney:$currency}</td></tr>\n    <tr><td>{ts}Name{/ts}:</td><td> {$donors_display_name}</td></tr>\n    <tr><td>{ts}Email{/ts}:</td><td> {$donors_email}</td></tr>\n  </table>\n</body>\n</html>\n',1,824,'pcp_owner_notify',1,0,0,NULL),
+ (26,'Personal Campaign Pages - Owner Notification','{ts}Someone has just donated to your personal campaign page{/ts} - {contact.display_name}\n','===========================================================\n{ts}Personal Campaign Page Owner Notification{/ts}\n\n===========================================================\n{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts}You have received a donation at your personal page{/ts}: {$page_title}\n>> {$pcpInfoURL}\n\n{ts}Your fundraising total has been updated.{/ts}\n{ts}The donor\'s information is listed below.  You can choose to contact them and convey your thanks if you wish.{/ts}\n{if $is_honor_roll_enabled}\n    {ts}The donor\'s name has been added to your honor roll unless they asked not to be included.{/ts}\n{/if}\n\n{ts}Received{/ts}: {$receive_date|crmDate}\n\n{ts}Amount{/ts}: {$total_amount|crmMoney:$currency}\n\n{ts}Name{/ts}: {$donors_display_name}\n\n{ts}Email{/ts}: {$donors_email}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n  <p>{ts}You have received a donation at your personal page{/ts}: <a href=\"{$pcpInfoURL}\">{$page_title}</a></p>\n  <p>{ts}Your fundraising total has been updated.{/ts}<br/>\n    {ts}The donor\'s information is listed below.  You can choose to contact them and convey your thanks if you wish.{/ts} <br/>\n    {if $is_honor_roll_enabled}\n      {ts}The donor\'s name has been added to your honor roll unless they asked not to be included.{/ts}<br/>\n    {/if}\n  </p>\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n    <tr><td>{ts}Received{/ts}:</td><td> {$receive_date|crmDate}</td></tr>\n    <tr><td>{ts}Amount{/ts}:</td><td> {$total_amount|crmMoney:$currency}</td></tr>\n    <tr><td>{ts}Name{/ts}:</td><td> {$donors_display_name}</td></tr>\n    <tr><td>{ts}Email{/ts}:</td><td> {$donors_email}</td></tr>\n  </table>\n</body>\n</html>\n',1,824,'pcp_owner_notify',0,1,0,NULL),
+ (27,'Additional Payment Receipt or Refund Notification','{if $isRefund}{ts}Refund Notification{/ts}{else}{ts}Payment Receipt{/ts}{/if}{if $component eq \'event\'} - {$event.title}{/if} - {contact.display_name}\n','{if $emailGreeting}{$emailGreeting},\n{/if}\n\n{if $isRefund}\n{ts}A refund has been issued based on changes in your registration selections.{/ts}\n{else}\n{ts}Below you will find a receipt for this payment.{/ts}\n{/if}\n{if $paymentsComplete}\n{ts}Thank you for completing this payment.{/ts}\n{/if}\n\n{if $isRefund}\n===============================================================================\n\n{ts}Refund Details{/ts}\n\n===============================================================================\n{ts}This Refund Amount{/ts}: {$refundAmount|crmMoney}\n------------------------------------------------------------------------------------\n\n{else}\n===============================================================================\n\n{ts}Payment Details{/ts}\n\n===============================================================================\n{ts}This Payment Amount{/ts}: {$paymentAmount|crmMoney}\n------------------------------------------------------------------------------------\n{/if}\n{if $receive_date}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n\n===============================================================================\n\n{ts}Contribution Details{/ts}\n\n===============================================================================\n{if isset($totalAmount)}\n{ts}Total Fee{/ts}: {$totalAmount|crmMoney}\n{/if}\n{if isset($totalPaid)}\n{ts}Total Paid{/ts}: {$totalPaid|crmMoney}\n{/if}\n{if isset($amountOwed)}\n{ts}Balance Owed{/ts}: {$amountOwed|crmMoney} {* This will be zero after final payment. *}\n{/if}\n\n\n{if !empty($billingName) || !empty($address)}\n\n===============================================================================\n\n{ts}Billing Name and Address{/ts}\n\n===============================================================================\n{if !empty($billingName)}\n{$billingName}\n{/if}\n{if !empty($address)}\n{$address}\n{/if}\n{/if}\n\n{if !empty($credit_card_number)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===============================================================================\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{if $component eq \'event\'}\n===============================================================================\n\n{ts}Event Information and Location{/ts}\n\n===============================================================================\n\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{if !empty($event.participant_role)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=emptyBlockStyle }style=\"padding: 10px; border-bottom: 1px solid #999;background-color: #f7f7f7;\"{/capture}\n{capture assign=emptyBlockValueStyle }style=\"padding: 10px; border-bottom: 1px solid #999;\"{/capture}\n\n <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n  <tr>\n    <td>\n      {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n      {if $isRefund}\n        <p>{ts}A refund has been issued based on changes in your registration selections.{/ts}</p>\n      {else}\n        <p>{ts}Below you will find a receipt for this payment.{/ts}</p>\n        {if $paymentsComplete}\n          <p>{ts}Thank you for completing this contribution.{/ts}</p>\n        {/if}\n      {/if}\n    </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n    {if $isRefund}\n      <tr>\n        <th {$headerStyle}>{ts}Refund Details{/ts}</th>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n        {ts}This Refund Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$refundAmount|crmMoney}\n        </td>\n      </tr>\n    {else}\n      <tr>\n        <th {$headerStyle}>{ts}Payment Details{/ts}</th>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n        {ts}This Payment Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$paymentAmount|crmMoney}\n        </td>\n      </tr>\n    {/if}\n    {if $receive_date}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Transaction Date{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$receive_date|crmDate}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($trxn_id)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$trxn_id}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($paidBy)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Paid By{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$paidBy}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($checkNumber)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Check Number{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$checkNumber}\n        </td>\n      </tr>\n    {/if}\n\n  <tr>\n    <th {$headerStyle}>{ts}Contribution Details{/ts}</th>\n  </tr>\n  {if isset($totalAmount)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Total Fee{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$totalAmount|crmMoney}\n    </td>\n  </tr>\n  {/if}\n  {if isset($totalPaid)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Total Paid{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$totalPaid|crmMoney}\n    </td>\n  </tr>\n  {/if}\n  {if isset($amountOwed)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Balance Owed{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$amountOwed|crmMoney}\n    </td> {* This will be zero after final payment. *}\n  </tr>\n  {/if}\n  </table>\n\n  </td>\n  </tr>\n    <tr>\n      <td>\n  <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n    {if !empty($billingName) || !empty($address)}\n          <tr>\n            <th {$headerStyle}>\n        {ts}Billing Name and Address{/ts}\n            </th>\n          </tr>\n          <tr>\n            <td colspan=\"2\" {$valueStyle}>\n        {if !empty($billingName)}{$billingName}{/if}<br />\n        {if !empty($address)}{$address|nl2br}{/if}\n            </td>\n          </tr>\n    {/if}\n    {if !empty($credit_card_number)}\n          <tr>\n            <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n            </th>\n          </tr>\n          <tr>\n            <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires:{/ts} {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n            </td>\n          </tr>\n    {/if}\n    {if $component eq \'event\'}\n    <tr>\n      <th {$headerStyle}>\n        {ts}Event Information and Location{/ts}\n      </th>\n    </tr>\n    <tr>\n      <td colspan=\"2\" {$valueStyle}>\n         {$event.event_title}<br />\n        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n    </tr>\n\n    {if !empty($event.participant_role)}\n    <tr>\n      <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n      </td>\n      <td {$valueStyle}>\n        {$event.participant_role}\n      </td>\n    </tr>\n    {/if}\n\n    {if !empty($isShowLocation)}\n    <tr>\n      <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n      </td>\n    </tr>\n    {/if}\n\n    {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n    <tr>\n      <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n      </td>\n    </tr>\n    {foreach from=$location.phone item=phone}\n    {if $phone.phone}\n          <tr>\n            <td {$labelStyle}>\n        {if $phone.phone_type}\n        {$phone.phone_type_display}\n        {else}\n        {ts}Phone{/ts}\n        {/if}\n            </td>\n            <td {$valueStyle}>\n        {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n            </td>\n          </tr>\n    {/if}\n    {/foreach}\n    {foreach from=$location.email item=eventEmail}\n    {if $eventEmail.email}\n          <tr>\n            <td {$labelStyle}>\n        {ts}Email{/ts}\n            </td>\n            <td {$valueStyle}>\n        {$eventEmail.email}\n            </td>\n          </tr>\n    {/if}\n    {/foreach}\n    {/if} {*phone block close*}\n    {/if}\n  </table>\n      </td>\n    </tr>\n\n    </table>\n\n </body>\n</html>\n',1,825,'payment_or_refund_notification',1,0,0,NULL),
+ (28,'Additional Payment Receipt or Refund Notification','{if $isRefund}{ts}Refund Notification{/ts}{else}{ts}Payment Receipt{/ts}{/if}{if $component eq \'event\'} - {$event.title}{/if} - {contact.display_name}\n','{if $emailGreeting}{$emailGreeting},\n{/if}\n\n{if $isRefund}\n{ts}A refund has been issued based on changes in your registration selections.{/ts}\n{else}\n{ts}Below you will find a receipt for this payment.{/ts}\n{/if}\n{if $paymentsComplete}\n{ts}Thank you for completing this payment.{/ts}\n{/if}\n\n{if $isRefund}\n===============================================================================\n\n{ts}Refund Details{/ts}\n\n===============================================================================\n{ts}This Refund Amount{/ts}: {$refundAmount|crmMoney}\n------------------------------------------------------------------------------------\n\n{else}\n===============================================================================\n\n{ts}Payment Details{/ts}\n\n===============================================================================\n{ts}This Payment Amount{/ts}: {$paymentAmount|crmMoney}\n------------------------------------------------------------------------------------\n{/if}\n{if $receive_date}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n\n===============================================================================\n\n{ts}Contribution Details{/ts}\n\n===============================================================================\n{if isset($totalAmount)}\n{ts}Total Fee{/ts}: {$totalAmount|crmMoney}\n{/if}\n{if isset($totalPaid)}\n{ts}Total Paid{/ts}: {$totalPaid|crmMoney}\n{/if}\n{if isset($amountOwed)}\n{ts}Balance Owed{/ts}: {$amountOwed|crmMoney} {* This will be zero after final payment. *}\n{/if}\n\n\n{if !empty($billingName) || !empty($address)}\n\n===============================================================================\n\n{ts}Billing Name and Address{/ts}\n\n===============================================================================\n{if !empty($billingName)}\n{$billingName}\n{/if}\n{if !empty($address)}\n{$address}\n{/if}\n{/if}\n\n{if !empty($credit_card_number)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===============================================================================\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{if $component eq \'event\'}\n===============================================================================\n\n{ts}Event Information and Location{/ts}\n\n===============================================================================\n\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{if !empty($event.participant_role)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=emptyBlockStyle }style=\"padding: 10px; border-bottom: 1px solid #999;background-color: #f7f7f7;\"{/capture}\n{capture assign=emptyBlockValueStyle }style=\"padding: 10px; border-bottom: 1px solid #999;\"{/capture}\n\n <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n  <tr>\n    <td>\n      {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n      {if $isRefund}\n        <p>{ts}A refund has been issued based on changes in your registration selections.{/ts}</p>\n      {else}\n        <p>{ts}Below you will find a receipt for this payment.{/ts}</p>\n        {if $paymentsComplete}\n          <p>{ts}Thank you for completing this contribution.{/ts}</p>\n        {/if}\n      {/if}\n    </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n    {if $isRefund}\n      <tr>\n        <th {$headerStyle}>{ts}Refund Details{/ts}</th>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n        {ts}This Refund Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$refundAmount|crmMoney}\n        </td>\n      </tr>\n    {else}\n      <tr>\n        <th {$headerStyle}>{ts}Payment Details{/ts}</th>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n        {ts}This Payment Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$paymentAmount|crmMoney}\n        </td>\n      </tr>\n    {/if}\n    {if $receive_date}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Transaction Date{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$receive_date|crmDate}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($trxn_id)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$trxn_id}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($paidBy)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Paid By{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$paidBy}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($checkNumber)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Check Number{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$checkNumber}\n        </td>\n      </tr>\n    {/if}\n\n  <tr>\n    <th {$headerStyle}>{ts}Contribution Details{/ts}</th>\n  </tr>\n  {if isset($totalAmount)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Total Fee{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$totalAmount|crmMoney}\n    </td>\n  </tr>\n  {/if}\n  {if isset($totalPaid)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Total Paid{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$totalPaid|crmMoney}\n    </td>\n  </tr>\n  {/if}\n  {if isset($amountOwed)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Balance Owed{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$amountOwed|crmMoney}\n    </td> {* This will be zero after final payment. *}\n  </tr>\n  {/if}\n  </table>\n\n  </td>\n  </tr>\n    <tr>\n      <td>\n  <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n    {if !empty($billingName) || !empty($address)}\n          <tr>\n            <th {$headerStyle}>\n        {ts}Billing Name and Address{/ts}\n            </th>\n          </tr>\n          <tr>\n            <td colspan=\"2\" {$valueStyle}>\n        {if !empty($billingName)}{$billingName}{/if}<br />\n        {if !empty($address)}{$address|nl2br}{/if}\n            </td>\n          </tr>\n    {/if}\n    {if !empty($credit_card_number)}\n          <tr>\n            <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n            </th>\n          </tr>\n          <tr>\n            <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires:{/ts} {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n            </td>\n          </tr>\n    {/if}\n    {if $component eq \'event\'}\n    <tr>\n      <th {$headerStyle}>\n        {ts}Event Information and Location{/ts}\n      </th>\n    </tr>\n    <tr>\n      <td colspan=\"2\" {$valueStyle}>\n         {$event.event_title}<br />\n        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n    </tr>\n\n    {if !empty($event.participant_role)}\n    <tr>\n      <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n      </td>\n      <td {$valueStyle}>\n        {$event.participant_role}\n      </td>\n    </tr>\n    {/if}\n\n    {if !empty($isShowLocation)}\n    <tr>\n      <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n      </td>\n    </tr>\n    {/if}\n\n    {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n    <tr>\n      <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n      </td>\n    </tr>\n    {foreach from=$location.phone item=phone}\n    {if $phone.phone}\n          <tr>\n            <td {$labelStyle}>\n        {if $phone.phone_type}\n        {$phone.phone_type_display}\n        {else}\n        {ts}Phone{/ts}\n        {/if}\n            </td>\n            <td {$valueStyle}>\n        {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n            </td>\n          </tr>\n    {/if}\n    {/foreach}\n    {foreach from=$location.email item=eventEmail}\n    {if $eventEmail.email}\n          <tr>\n            <td {$labelStyle}>\n        {ts}Email{/ts}\n            </td>\n            <td {$valueStyle}>\n        {$eventEmail.email}\n            </td>\n          </tr>\n    {/if}\n    {/foreach}\n    {/if} {*phone block close*}\n    {/if}\n  </table>\n      </td>\n    </tr>\n\n    </table>\n\n </body>\n</html>\n',1,825,'payment_or_refund_notification',0,1,0,NULL),
+ (29,'Events - Registration Confirmation and Receipt (off-line)','{ts}Event Confirmation{/ts} - {$event.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n{$event.confirm_email_text}\n{/if}\n\n{if !empty($isOnWaitlist)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}You have been added to the WAIT LIST for this event.{/ts}\n\n{if !empty($isPrimary)}\n{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{elseif !empty($isRequireApproval)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Your registration has been submitted.{/ts}\n\n{if !empty($isPrimary)}\n{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{elseif !empty($is_pay_later)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{/if}\n\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Event Information and Location{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and empty($defaultRole)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if !empty($event.is_public)}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if !empty($email)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Registered Email{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$email}\n{/if}\n{if !empty($event.is_monetary)} {* This section for Paid events only.*}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if !empty($event.fee_label)}{$event.fee_label}{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if !empty($lineItem)}{foreach from=$lineItem item=value key=priceset}\n\n{if $value neq \'skip\'}\n{if !empty($isPrimary)}\n{if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n{ts 1=$priceset+1}Participant %1{/ts}\n{/if}\n{/if}\n---------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{capture assign=ts_participant_total}{if !empty($pricesetFieldsCount) }{ts}Total Participants{/ts}{/if}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"} {if !empty($ts_participant_total)}{$ts_participant_total|string_format:\"%10s\"}{/if}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{foreach from=$value item=line}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney|string_format:\"%10s\"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:\"%10s\"}{/if}\n{/foreach}\n{/if}\n{/foreach}\n\n{if !empty($dataArray)}\n{if isset($totalAmount) and isset($totalTaxAmount)}\n{ts}Amount before Tax{/ts}: {$totalAmount-$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n{/if}\n\n{if !empty($amount) && !$lineItem}\n{foreach from=$amount item=amnt key=level}{$amnt.amount|crmMoney} {$amnt.label}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{if !empty($isPrimary)}\n\n{if !empty($balanceAmount)}{ts}Total Paid{/ts}{else}{ts}Total Amount{/ts}{/if}: {if !empty($totalAmount)}{$totalAmount|crmMoney}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n\n{if !empty($balanceAmount)}\n{ts}Balance{/ts}: {$balanceAmount|crmMoney}\n{/if}\n\n{if !empty($pricesetFieldsCount) }\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n        {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n        {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n\n{ts}Total Participants{/ts}: {$count}\n{/if}\n\n{if !empty($is_pay_later) }\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$pay_later_receipt}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$register_date|crmDate}\n{/if}\n{if $receive_date}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($financialTypeName)}\n{ts}Financial Type{/ts}: {$financialTypeName}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n{if !empty($billingName)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Billing Name and Address{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n{/if} {* End of conditional section for Paid events *}\n\n{if !empty($customPre)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customPre_grouptitle}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$customPre item=value key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n{$customName}: {$value}\n{/if}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customPost_grouptitle}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$customPost item=value key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n{$customName}: {$value}\n{/if}\n{/foreach}\n{/if}\n{if !empty($customProfile)}\n\n{foreach from=$customProfile item=value key=customName}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts 1=$customName+1}Participant Information - Participant %1{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$value item=val key=field}\n{if $field eq \'additionalCustomPre\' or $field eq \'additionalCustomPost\' }\n{if $field eq \'additionalCustomPre\' }\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{$additionalCustomPre_grouptitle}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{else}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{$additionalCustomPost_grouptitle}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{/if}\n{foreach from=$val item=v key=f}\n{$f}: {$v}\n{/foreach}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($customGroup)}\n{foreach from=$customGroup item=value key=customName}\n=========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customName}\n=========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n    {if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n     <p>{$event.confirm_email_text|htmlize}</p>\n    {/if}\n\n    {if !empty($isOnWaitlist)}\n     <p>{ts}You have been added to the WAIT LIST for this event.{/ts}</p>\n     {if !empty($isPrimary)}\n       <p>{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}</p>\n     {/if}\n    {elseif !empty($isRequireApproval)}\n     <p>{ts}Your registration has been submitted.{/ts}</p>\n     {if !empty($isPrimary)}\n      <p>{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}</p>\n     {/if}\n    {elseif !empty($is_pay_later)}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n\n     {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$event.participant_role}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($isShowLocation)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}\n           {$phone.phone_type_display}\n          {else}\n           {ts}Phone{/ts}\n          {/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($event.is_public)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n     {if $email}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$email}\n       </td>\n      </tr>\n     {/if}\n\n\n     {if !empty($event.is_monetary)}\n\n      <tr>\n       <th {$headerStyle}>\n        {if !empty($event.fee_label)}{$event.fee_label}{/if}\n       </th>\n      </tr>\n\n      {if !empty($lineItem)}\n       {foreach from=$lineItem item=value key=priceset}\n        {if $value neq \'skip\'}\n         {if !empty($isPrimary)}\n          {if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n           <tr>\n            <td colspan=\"2\" {$labelStyle}>\n             {ts 1=$priceset+1}Participant %1{/ts}\n            </td>\n           </tr>\n          {/if}\n         {/if}\n         <tr>\n          <td colspan=\"2\" {$valueStyle}>\n           <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n            <tr>\n             <th>{ts}Item{/ts}</th>\n             <th>{ts}Qty{/ts}</th>\n             <th>{ts}Each{/ts}</th>\n             {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n             {/if}\n             <th>{ts}Total{/ts}</th>\n       {if !empty($pricesetFieldsCount) }<th>{ts}Total Participants{/ts}</th>{/if}\n            </tr>\n            {foreach from=$value item=line}\n             <tr>\n              <td>\n        {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n              </td>\n              <td>\n               {$line.qty}\n              </td>\n              <td>\n               {$line.unit_price|crmMoney}\n              </td>\n              {if !empty($dataArray)}\n               <td>\n                {$line.unit_price*$line.qty|crmMoney}\n               </td>\n               {if $line.tax_rate || $line.tax_amount != \"\"}\n                <td>\n                 {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td>\n                 {$line.tax_amount|crmMoney}\n                </td>\n               {else}\n                <td></td>\n                <td></td>\n               {/if}\n              {/if}\n              <td>\n               {$line.line_total+$line.tax_amount|crmMoney}\n              </td>\n        {if  !empty($pricesetFieldsCount) }\n        <td>\n    {$line.participant_count}\n              </td>\n        {/if}\n             </tr>\n            {/foreach}\n           </table>\n          </td>\n         </tr>\n        {/if}\n       {/foreach}\n       {if !empty($dataArray)}\n        {if isset($totalAmount) and isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Amount Before Tax:{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalAmount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {/if}\n        {foreach from=$dataArray item=value key=priceset}\n          <tr>\n           {if $priceset || $priceset == 0}\n            <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n            <td>&nbsp;{$value|crmMoney:$currency}</td>\n           {else}\n            <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n            <td>&nbsp;{$value|crmMoney:$currency}</td>\n           {/if}\n          </tr>\n        {/foreach}\n       {/if}\n      {/if}\n\n      {if !empty($amount) && !$lineItem}\n       {foreach from=$amount item=amnt key=level}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$amnt.amount|crmMoney} {$amnt.label}\n         </td>\n        </tr>\n       {/foreach}\n      {/if}\n      {if isset($totalTaxAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$totalTaxAmount|crmMoney:$currency}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($isPrimary)}\n       <tr>\n        <td {$labelStyle}>\n        {if isset($balanceAmount)}\n           {ts}Total Paid{/ts}\n        {else}\n           {ts}Total Amount{/ts}\n         {/if}\n        </td>\n        <td {$valueStyle}>\n         {if !empty($totalAmount)}{$totalAmount|crmMoney}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n        </td>\n       </tr>\n      {if isset($balanceAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Balance{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$balanceAmount|crmMoney}\n        </td>\n       </tr>\n      {/if}\n       {if !empty($pricesetFieldsCount) }\n     <tr>\n       <td {$labelStyle}>\n   {ts}Total Participants{/ts}</td>\n       <td {$valueStyle}>\n   {assign var=\"count\" value= 0}\n         {foreach from=$lineItem item=pcount}\n         {assign var=\"lineItemCount\" value=0}\n         {if $pcount neq \'skip\'}\n           {foreach from=$pcount item=p_count}\n           {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n           {/foreach}\n           {if $lineItemCount < 1 }\n           assign var=\"lineItemCount\" value=1}\n           {/if}\n           {assign var=\"count\" value=$count+$lineItemCount}\n         {/if}\n         {/foreach}\n   {$count}\n       </td>\n     </tr>\n     {/if}\n       {if !empty($is_pay_later)}\n        <tr>\n         <td colspan=\"2\" {$labelStyle}>\n          {if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n         </td>\n        </tr>\n       {/if}\n\n       {if $register_date}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Registration Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$register_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($receive_date)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$receive_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($financialTypeName)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Financial Type{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$financialTypeName}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($trxn_id)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction #{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$trxn_id}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($paidBy)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Paid By{/ts}\n         </td>\n         <td {$valueStyle}>\n         {$paidBy}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($checkNumber)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Check Number{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$checkNumber}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($billingName)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Billing Name and Address{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($credit_card_type)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Credit Card Information{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$credit_card_type}<br />\n          {$credit_card_number}<br />\n          {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n      {/if}\n\n     {/if} {* End of conditional section for Paid events *}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=value key=customName}\n       {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=value key=customName}\n       {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customProfile)}\n      {foreach from=$customProfile item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {ts 1=$customName+1}Participant Information - Participant %1{/ts}\n        </th>\n       </tr>\n       {foreach from=$value item=val key=field}\n        {if $field eq \'additionalCustomPre\' or $field eq \'additionalCustomPost\'}\n         <tr>\n          <td colspan=\"2\" {$labelStyle}>\n           {if $field eq \'additionalCustomPre\'}\n            {$additionalCustomPre_grouptitle}\n           {else}\n            {$additionalCustomPost_grouptitle}\n           {/if}\n          </td>\n         </tr>\n         {foreach from=$val item=v key=f}\n          <tr>\n           <td {$labelStyle}>\n            {$f}\n           </td>\n           <td {$valueStyle}>\n            {$v}\n           </td>\n          </tr>\n         {/foreach}\n        {/if}\n       {/foreach}\n      {/foreach}\n     {/if}\n\n     {if !empty($customGroup)}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,826,'event_offline_receipt',1,0,0,NULL),
+ (30,'Events - Registration Confirmation and Receipt (off-line)','{ts}Event Confirmation{/ts} - {$event.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n{$event.confirm_email_text}\n{/if}\n\n{if !empty($isOnWaitlist)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}You have been added to the WAIT LIST for this event.{/ts}\n\n{if !empty($isPrimary)}\n{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{elseif !empty($isRequireApproval)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Your registration has been submitted.{/ts}\n\n{if !empty($isPrimary)}\n{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{elseif !empty($is_pay_later)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{/if}\n\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Event Information and Location{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and empty($defaultRole)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if !empty($event.is_public)}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if !empty($email)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Registered Email{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$email}\n{/if}\n{if !empty($event.is_monetary)} {* This section for Paid events only.*}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if !empty($event.fee_label)}{$event.fee_label}{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if !empty($lineItem)}{foreach from=$lineItem item=value key=priceset}\n\n{if $value neq \'skip\'}\n{if !empty($isPrimary)}\n{if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n{ts 1=$priceset+1}Participant %1{/ts}\n{/if}\n{/if}\n---------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{capture assign=ts_participant_total}{if !empty($pricesetFieldsCount) }{ts}Total Participants{/ts}{/if}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"} {if !empty($ts_participant_total)}{$ts_participant_total|string_format:\"%10s\"}{/if}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{foreach from=$value item=line}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney|string_format:\"%10s\"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:\"%10s\"}{/if}\n{/foreach}\n{/if}\n{/foreach}\n\n{if !empty($dataArray)}\n{if isset($totalAmount) and isset($totalTaxAmount)}\n{ts}Amount before Tax{/ts}: {$totalAmount-$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n{/if}\n\n{if !empty($amount) && !$lineItem}\n{foreach from=$amount item=amnt key=level}{$amnt.amount|crmMoney} {$amnt.label}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{if !empty($isPrimary)}\n\n{if !empty($balanceAmount)}{ts}Total Paid{/ts}{else}{ts}Total Amount{/ts}{/if}: {if !empty($totalAmount)}{$totalAmount|crmMoney}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n\n{if !empty($balanceAmount)}\n{ts}Balance{/ts}: {$balanceAmount|crmMoney}\n{/if}\n\n{if !empty($pricesetFieldsCount) }\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n        {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n        {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n\n{ts}Total Participants{/ts}: {$count}\n{/if}\n\n{if !empty($is_pay_later) }\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$pay_later_receipt}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$register_date|crmDate}\n{/if}\n{if $receive_date}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($financialTypeName)}\n{ts}Financial Type{/ts}: {$financialTypeName}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n{if !empty($billingName)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Billing Name and Address{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n{/if} {* End of conditional section for Paid events *}\n\n{if !empty($customPre)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customPre_grouptitle}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$customPre item=value key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n{$customName}: {$value}\n{/if}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customPost_grouptitle}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$customPost item=value key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n{$customName}: {$value}\n{/if}\n{/foreach}\n{/if}\n{if !empty($customProfile)}\n\n{foreach from=$customProfile item=value key=customName}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts 1=$customName+1}Participant Information - Participant %1{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$value item=val key=field}\n{if $field eq \'additionalCustomPre\' or $field eq \'additionalCustomPost\' }\n{if $field eq \'additionalCustomPre\' }\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{$additionalCustomPre_grouptitle}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{else}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{$additionalCustomPost_grouptitle}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{/if}\n{foreach from=$val item=v key=f}\n{$f}: {$v}\n{/foreach}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($customGroup)}\n{foreach from=$customGroup item=value key=customName}\n=========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customName}\n=========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n    {if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n     <p>{$event.confirm_email_text|htmlize}</p>\n    {/if}\n\n    {if !empty($isOnWaitlist)}\n     <p>{ts}You have been added to the WAIT LIST for this event.{/ts}</p>\n     {if !empty($isPrimary)}\n       <p>{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}</p>\n     {/if}\n    {elseif !empty($isRequireApproval)}\n     <p>{ts}Your registration has been submitted.{/ts}</p>\n     {if !empty($isPrimary)}\n      <p>{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}</p>\n     {/if}\n    {elseif !empty($is_pay_later)}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n\n     {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$event.participant_role}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($isShowLocation)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}\n           {$phone.phone_type_display}\n          {else}\n           {ts}Phone{/ts}\n          {/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($event.is_public)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n     {if $email}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$email}\n       </td>\n      </tr>\n     {/if}\n\n\n     {if !empty($event.is_monetary)}\n\n      <tr>\n       <th {$headerStyle}>\n        {if !empty($event.fee_label)}{$event.fee_label}{/if}\n       </th>\n      </tr>\n\n      {if !empty($lineItem)}\n       {foreach from=$lineItem item=value key=priceset}\n        {if $value neq \'skip\'}\n         {if !empty($isPrimary)}\n          {if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n           <tr>\n            <td colspan=\"2\" {$labelStyle}>\n             {ts 1=$priceset+1}Participant %1{/ts}\n            </td>\n           </tr>\n          {/if}\n         {/if}\n         <tr>\n          <td colspan=\"2\" {$valueStyle}>\n           <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n            <tr>\n             <th>{ts}Item{/ts}</th>\n             <th>{ts}Qty{/ts}</th>\n             <th>{ts}Each{/ts}</th>\n             {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n             {/if}\n             <th>{ts}Total{/ts}</th>\n       {if !empty($pricesetFieldsCount) }<th>{ts}Total Participants{/ts}</th>{/if}\n            </tr>\n            {foreach from=$value item=line}\n             <tr>\n              <td>\n        {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n              </td>\n              <td>\n               {$line.qty}\n              </td>\n              <td>\n               {$line.unit_price|crmMoney}\n              </td>\n              {if !empty($dataArray)}\n               <td>\n                {$line.unit_price*$line.qty|crmMoney}\n               </td>\n               {if $line.tax_rate || $line.tax_amount != \"\"}\n                <td>\n                 {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td>\n                 {$line.tax_amount|crmMoney}\n                </td>\n               {else}\n                <td></td>\n                <td></td>\n               {/if}\n              {/if}\n              <td>\n               {$line.line_total+$line.tax_amount|crmMoney}\n              </td>\n        {if  !empty($pricesetFieldsCount) }\n        <td>\n    {$line.participant_count}\n              </td>\n        {/if}\n             </tr>\n            {/foreach}\n           </table>\n          </td>\n         </tr>\n        {/if}\n       {/foreach}\n       {if !empty($dataArray)}\n        {if isset($totalAmount) and isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Amount Before Tax:{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalAmount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {/if}\n        {foreach from=$dataArray item=value key=priceset}\n          <tr>\n           {if $priceset || $priceset == 0}\n            <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n            <td>&nbsp;{$value|crmMoney:$currency}</td>\n           {else}\n            <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n            <td>&nbsp;{$value|crmMoney:$currency}</td>\n           {/if}\n          </tr>\n        {/foreach}\n       {/if}\n      {/if}\n\n      {if !empty($amount) && !$lineItem}\n       {foreach from=$amount item=amnt key=level}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$amnt.amount|crmMoney} {$amnt.label}\n         </td>\n        </tr>\n       {/foreach}\n      {/if}\n      {if isset($totalTaxAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$totalTaxAmount|crmMoney:$currency}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($isPrimary)}\n       <tr>\n        <td {$labelStyle}>\n        {if isset($balanceAmount)}\n           {ts}Total Paid{/ts}\n        {else}\n           {ts}Total Amount{/ts}\n         {/if}\n        </td>\n        <td {$valueStyle}>\n         {if !empty($totalAmount)}{$totalAmount|crmMoney}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n        </td>\n       </tr>\n      {if isset($balanceAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Balance{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$balanceAmount|crmMoney}\n        </td>\n       </tr>\n      {/if}\n       {if !empty($pricesetFieldsCount) }\n     <tr>\n       <td {$labelStyle}>\n   {ts}Total Participants{/ts}</td>\n       <td {$valueStyle}>\n   {assign var=\"count\" value= 0}\n         {foreach from=$lineItem item=pcount}\n         {assign var=\"lineItemCount\" value=0}\n         {if $pcount neq \'skip\'}\n           {foreach from=$pcount item=p_count}\n           {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n           {/foreach}\n           {if $lineItemCount < 1 }\n           assign var=\"lineItemCount\" value=1}\n           {/if}\n           {assign var=\"count\" value=$count+$lineItemCount}\n         {/if}\n         {/foreach}\n   {$count}\n       </td>\n     </tr>\n     {/if}\n       {if !empty($is_pay_later)}\n        <tr>\n         <td colspan=\"2\" {$labelStyle}>\n          {if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n         </td>\n        </tr>\n       {/if}\n\n       {if $register_date}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Registration Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$register_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($receive_date)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$receive_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($financialTypeName)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Financial Type{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$financialTypeName}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($trxn_id)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction #{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$trxn_id}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($paidBy)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Paid By{/ts}\n         </td>\n         <td {$valueStyle}>\n         {$paidBy}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($checkNumber)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Check Number{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$checkNumber}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($billingName)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Billing Name and Address{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($credit_card_type)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Credit Card Information{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$credit_card_type}<br />\n          {$credit_card_number}<br />\n          {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n      {/if}\n\n     {/if} {* End of conditional section for Paid events *}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=value key=customName}\n       {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=value key=customName}\n       {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customProfile)}\n      {foreach from=$customProfile item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {ts 1=$customName+1}Participant Information - Participant %1{/ts}\n        </th>\n       </tr>\n       {foreach from=$value item=val key=field}\n        {if $field eq \'additionalCustomPre\' or $field eq \'additionalCustomPost\'}\n         <tr>\n          <td colspan=\"2\" {$labelStyle}>\n           {if $field eq \'additionalCustomPre\'}\n            {$additionalCustomPre_grouptitle}\n           {else}\n            {$additionalCustomPost_grouptitle}\n           {/if}\n          </td>\n         </tr>\n         {foreach from=$val item=v key=f}\n          <tr>\n           <td {$labelStyle}>\n            {$f}\n           </td>\n           <td {$valueStyle}>\n            {$v}\n           </td>\n          </tr>\n         {/foreach}\n        {/if}\n       {/foreach}\n      {/foreach}\n     {/if}\n\n     {if !empty($customGroup)}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,826,'event_offline_receipt',0,1,0,NULL),
+ (31,'Events - Registration Confirmation and Receipt (on-line)','{if !empty($isOnWaitlist)}{ts}Wait List Confirmation{/ts}{elseif !empty($isRequireApproval)}{ts}Registration Request Confirmation{/ts}{else}{ts}Registration Confirmation{/ts}{/if} - {$event.event_title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n{$event.confirm_email_text}\n\n{else}\n  {ts}Thank you for your registration.{/ts}\n  {if $participant_status}{ts 1=$participant_status}This is a confirmation that your registration has been received and your status has been updated to %1.{/ts}\n  {else}{if !empty($isOnWaitlist)}{ts}This is a confirmation that your registration has been received and your status has been updated to waitlisted.{/ts}{else}{ts}This is a confirmation that your registration has been received and your status has been updated to registered.{/ts}{/if}\n  {/if}\n{/if}\n\n{if !empty($isOnWaitlist)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}You have been added to the WAIT LIST for this event.{/ts}\n\n{if !empty($isPrimary)}\n{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}\n{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{elseif !empty($isRequireApproval)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Your registration has been submitted.{/ts}\n\n{if !empty($isPrimary)}\n{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{elseif !empty($is_pay_later) && empty($isAmountzero) && empty($isAdditionalParticipant)}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{/if}\n\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Event Information and Location{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$event.event_title}\n{$event.event_start_date|date_format:\"%A\"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:\"%A\"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n{if !empty($conference_sessions)}\n\n\n{ts}Your schedule:{/ts}\n{assign var=\'group_by_day\' value=\'NA\'}\n{foreach from=$conference_sessions item=session}\n{if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n{assign var=\'group_by_day\' value=$session.start_date}\n\n{$group_by_day|date_format:\"%m/%d/%Y\"}\n\n\n{/if}\n{$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}\n{if $session.location}    {$session.location}{/if}\n{/foreach}\n{/if}\n\n{if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if !empty($event.is_public)}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if !empty($payer.name)}\nYou were registered by: {$payer.name}\n{/if}\n{if !empty($event.is_monetary) and empty($isRequireApproval)} {* This section for Paid events only.*}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if !empty ($event.fee_label)}{$event.fee_label}{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if !empty($lineItem)}{foreach from=$lineItem item=value key=priceset}\n\n{if $value neq \'skip\'}\n{if !empty($isPrimary)}\n{if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n{ts 1=$priceset+1}Participant %1{/ts} {if !empty($part.$priceset)}{$part.$priceset.info}{/if}\n\n{/if}\n{/if}\n-----------------------------------------------------------{if !empty($pricesetFieldsCount)}-----------------------------------------------------{/if}\n\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_total}{ts}Total Participants{/ts}{/capture}{/if}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"} {if !empty($ts_participant_total)}{$ts_participant_total|string_format:\"%10s\"}{/if}\n-----------------------------------------------------------{if !empty($pricesetFieldsCount)}-----------------------------------------------------{/if}\n\n{foreach from=$value item=line}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:\"%10s\"}{/if}\n{/foreach}\n----------------------------------------------------------------------------------------------------------------\n{if !empty($individual)}{ts}Participant Total{/ts} {$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:\"%29s\"} {$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:\"%33s\"} {$individual.$priceset.totalAmtWithTax|crmMoney:$currency|string_format:\"%12s\"}{/if}\n{/if}\n{\"\"|string_format:\"%120s\"}\n{/foreach}\n{\"\"|string_format:\"%120s\"}\n\n{if !empty($dataArray)}\n{if isset($totalAmount) and isset($totalTaxAmount)}\n{ts}Amount before Tax{/ts}: {$totalAmount-$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n{/if}\n\n{if !empty($amounts) && empty($lineItem)}\n{foreach from=$amounts item=amnt key=level}{$amnt.amount|crmMoney:$currency} {$amnt.label}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{if !empty($isPrimary) }\n\n{ts}Total Amount{/ts}: {if !empty($totalAmount)}{$totalAmount|crmMoney:$currency}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n\n{if !empty($pricesetFieldsCount) }\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n      {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n      {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n\n{ts}Total Participants{/ts}: {$count}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$register_date|crmDate}\n{/if}\n{if !empty($receive_date)}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($financialTypeName)}\n{ts}Financial Type{/ts}: {$financialTypeName}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n{if !empty($billingName)}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Billing Name and Address{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Credit Card Information{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n{/if} {* End of conditional section for Paid events *}\n\n{if !empty($customPre)}\n{foreach from=$customPre item=customPr key=i}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$customPre_grouptitle.$i}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$customPr item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n{foreach from=$customPost item=customPos key=j}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$customPost_grouptitle.$j}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$customPos item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($customProfile)}\n\n{foreach from=$customProfile.profile item=eachParticipant key=participantID}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts 1=$participantID+2}Participant Information - Participant %1{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$eachParticipant item=eachProfile key=pid}\n----------------------------------------------------------{if !empty($pricesetFieldsCount)}--------------------{/if}\n\n{$customProfile.title.$pid}\n----------------------------------------------------------{if !empty($pricesetFieldsCount)}--------------------{/if}\n\n{foreach from=$eachProfile item=val key=field}\n{foreach from=$val item=v key=f}\n{$field}: {$v}\n{/foreach}\n{/foreach}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($event.allow_selfcancelxfer) }\n{ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if !empty($totalAmount)}{ts}Cancellations are not refundable.{/ts}{/if}\n   {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n{ts}Transfer or cancel your registration:{/ts} {$selfService}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=tdfirstStyle}style=\"width: 180px; padding-bottom: 15px;\"{/capture}\n{capture assign=tdStyle}style=\"width: 100px;\"{/capture}\n{capture assign=participantTotal}style=\"margin: 0.5em 0 0.5em;padding: 0.5em;background-color: #999999;font-weight: bold;color: #FAFAFA;border-radius: 2px;\"{/capture}\n\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n    {if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n     <p>{$event.confirm_email_text|htmlize}</p>\n\n    {else}\n     <p>{ts}Thank you for your registration.{/ts}\n     {if $participant_status}{ts 1=$participant_status}This is a confirmation that your registration has been received and your status has been updated to <strong> %1</strong>.{/ts}\n     {else}{if $isOnWaitlist}{ts}This is a confirmation that your registration has been received and your status has been updated to <strong>waitlisted</strong>.{/ts}{else}{ts}This is a confirmation that your registration has been received and your status has been updated to <strong>registered<strong>.{/ts}{/if}{/if}</p>\n\n    {/if}\n\n    <p>\n    {if !empty($isOnWaitlist)}\n     <p>{ts}You have been added to the WAIT LIST for this event.{/ts}</p>\n     {if !empty($isPrimary)}\n       <p>{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}</p>\n     {/if}\n    {elseif !empty($isRequireApproval)}\n     <p>{ts}Your registration has been submitted.{/ts}</p>\n     {if !empty($isPrimary)}\n      <p>{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}</p>\n     {/if}\n    {elseif !empty($is_pay_later) && empty($isAmountzero) && empty($isAdditionalParticipant)}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"width:100%; max-width:700px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|date_format:\"%A\"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:\"%A\"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n\n\n     {if $conference_sessions}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n  {ts}Your schedule:{/ts}\n       </td>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n  {assign var=\'group_by_day\' value=\'NA\'}\n  {foreach from=$conference_sessions item=session}\n   {if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n    {assign var=\'group_by_day\' value=$session.start_date}\n          <em>{$group_by_day|date_format:\"%m/%d/%Y\"}</em><br />\n   {/if}\n   {$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}<br />\n   {if $session.location}&nbsp;&nbsp;&nbsp;&nbsp;{$session.location}<br />{/if}\n  {/foreach}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$event.participant_role}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($isShowLocation)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}\n           {$phone.phone_type_display}\n          {else}\n           {ts}Phone{/ts}\n          {/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($event.is_public)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n    {if !empty($event.is_share)}\n        <tr>\n            <td colspan=\"2\" {$valueStyle}>\n                {capture assign=eventUrl}{crmURL p=\'civicrm/event/info\' q=\"id=`$event.id`&reset=1\" a=true fe=1 h=1}{/capture}\n                {include file=\"CRM/common/SocialNetwork.tpl\" emailMode=true url=$eventUrl title=$event.title pageURL=$eventUrl}\n            </td>\n        </tr>\n    {/if}\n    {if !empty($payer.name)}\n     <tr>\n       <th {$headerStyle}>\n         {ts}You were registered by:{/ts}\n       </th>\n     </tr>\n     <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$payer.name}\n       </td>\n     </tr>\n    {/if}\n    {if !empty($event.is_monetary) and empty($isRequireApproval)}\n\n      <tr>\n       <th {$headerStyle}>\n        {if !empty($event.fee_label)}{$event.fee_label}{/if}\n       </th>\n      </tr>\n\n      {if !empty($lineItem)}\n       {foreach from=$lineItem item=value key=priceset}\n        {if $value neq \'skip\'}\n         {if !empty($isPrimary)}\n          {if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n           <tr>\n            <td colspan=\"2\" {$labelStyle}>\n             {ts 1=$priceset+1}Participant %1{/ts} {if !empty($part.$priceset)}{$part.$priceset.info}{/if}\n            </td>\n           </tr>\n          {/if}\n         {/if}\n         <tr>\n          <td colspan=\"2\" {$valueStyle}>\n           <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n            <tr>\n             <th>{ts}Item{/ts}</th>\n             <th>{ts}Qty{/ts}</th>\n             <th>{ts}Each{/ts}</th>\n             {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n             {/if}\n             <th>{ts}Total{/ts}</th>\n       {if  !empty($pricesetFieldsCount) }<th>{ts}Total Participants{/ts}</th>{/if}\n            </tr>\n            {foreach from=$value item=line}\n             <tr>\n              <td {$tdfirstStyle}>\n              {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n              </td>\n              <td {$tdStyle} align=\"middle\">\n               {$line.qty}\n              </td>\n              <td {$tdStyle}>\n               {$line.unit_price|crmMoney:$currency}\n              </td>\n              {if !empty($dataArray)}\n               <td {$tdStyle}>\n                {$line.unit_price*$line.qty|crmMoney}\n               </td>\n               {if $line.tax_rate || $line.tax_amount != \"\"}\n                <td {$tdStyle}>\n                 {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td {$tdStyle}>\n                 {$line.tax_amount|crmMoney}\n                </td>\n               {else}\n                <td></td>\n                <td></td>\n               {/if}\n              {/if}\n              <td {$tdStyle}>\n               {$line.line_total+$line.tax_amount|crmMoney:$currency}\n              </td>\n        {if !empty($pricesetFieldsCount) }<td {$tdStyle}>{$line.participant_count}</td> {/if}\n             </tr>\n            {/foreach}\n            {if !empty($individual)}\n              <tr {$participantTotal}>\n                <td colspan=3>{ts}Participant Total{/ts}</td>\n                <td colspan=2>{$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney}</td>\n                <td colspan=1>{$individual.$priceset.totalTaxAmt|crmMoney}</td>\n                <td colspan=2>{$individual.$priceset.totalAmtWithTax|crmMoney}</td>\n              </tr>\n            {/if}\n           </table>\n          </td>\n         </tr>\n        {/if}\n       {/foreach}\n       {if !empty($dataArray)}\n        {if isset($totalAmount) and isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts} Amount Before Tax: {/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalAmount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {/if}\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n          {if $priceset || $priceset == 0}\n           <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {else}\n           <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {/if}\n         </tr>\n        {/foreach}\n       {/if}\n      {/if}\n\n      {if !empty($amounts) && empty($lineItem)}\n       {foreach from=$amounts item=amnt key=level}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$amnt.amount|crmMoney:$currency} {$amnt.label}\n         </td>\n        </tr>\n       {/foreach}\n      {/if}\n\n    {if isset($totalTaxAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$totalTaxAmount|crmMoney:$currency}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($isPrimary)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {if !empty($totalAmount)}{$totalAmount|crmMoney:$currency}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n        </td>\n       </tr>\n       {if !empty($pricesetFieldsCount) }\n     <tr>\n       <td {$labelStyle}>\n      {ts}Total Participants{/ts}</td>\n      <td {$valueStyle}>\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n      {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n      {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n     {$count}\n     </td> </tr>\n      {/if}\n\n       {if $register_date}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Registration Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$register_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($receive_date)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$receive_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($financialTypeName)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Financial Type{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$financialTypeName}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($trxn_id)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction #{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$trxn_id}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($paidBy)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Paid By{/ts}\n         </td>\n         <td {$valueStyle}>\n         {$paidBy}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($checkNumber)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Check Number{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$checkNumber}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($billingName)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Billing Name and Address{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($credit_card_type)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Credit Card Information{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$credit_card_type}<br />\n          {$credit_card_number}<br />\n          {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n      {/if}\n\n     {/if} {* End of conditional section for Paid events *}\n\n\n{if !empty($customPre)}\n{foreach from=$customPre item=customPr key=i}\n   <tr> <th {$headerStyle}>{$customPre_grouptitle.$i}</th></tr>\n   {foreach from=$customPr item=customValue key=customName}\n   {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n     <tr>\n         <td {$labelStyle}>{$customName}</td>\n         <td {$valueStyle}>{$customValue}</td>\n     </tr>\n   {/if}\n   {/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n{foreach from=$customPost item=customPos key=j}\n   <tr> <th {$headerStyle}>{$customPost_grouptitle.$j}</th></tr>\n   {foreach from=$customPos item=customValue key=customName}\n   {if (!empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n     <tr>\n         <td {$labelStyle}>{$customName}</td>\n         <td {$valueStyle}>{$customValue}</td>\n     </tr>\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customProfile)}\n{foreach from=$customProfile.profile item=eachParticipant key=participantID}\n     <tr><th {$headerStyle}>{ts 1=$participantID+2}Participant %1{/ts} </th></tr>\n     {foreach from=$eachParticipant item=eachProfile key=pid}\n     <tr><th {$headerStyle}>{$customProfile.title.$pid}</th></tr>\n     {foreach from=$eachProfile item=val key=field}\n     <tr>{foreach from=$val item=v key=f}\n         <td {$labelStyle}>{$field}</td>\n         <td {$valueStyle}>{$v}</td>\n         {/foreach}\n     </tr>\n     {/foreach}\n{/foreach}\n{/foreach}\n{/if}\n\n    </table>\n    {if !empty($event.allow_selfcancelxfer) }\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n        {ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if !empty($totalAmount)}{ts}Cancellations are not refundable.{/ts}{/if}<br />\n        {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n        <a href=\"{$selfService}\">{ts}Click here to transfer or cancel your registration.{/ts}</a>\n      </td>\n     </tr>\n    {/if}\n </table>\n\n</body>\n</html>\n',1,827,'event_online_receipt',1,0,0,NULL),
+ (32,'Events - Registration Confirmation and Receipt (on-line)','{if !empty($isOnWaitlist)}{ts}Wait List Confirmation{/ts}{elseif !empty($isRequireApproval)}{ts}Registration Request Confirmation{/ts}{else}{ts}Registration Confirmation{/ts}{/if} - {$event.event_title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n{$event.confirm_email_text}\n\n{else}\n  {ts}Thank you for your registration.{/ts}\n  {if $participant_status}{ts 1=$participant_status}This is a confirmation that your registration has been received and your status has been updated to %1.{/ts}\n  {else}{if !empty($isOnWaitlist)}{ts}This is a confirmation that your registration has been received and your status has been updated to waitlisted.{/ts}{else}{ts}This is a confirmation that your registration has been received and your status has been updated to registered.{/ts}{/if}\n  {/if}\n{/if}\n\n{if !empty($isOnWaitlist)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}You have been added to the WAIT LIST for this event.{/ts}\n\n{if !empty($isPrimary)}\n{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}\n{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{elseif !empty($isRequireApproval)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Your registration has been submitted.{/ts}\n\n{if !empty($isPrimary)}\n{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{elseif !empty($is_pay_later) && empty($isAmountzero) && empty($isAdditionalParticipant)}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{/if}\n\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Event Information and Location{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$event.event_title}\n{$event.event_start_date|date_format:\"%A\"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:\"%A\"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n{if !empty($conference_sessions)}\n\n\n{ts}Your schedule:{/ts}\n{assign var=\'group_by_day\' value=\'NA\'}\n{foreach from=$conference_sessions item=session}\n{if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n{assign var=\'group_by_day\' value=$session.start_date}\n\n{$group_by_day|date_format:\"%m/%d/%Y\"}\n\n\n{/if}\n{$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}\n{if $session.location}    {$session.location}{/if}\n{/foreach}\n{/if}\n\n{if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if !empty($event.is_public)}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if !empty($payer.name)}\nYou were registered by: {$payer.name}\n{/if}\n{if !empty($event.is_monetary) and empty($isRequireApproval)} {* This section for Paid events only.*}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if !empty ($event.fee_label)}{$event.fee_label}{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if !empty($lineItem)}{foreach from=$lineItem item=value key=priceset}\n\n{if $value neq \'skip\'}\n{if !empty($isPrimary)}\n{if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n{ts 1=$priceset+1}Participant %1{/ts} {if !empty($part.$priceset)}{$part.$priceset.info}{/if}\n\n{/if}\n{/if}\n-----------------------------------------------------------{if !empty($pricesetFieldsCount)}-----------------------------------------------------{/if}\n\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_total}{ts}Total Participants{/ts}{/capture}{/if}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"} {if !empty($ts_participant_total)}{$ts_participant_total|string_format:\"%10s\"}{/if}\n-----------------------------------------------------------{if !empty($pricesetFieldsCount)}-----------------------------------------------------{/if}\n\n{foreach from=$value item=line}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:\"%10s\"}{/if}\n{/foreach}\n----------------------------------------------------------------------------------------------------------------\n{if !empty($individual)}{ts}Participant Total{/ts} {$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:\"%29s\"} {$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:\"%33s\"} {$individual.$priceset.totalAmtWithTax|crmMoney:$currency|string_format:\"%12s\"}{/if}\n{/if}\n{\"\"|string_format:\"%120s\"}\n{/foreach}\n{\"\"|string_format:\"%120s\"}\n\n{if !empty($dataArray)}\n{if isset($totalAmount) and isset($totalTaxAmount)}\n{ts}Amount before Tax{/ts}: {$totalAmount-$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n{/if}\n\n{if !empty($amounts) && empty($lineItem)}\n{foreach from=$amounts item=amnt key=level}{$amnt.amount|crmMoney:$currency} {$amnt.label}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{if !empty($isPrimary) }\n\n{ts}Total Amount{/ts}: {if !empty($totalAmount)}{$totalAmount|crmMoney:$currency}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n\n{if !empty($pricesetFieldsCount) }\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n      {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n      {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n\n{ts}Total Participants{/ts}: {$count}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$register_date|crmDate}\n{/if}\n{if !empty($receive_date)}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($financialTypeName)}\n{ts}Financial Type{/ts}: {$financialTypeName}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n{if !empty($billingName)}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Billing Name and Address{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Credit Card Information{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n{/if} {* End of conditional section for Paid events *}\n\n{if !empty($customPre)}\n{foreach from=$customPre item=customPr key=i}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$customPre_grouptitle.$i}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$customPr item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n{foreach from=$customPost item=customPos key=j}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$customPost_grouptitle.$j}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$customPos item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($customProfile)}\n\n{foreach from=$customProfile.profile item=eachParticipant key=participantID}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts 1=$participantID+2}Participant Information - Participant %1{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$eachParticipant item=eachProfile key=pid}\n----------------------------------------------------------{if !empty($pricesetFieldsCount)}--------------------{/if}\n\n{$customProfile.title.$pid}\n----------------------------------------------------------{if !empty($pricesetFieldsCount)}--------------------{/if}\n\n{foreach from=$eachProfile item=val key=field}\n{foreach from=$val item=v key=f}\n{$field}: {$v}\n{/foreach}\n{/foreach}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($event.allow_selfcancelxfer) }\n{ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if !empty($totalAmount)}{ts}Cancellations are not refundable.{/ts}{/if}\n   {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n{ts}Transfer or cancel your registration:{/ts} {$selfService}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=tdfirstStyle}style=\"width: 180px; padding-bottom: 15px;\"{/capture}\n{capture assign=tdStyle}style=\"width: 100px;\"{/capture}\n{capture assign=participantTotal}style=\"margin: 0.5em 0 0.5em;padding: 0.5em;background-color: #999999;font-weight: bold;color: #FAFAFA;border-radius: 2px;\"{/capture}\n\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n    {if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n     <p>{$event.confirm_email_text|htmlize}</p>\n\n    {else}\n     <p>{ts}Thank you for your registration.{/ts}\n     {if $participant_status}{ts 1=$participant_status}This is a confirmation that your registration has been received and your status has been updated to <strong> %1</strong>.{/ts}\n     {else}{if $isOnWaitlist}{ts}This is a confirmation that your registration has been received and your status has been updated to <strong>waitlisted</strong>.{/ts}{else}{ts}This is a confirmation that your registration has been received and your status has been updated to <strong>registered<strong>.{/ts}{/if}{/if}</p>\n\n    {/if}\n\n    <p>\n    {if !empty($isOnWaitlist)}\n     <p>{ts}You have been added to the WAIT LIST for this event.{/ts}</p>\n     {if !empty($isPrimary)}\n       <p>{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}</p>\n     {/if}\n    {elseif !empty($isRequireApproval)}\n     <p>{ts}Your registration has been submitted.{/ts}</p>\n     {if !empty($isPrimary)}\n      <p>{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}</p>\n     {/if}\n    {elseif !empty($is_pay_later) && empty($isAmountzero) && empty($isAdditionalParticipant)}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"width:100%; max-width:700px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|date_format:\"%A\"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:\"%A\"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n\n\n     {if $conference_sessions}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n  {ts}Your schedule:{/ts}\n       </td>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n  {assign var=\'group_by_day\' value=\'NA\'}\n  {foreach from=$conference_sessions item=session}\n   {if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n    {assign var=\'group_by_day\' value=$session.start_date}\n          <em>{$group_by_day|date_format:\"%m/%d/%Y\"}</em><br />\n   {/if}\n   {$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}<br />\n   {if $session.location}&nbsp;&nbsp;&nbsp;&nbsp;{$session.location}<br />{/if}\n  {/foreach}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$event.participant_role}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($isShowLocation)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}\n           {$phone.phone_type_display}\n          {else}\n           {ts}Phone{/ts}\n          {/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($event.is_public)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n    {if !empty($event.is_share)}\n        <tr>\n            <td colspan=\"2\" {$valueStyle}>\n                {capture assign=eventUrl}{crmURL p=\'civicrm/event/info\' q=\"id=`$event.id`&reset=1\" a=true fe=1 h=1}{/capture}\n                {include file=\"CRM/common/SocialNetwork.tpl\" emailMode=true url=$eventUrl title=$event.title pageURL=$eventUrl}\n            </td>\n        </tr>\n    {/if}\n    {if !empty($payer.name)}\n     <tr>\n       <th {$headerStyle}>\n         {ts}You were registered by:{/ts}\n       </th>\n     </tr>\n     <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$payer.name}\n       </td>\n     </tr>\n    {/if}\n    {if !empty($event.is_monetary) and empty($isRequireApproval)}\n\n      <tr>\n       <th {$headerStyle}>\n        {if !empty($event.fee_label)}{$event.fee_label}{/if}\n       </th>\n      </tr>\n\n      {if !empty($lineItem)}\n       {foreach from=$lineItem item=value key=priceset}\n        {if $value neq \'skip\'}\n         {if !empty($isPrimary)}\n          {if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n           <tr>\n            <td colspan=\"2\" {$labelStyle}>\n             {ts 1=$priceset+1}Participant %1{/ts} {if !empty($part.$priceset)}{$part.$priceset.info}{/if}\n            </td>\n           </tr>\n          {/if}\n         {/if}\n         <tr>\n          <td colspan=\"2\" {$valueStyle}>\n           <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n            <tr>\n             <th>{ts}Item{/ts}</th>\n             <th>{ts}Qty{/ts}</th>\n             <th>{ts}Each{/ts}</th>\n             {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n             {/if}\n             <th>{ts}Total{/ts}</th>\n       {if  !empty($pricesetFieldsCount) }<th>{ts}Total Participants{/ts}</th>{/if}\n            </tr>\n            {foreach from=$value item=line}\n             <tr>\n              <td {$tdfirstStyle}>\n              {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n              </td>\n              <td {$tdStyle} align=\"middle\">\n               {$line.qty}\n              </td>\n              <td {$tdStyle}>\n               {$line.unit_price|crmMoney:$currency}\n              </td>\n              {if !empty($dataArray)}\n               <td {$tdStyle}>\n                {$line.unit_price*$line.qty|crmMoney}\n               </td>\n               {if $line.tax_rate || $line.tax_amount != \"\"}\n                <td {$tdStyle}>\n                 {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td {$tdStyle}>\n                 {$line.tax_amount|crmMoney}\n                </td>\n               {else}\n                <td></td>\n                <td></td>\n               {/if}\n              {/if}\n              <td {$tdStyle}>\n               {$line.line_total+$line.tax_amount|crmMoney:$currency}\n              </td>\n        {if !empty($pricesetFieldsCount) }<td {$tdStyle}>{$line.participant_count}</td> {/if}\n             </tr>\n            {/foreach}\n            {if !empty($individual)}\n              <tr {$participantTotal}>\n                <td colspan=3>{ts}Participant Total{/ts}</td>\n                <td colspan=2>{$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney}</td>\n                <td colspan=1>{$individual.$priceset.totalTaxAmt|crmMoney}</td>\n                <td colspan=2>{$individual.$priceset.totalAmtWithTax|crmMoney}</td>\n              </tr>\n            {/if}\n           </table>\n          </td>\n         </tr>\n        {/if}\n       {/foreach}\n       {if !empty($dataArray)}\n        {if isset($totalAmount) and isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts} Amount Before Tax: {/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalAmount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {/if}\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n          {if $priceset || $priceset == 0}\n           <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {else}\n           <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {/if}\n         </tr>\n        {/foreach}\n       {/if}\n      {/if}\n\n      {if !empty($amounts) && empty($lineItem)}\n       {foreach from=$amounts item=amnt key=level}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$amnt.amount|crmMoney:$currency} {$amnt.label}\n         </td>\n        </tr>\n       {/foreach}\n      {/if}\n\n    {if isset($totalTaxAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$totalTaxAmount|crmMoney:$currency}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($isPrimary)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {if !empty($totalAmount)}{$totalAmount|crmMoney:$currency}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n        </td>\n       </tr>\n       {if !empty($pricesetFieldsCount) }\n     <tr>\n       <td {$labelStyle}>\n      {ts}Total Participants{/ts}</td>\n      <td {$valueStyle}>\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n      {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n      {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n     {$count}\n     </td> </tr>\n      {/if}\n\n       {if $register_date}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Registration Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$register_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($receive_date)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$receive_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($financialTypeName)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Financial Type{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$financialTypeName}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($trxn_id)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction #{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$trxn_id}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($paidBy)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Paid By{/ts}\n         </td>\n         <td {$valueStyle}>\n         {$paidBy}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($checkNumber)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Check Number{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$checkNumber}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($billingName)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Billing Name and Address{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($credit_card_type)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Credit Card Information{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$credit_card_type}<br />\n          {$credit_card_number}<br />\n          {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n      {/if}\n\n     {/if} {* End of conditional section for Paid events *}\n\n\n{if !empty($customPre)}\n{foreach from=$customPre item=customPr key=i}\n   <tr> <th {$headerStyle}>{$customPre_grouptitle.$i}</th></tr>\n   {foreach from=$customPr item=customValue key=customName}\n   {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n     <tr>\n         <td {$labelStyle}>{$customName}</td>\n         <td {$valueStyle}>{$customValue}</td>\n     </tr>\n   {/if}\n   {/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n{foreach from=$customPost item=customPos key=j}\n   <tr> <th {$headerStyle}>{$customPost_grouptitle.$j}</th></tr>\n   {foreach from=$customPos item=customValue key=customName}\n   {if (!empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n     <tr>\n         <td {$labelStyle}>{$customName}</td>\n         <td {$valueStyle}>{$customValue}</td>\n     </tr>\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customProfile)}\n{foreach from=$customProfile.profile item=eachParticipant key=participantID}\n     <tr><th {$headerStyle}>{ts 1=$participantID+2}Participant %1{/ts} </th></tr>\n     {foreach from=$eachParticipant item=eachProfile key=pid}\n     <tr><th {$headerStyle}>{$customProfile.title.$pid}</th></tr>\n     {foreach from=$eachProfile item=val key=field}\n     <tr>{foreach from=$val item=v key=f}\n         <td {$labelStyle}>{$field}</td>\n         <td {$valueStyle}>{$v}</td>\n         {/foreach}\n     </tr>\n     {/foreach}\n{/foreach}\n{/foreach}\n{/if}\n\n    </table>\n    {if !empty($event.allow_selfcancelxfer) }\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n        {ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if !empty($totalAmount)}{ts}Cancellations are not refundable.{/ts}{/if}<br />\n        {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n        <a href=\"{$selfService}\">{ts}Click here to transfer or cancel your registration.{/ts}</a>\n      </td>\n     </tr>\n    {/if}\n </table>\n\n</body>\n</html>\n',1,827,'event_online_receipt',0,1,0,NULL),
+ (33,'Events - Receipt only','Receipt for {if $events_in_cart} Event Registration{/if} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if $is_pay_later}\n  This is being sent to you as an acknowledgement that you have registered one or more members for the following workshop, event or purchase. Please note, however, that the status of your payment is pending, and the registration for this event will not be completed until your payment is received.\n{else}\n  This is being sent to you as a {if !empty($is_refund)}confirmation of refund{else}receipt of payment made{/if} for the following workshop, event registration or purchase.\n{/if}\n\n{if $is_pay_later}\n  {if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n{/if}\n\n  Your order number is #{$transaction_id}. {if !empty($line_items) && empty($is_refund)} Information about the workshops will be sent separately to each participant.{/if}\n Here\'s a summary of your transaction placed on {$transaction_date|date_format:\"%D %I:%M %p %Z\"}:\n\n{if $billing_name}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billing_name}\n\n{$billing_street_address}\n\n{$billing_city}, {$billing_state} {$billing_postal_code}\n\n{$email}\n{/if}\n\n{if !empty($source)}\n{$source}\n{/if}\n\n\n{foreach from=$line_items item=line_item}\n{$line_item.event->title} ({$line_item.event->start_date|date_format:\"%D\"})\n{if $line_item.event->is_show_location}\n  {$line_item.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n{$line_item.event->start_date|date_format:\"%D %I:%M %p\"} - {$line_item.event->end_date|date_format:\"%I:%M %p\"}\n\n  Quantity: {$line_item.num_participants}\n\n{if $line_item.num_participants > 0}\n  {foreach from=$line_item.participants item=participant}\n    {$participant.display_name}\n  {/foreach}\n{/if}\n{if $line_item.num_waiting_participants > 0}\n  Waitlisted:\n    {foreach from=$line_item.waiting_participants item=participant}\n      {$participant.display_name}\n    {/foreach}\n{/if}\nCost: {$line_item.cost|crmMoney:$currency|string_format:\"%10s\"}\nTotal For This Event: {$line_item.amount|crmMoney:$currency|string_format:\"%10s\"}\n\n{/foreach}\n\n{if $discounts}\nSubtotal: {$sub_total|crmMoney:$currency|string_format:\"%10s\"}\n--------------------------------------\nDiscounts\n{foreach from=$discounts key=myId item=i}\n  {$i.title}: -{$i.amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/if}\n======================================\nTotal: {$total|crmMoney:$currency|string_format:\"%10s\"}\n\n{if $credit_card_type}\n===========================================================\n{ts}Payment Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date.M}/{$credit_card_exp_date.Y}\n{/if}\n\n  If you have questions about the status of your registration or purchase please feel free to contact us.\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n    <title></title>\n  </head>\n  <body>\n    {capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n    {capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n    {capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if $is_pay_later}\n      <p>\n        This is being sent to you as an acknowledgement that you have registered one or more members for the following workshop, event or purchase. Please note, however, that the status of your payment is pending, and the registration for this event will not be completed until your payment is received.\n      </p>\n    {else}\n      <p>\n        This is being sent to you as a {if !empty($is_refund)}confirmation of refund{else}receipt of payment made{/if} for the following workshop, event registration or purchase.\n      </p>\n    {/if}\n\n    {if $is_pay_later}\n      <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p>\n    {/if}\n\n    <p>Your order number is #{$transaction_id}. {if !empty($line_items) && empty($is_refund)} Information about the workshops will be sent separately to each participant.{/if}\n  Here\'s a summary of your transaction placed on {$transaction_date|date_format:\"%D %I:%M %p %Z\"}:</p>\n\n{if $billing_name}\n  <table class=\"billing-info\">\n      <tr>\n    <th style=\"text-align: left;\">\n      {ts}Billing Name and Address{/ts}\n    </th>\n      </tr>\n      <tr>\n    <td>\n      {$billing_name}<br />\n      {$billing_street_address}<br />\n      {$billing_city}, {$billing_state} {$billing_postal_code}<br/>\n      <br/>\n      {$email}\n    </td>\n    </tr>\n    </table>\n{/if}\n{if $credit_card_type}\n  <p>&nbsp;</p>\n  <table class=\"billing-info\">\n      <tr>\n    <th style=\"text-align: left;\">\n      {ts}Credit Card Information{/ts}\n    </th>\n      </tr>\n      <tr>\n    <td>\n      {$credit_card_type}<br />\n      {$credit_card_number}<br />\n      {ts}Expires{/ts}: {$credit_card_exp_date.M}/{$credit_card_exp_date.Y}\n    </td>\n    </tr>\n    </table>\n{/if}\n{if !empty($source)}\n    <p>&nbsp;</p>\n    {$source}\n{/if}\n    <p>&nbsp;</p>\n    <table width=\"700\">\n      <thead>\n    <tr>\n{if $line_items}\n      <th style=\"text-align: left;\">\n      Event\n      </th>\n      <th style=\"text-align: left;\">\n      Participants\n      </th>\n{/if}\n      <th style=\"text-align: left;\">\n      Price\n      </th>\n      <th style=\"text-align: left;\">\n      Total\n      </th>\n    </tr>\n    </thead>\n      <tbody>\n  {foreach from=$line_items item=line_item}\n  <tr>\n    <td style=\"width: 220px\">\n      {$line_item.event->title} ({$line_item.event->start_date|date_format:\"%D\"})<br />\n      {if $line_item.event->is_show_location}\n        {$line_item.location.address.1.display|nl2br}\n      {/if}{*End of isShowLocation condition*}<br /><br />\n      {$line_item.event->start_date|date_format:\"%D %I:%M %p\"} - {$line_item.event->end_date|date_format:\"%I:%M %p\"}\n    </td>\n    <td style=\"width: 180px\">\n    {$line_item.num_participants}\n      {if $line_item.num_participants > 0}\n      <div class=\"participants\" style=\"padding-left: 10px;\">\n        {foreach from=$line_item.participants item=participant}\n        {$participant.display_name}<br />\n        {/foreach}\n      </div>\n      {/if}\n      {if $line_item.num_waiting_participants > 0}\n      Waitlisted:<br/>\n      <div class=\"participants\" style=\"padding-left: 10px;\">\n        {foreach from=$line_item.waiting_participants item=participant}\n        {$participant.display_name}<br />\n        {/foreach}\n      </div>\n      {/if}\n    </td>\n    <td style=\"width: 100px\">\n      {$line_item.cost|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n    <td style=\"width: 100px\">\n      &nbsp;{$line_item.amount|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n  </tr>\n  {/foreach}\n      </tbody>\n      <tfoot>\n  {if $discounts}\n  <tr>\n    <td>\n    </td>\n    <td>\n    </td>\n    <td>\n      Subtotal:\n    </td>\n    <td>\n      &nbsp;{$sub_total|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n  </tr>\n  {foreach from=$discounts key=myId item=i}\n  <tr>\n    <td>\n      {$i.title}\n    </td>\n    <td>\n    </td>\n    <td>\n    </td>\n    <td>\n      -{$i.amount}\n    </td>\n  </tr>\n  {/foreach}\n  {/if}\n  <tr>\n{if $line_items}\n    <td>\n    </td>\n    <td>\n    </td>\n{/if}\n    <td>\n      <strong>Total:</strong>\n    </td>\n    <td>\n      <strong>&nbsp;{$total|crmMoney:$currency|string_format:\"%10s\"}</strong>\n    </td>\n  </tr>\n      </tfoot>\n    </table>\n\n    If you have questions about the status of your registration or purchase please feel free to contact us.\n  </body>\n</html>\n',1,828,'event_registration_receipt',1,0,0,NULL),
+ (34,'Events - Receipt only','Receipt for {if $events_in_cart} Event Registration{/if} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if $is_pay_later}\n  This is being sent to you as an acknowledgement that you have registered one or more members for the following workshop, event or purchase. Please note, however, that the status of your payment is pending, and the registration for this event will not be completed until your payment is received.\n{else}\n  This is being sent to you as a {if !empty($is_refund)}confirmation of refund{else}receipt of payment made{/if} for the following workshop, event registration or purchase.\n{/if}\n\n{if $is_pay_later}\n  {if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n{/if}\n\n  Your order number is #{$transaction_id}. {if !empty($line_items) && empty($is_refund)} Information about the workshops will be sent separately to each participant.{/if}\n Here\'s a summary of your transaction placed on {$transaction_date|date_format:\"%D %I:%M %p %Z\"}:\n\n{if $billing_name}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billing_name}\n\n{$billing_street_address}\n\n{$billing_city}, {$billing_state} {$billing_postal_code}\n\n{$email}\n{/if}\n\n{if !empty($source)}\n{$source}\n{/if}\n\n\n{foreach from=$line_items item=line_item}\n{$line_item.event->title} ({$line_item.event->start_date|date_format:\"%D\"})\n{if $line_item.event->is_show_location}\n  {$line_item.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n{$line_item.event->start_date|date_format:\"%D %I:%M %p\"} - {$line_item.event->end_date|date_format:\"%I:%M %p\"}\n\n  Quantity: {$line_item.num_participants}\n\n{if $line_item.num_participants > 0}\n  {foreach from=$line_item.participants item=participant}\n    {$participant.display_name}\n  {/foreach}\n{/if}\n{if $line_item.num_waiting_participants > 0}\n  Waitlisted:\n    {foreach from=$line_item.waiting_participants item=participant}\n      {$participant.display_name}\n    {/foreach}\n{/if}\nCost: {$line_item.cost|crmMoney:$currency|string_format:\"%10s\"}\nTotal For This Event: {$line_item.amount|crmMoney:$currency|string_format:\"%10s\"}\n\n{/foreach}\n\n{if $discounts}\nSubtotal: {$sub_total|crmMoney:$currency|string_format:\"%10s\"}\n--------------------------------------\nDiscounts\n{foreach from=$discounts key=myId item=i}\n  {$i.title}: -{$i.amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/if}\n======================================\nTotal: {$total|crmMoney:$currency|string_format:\"%10s\"}\n\n{if $credit_card_type}\n===========================================================\n{ts}Payment Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date.M}/{$credit_card_exp_date.Y}\n{/if}\n\n  If you have questions about the status of your registration or purchase please feel free to contact us.\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n    <title></title>\n  </head>\n  <body>\n    {capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n    {capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n    {capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if $is_pay_later}\n      <p>\n        This is being sent to you as an acknowledgement that you have registered one or more members for the following workshop, event or purchase. Please note, however, that the status of your payment is pending, and the registration for this event will not be completed until your payment is received.\n      </p>\n    {else}\n      <p>\n        This is being sent to you as a {if !empty($is_refund)}confirmation of refund{else}receipt of payment made{/if} for the following workshop, event registration or purchase.\n      </p>\n    {/if}\n\n    {if $is_pay_later}\n      <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p>\n    {/if}\n\n    <p>Your order number is #{$transaction_id}. {if !empty($line_items) && empty($is_refund)} Information about the workshops will be sent separately to each participant.{/if}\n  Here\'s a summary of your transaction placed on {$transaction_date|date_format:\"%D %I:%M %p %Z\"}:</p>\n\n{if $billing_name}\n  <table class=\"billing-info\">\n      <tr>\n    <th style=\"text-align: left;\">\n      {ts}Billing Name and Address{/ts}\n    </th>\n      </tr>\n      <tr>\n    <td>\n      {$billing_name}<br />\n      {$billing_street_address}<br />\n      {$billing_city}, {$billing_state} {$billing_postal_code}<br/>\n      <br/>\n      {$email}\n    </td>\n    </tr>\n    </table>\n{/if}\n{if $credit_card_type}\n  <p>&nbsp;</p>\n  <table class=\"billing-info\">\n      <tr>\n    <th style=\"text-align: left;\">\n      {ts}Credit Card Information{/ts}\n    </th>\n      </tr>\n      <tr>\n    <td>\n      {$credit_card_type}<br />\n      {$credit_card_number}<br />\n      {ts}Expires{/ts}: {$credit_card_exp_date.M}/{$credit_card_exp_date.Y}\n    </td>\n    </tr>\n    </table>\n{/if}\n{if !empty($source)}\n    <p>&nbsp;</p>\n    {$source}\n{/if}\n    <p>&nbsp;</p>\n    <table width=\"700\">\n      <thead>\n    <tr>\n{if $line_items}\n      <th style=\"text-align: left;\">\n      Event\n      </th>\n      <th style=\"text-align: left;\">\n      Participants\n      </th>\n{/if}\n      <th style=\"text-align: left;\">\n      Price\n      </th>\n      <th style=\"text-align: left;\">\n      Total\n      </th>\n    </tr>\n    </thead>\n      <tbody>\n  {foreach from=$line_items item=line_item}\n  <tr>\n    <td style=\"width: 220px\">\n      {$line_item.event->title} ({$line_item.event->start_date|date_format:\"%D\"})<br />\n      {if $line_item.event->is_show_location}\n        {$line_item.location.address.1.display|nl2br}\n      {/if}{*End of isShowLocation condition*}<br /><br />\n      {$line_item.event->start_date|date_format:\"%D %I:%M %p\"} - {$line_item.event->end_date|date_format:\"%I:%M %p\"}\n    </td>\n    <td style=\"width: 180px\">\n    {$line_item.num_participants}\n      {if $line_item.num_participants > 0}\n      <div class=\"participants\" style=\"padding-left: 10px;\">\n        {foreach from=$line_item.participants item=participant}\n        {$participant.display_name}<br />\n        {/foreach}\n      </div>\n      {/if}\n      {if $line_item.num_waiting_participants > 0}\n      Waitlisted:<br/>\n      <div class=\"participants\" style=\"padding-left: 10px;\">\n        {foreach from=$line_item.waiting_participants item=participant}\n        {$participant.display_name}<br />\n        {/foreach}\n      </div>\n      {/if}\n    </td>\n    <td style=\"width: 100px\">\n      {$line_item.cost|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n    <td style=\"width: 100px\">\n      &nbsp;{$line_item.amount|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n  </tr>\n  {/foreach}\n      </tbody>\n      <tfoot>\n  {if $discounts}\n  <tr>\n    <td>\n    </td>\n    <td>\n    </td>\n    <td>\n      Subtotal:\n    </td>\n    <td>\n      &nbsp;{$sub_total|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n  </tr>\n  {foreach from=$discounts key=myId item=i}\n  <tr>\n    <td>\n      {$i.title}\n    </td>\n    <td>\n    </td>\n    <td>\n    </td>\n    <td>\n      -{$i.amount}\n    </td>\n  </tr>\n  {/foreach}\n  {/if}\n  <tr>\n{if $line_items}\n    <td>\n    </td>\n    <td>\n    </td>\n{/if}\n    <td>\n      <strong>Total:</strong>\n    </td>\n    <td>\n      <strong>&nbsp;{$total|crmMoney:$currency|string_format:\"%10s\"}</strong>\n    </td>\n  </tr>\n      </tfoot>\n    </table>\n\n    If you have questions about the status of your registration or purchase please feel free to contact us.\n  </body>\n</html>\n',1,828,'event_registration_receipt',0,1,0,NULL),
+ (35,'Events - Registration Cancellation Notice','{ts 1=$event.event_title}Event Registration Cancelled for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Your Event Registration has been cancelled.{/ts}\n\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:\"shortdate\" == $event.event_start_date|crmDate:\"shortdate\"}{$event.event_end_date|crmDate:\"Time\"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{ts}Participant Role{/ts}: {participant.role_id:label}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if !empty(\'{participant.register_date}\')}\n{ts}Registration Date{/ts}: {participant.register_date}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Your Event Registration has been cancelled.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:\"shortdate\" == $event.event_start_date|crmDate:\"shortdate\"}{$event.event_end_date|crmDate:\"Time\"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {participant.role_id:label}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty(\'{participant.register_date}\')}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {participant.register_date}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,829,'participant_cancelled',1,0,0,NULL),
+ (36,'Events - Registration Cancellation Notice','{ts 1=$event.event_title}Event Registration Cancelled for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Your Event Registration has been cancelled.{/ts}\n\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:\"shortdate\" == $event.event_start_date|crmDate:\"shortdate\"}{$event.event_end_date|crmDate:\"Time\"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{ts}Participant Role{/ts}: {participant.role_id:label}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if !empty(\'{participant.register_date}\')}\n{ts}Registration Date{/ts}: {participant.register_date}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Your Event Registration has been cancelled.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:\"shortdate\" == $event.event_start_date|crmDate:\"shortdate\"}{$event.event_end_date|crmDate:\"Time\"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {participant.role_id:label}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty(\'{participant.register_date}\')}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {participant.register_date}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,829,'participant_cancelled',0,1,0,NULL),
+ (37,'Events - Registration Confirmation Invite','{ts 1=$event.event_title}Confirm your registration for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}This is an invitation to complete your registration that was initially waitlisted.{/ts}\n\n{if !$isAdditional and $participant.id}\n\n===========================================================\n{ts}Confirm Your Registration{/ts}\n\n===========================================================\n{capture assign=confirmUrl}{crmURL p=\'civicrm/event/confirm\' q=\"reset=1&participantId=`$participant.id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\nClick this link to go to a web page where you can confirm your registration online:\n{$confirmUrl}\n{/if}\n{if $event.allow_selfcancelxfer }\n{ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if $totalAmount}{ts}Cancellations are not refundable.{/ts}{/if}\n   {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n{ts}Transfer or cancel your registration:{/ts} {$selfService}\n{/if}\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n{if $conference_sessions}\n\n\n{ts}Your schedule:{/ts}\n{assign var=\'group_by_day\' value=\'NA\'}\n{foreach from=$conference_sessions item=session}\n{if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n{assign var=\'group_by_day\' value=$session.start_date}\n\n{$group_by_day|date_format:\"%m/%d/%Y\"}\n\n\n{/if}\n{$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}\n{if $session.location}    {$session.location}{/if}\n{/foreach}\n{/if}\n\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if $event.location.phone.1.phone || $event.location.email.1.email}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if $event.is_public}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}This is an invitation to complete your registration that was initially waitlisted.{/ts}</p>\n   </td>\n  </tr>\n  {if !$isAdditional and $participant.id}\n   <tr>\n    <th {$headerStyle}>\n     {ts}Confirm Your Registration{/ts}\n    </th>\n   </tr>\n   <tr>\n    <td colspan=\"2\" {$valueStyle}>\n     {capture assign=confirmUrl}{crmURL p=\'civicrm/event/confirm\' q=\"reset=1&participantId=`$participant.id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\n     <a href=\"{$confirmUrl}\">{ts}Click here to confirm and complete your registration{/ts}</a>\n    </td>\n   </tr>\n  {/if}\n  {if $event.allow_selfcancelxfer }\n  {ts}This event allows for{/ts}\n  {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\" h=0 a=1 fe=1}{/capture}\n       <a href=\"{$selfService}\"> {ts}self service cancel or transfer{/ts}</a>\n  {/if}\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n     {if $conference_sessions}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n  {ts}Your schedule:{/ts}\n       </td>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n  {assign var=\'group_by_day\' value=\'NA\'}\n  {foreach from=$conference_sessions item=session}\n   {if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n    {assign var=\'group_by_day\' value=$session.start_date}\n          <em>{$group_by_day|date_format:\"%m/%d/%Y\"}</em><br />\n   {/if}\n   {$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}<br />\n   {if $session.location}&nbsp;&nbsp;&nbsp;&nbsp;{$session.location}<br />{/if}\n  {/foreach}\n       </td>\n      </tr>\n     {/if}\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if $event.location.phone.1.phone || $event.location.email.1.email}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if $event.is_public}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n  {if $event.allow_selfcancelxfer }\n   <tr>\n     <td colspan=\"2\" {$valueStyle}>\n       {ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if $totalAmount}{ts}Cancellations are not refundable.{/ts}{/if}<br />\n         {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n       <a href=\"{$selfService}\">{ts}Click here to transfer or cancel your registration.{/ts}</a>\n     </td>\n   </tr>\n  {/if}\n  <tr>\n   <td colspan=\"2\" {$valueStyle}>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,830,'participant_confirm',1,0,0,NULL),
+ (38,'Events - Registration Confirmation Invite','{ts 1=$event.event_title}Confirm your registration for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}This is an invitation to complete your registration that was initially waitlisted.{/ts}\n\n{if !$isAdditional and $participant.id}\n\n===========================================================\n{ts}Confirm Your Registration{/ts}\n\n===========================================================\n{capture assign=confirmUrl}{crmURL p=\'civicrm/event/confirm\' q=\"reset=1&participantId=`$participant.id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\nClick this link to go to a web page where you can confirm your registration online:\n{$confirmUrl}\n{/if}\n{if $event.allow_selfcancelxfer }\n{ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if $totalAmount}{ts}Cancellations are not refundable.{/ts}{/if}\n   {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n{ts}Transfer or cancel your registration:{/ts} {$selfService}\n{/if}\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n{if $conference_sessions}\n\n\n{ts}Your schedule:{/ts}\n{assign var=\'group_by_day\' value=\'NA\'}\n{foreach from=$conference_sessions item=session}\n{if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n{assign var=\'group_by_day\' value=$session.start_date}\n\n{$group_by_day|date_format:\"%m/%d/%Y\"}\n\n\n{/if}\n{$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}\n{if $session.location}    {$session.location}{/if}\n{/foreach}\n{/if}\n\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if $event.location.phone.1.phone || $event.location.email.1.email}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if $event.is_public}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}This is an invitation to complete your registration that was initially waitlisted.{/ts}</p>\n   </td>\n  </tr>\n  {if !$isAdditional and $participant.id}\n   <tr>\n    <th {$headerStyle}>\n     {ts}Confirm Your Registration{/ts}\n    </th>\n   </tr>\n   <tr>\n    <td colspan=\"2\" {$valueStyle}>\n     {capture assign=confirmUrl}{crmURL p=\'civicrm/event/confirm\' q=\"reset=1&participantId=`$participant.id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\n     <a href=\"{$confirmUrl}\">{ts}Click here to confirm and complete your registration{/ts}</a>\n    </td>\n   </tr>\n  {/if}\n  {if $event.allow_selfcancelxfer }\n  {ts}This event allows for{/ts}\n  {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\" h=0 a=1 fe=1}{/capture}\n       <a href=\"{$selfService}\"> {ts}self service cancel or transfer{/ts}</a>\n  {/if}\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n     {if $conference_sessions}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n  {ts}Your schedule:{/ts}\n       </td>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n  {assign var=\'group_by_day\' value=\'NA\'}\n  {foreach from=$conference_sessions item=session}\n   {if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n    {assign var=\'group_by_day\' value=$session.start_date}\n          <em>{$group_by_day|date_format:\"%m/%d/%Y\"}</em><br />\n   {/if}\n   {$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}<br />\n   {if $session.location}&nbsp;&nbsp;&nbsp;&nbsp;{$session.location}<br />{/if}\n  {/foreach}\n       </td>\n      </tr>\n     {/if}\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if $event.location.phone.1.phone || $event.location.email.1.email}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if $event.is_public}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n  {if $event.allow_selfcancelxfer }\n   <tr>\n     <td colspan=\"2\" {$valueStyle}>\n       {ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if $totalAmount}{ts}Cancellations are not refundable.{/ts}{/if}<br />\n         {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n       <a href=\"{$selfService}\">{ts}Click here to transfer or cancel your registration.{/ts}</a>\n     </td>\n   </tr>\n  {/if}\n  <tr>\n   <td colspan=\"2\" {$valueStyle}>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,830,'participant_confirm',0,1,0,NULL),
+ (39,'Events - Pending Registration Expiration Notice','{ts 1=$event.event_title}Event registration has expired for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$event.event_title}Your pending event registration for %1 has expired\nbecause you did not confirm your registration.{/ts}\n\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor want to inquire about reinstating your registration for this event.{/ts}\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$event.event_title}Your pending event registration for %1 has expired\nbecause you did not confirm your registration.{/ts}</p>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor want to inquire about reinstating your registration for this event.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,831,'participant_expired',1,0,0,NULL),
+ (40,'Events - Pending Registration Expiration Notice','{ts 1=$event.event_title}Event registration has expired for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$event.event_title}Your pending event registration for %1 has expired\nbecause you did not confirm your registration.{/ts}\n\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor want to inquire about reinstating your registration for this event.{/ts}\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$event.event_title}Your pending event registration for %1 has expired\nbecause you did not confirm your registration.{/ts}</p>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor want to inquire about reinstating your registration for this event.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,831,'participant_expired',0,1,0,NULL),
+ (41,'Events - Registration Transferred Notice','{ts 1=$event.event_title}Event Registration Transferred for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$to_participant}Your Event Registration has been transferred to %1.{/ts}\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$to_participant}Your Event Registration has been Transferred to %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,832,'participant_transferred',1,0,0,NULL),
+ (42,'Events - Registration Transferred Notice','{ts 1=$event.event_title}Event Registration Transferred for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$to_participant}Your Event Registration has been transferred to %1.{/ts}\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$to_participant}Your Event Registration has been Transferred to %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,832,'participant_transferred',0,1,0,NULL),
+ (43,'Tell-a-Friend Email','{ts 1=$senderContactName 2=$title}%1 wants you to know about %2{/ts}\n','{$senderMessage}\n\n{if $generalLink}{ts}For more information, visit:{/ts}\n>> {$generalLink}\n\n{/if}\n{if $contribute}{ts}To make a contribution, go to:{/ts}\n>> {$pageURL}\n\n{/if}\n{if $event}{ts}To find out more about this event, go to:{/ts}\n>> {$pageURL}\n{/if}\n\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <p>{$senderMessage}</p>\n    {if $generalLink}\n     <p><a href=\"{$generalLink}\">{ts}More information{/ts}</a></p>\n    {/if}\n    {if $contribute}\n     <p><a href=\"{$pageURL}\">{ts}Make a contribution{/ts}</a></p>\n    {/if}\n    {if $event}\n     <p><a href=\"{$pageURL}\">{ts}Find out more about this event{/ts}</a></p>\n    {/if}\n   </td>\n  </tr>\n </table>\n\n</body>\n</html>\n',1,833,'friend',1,0,0,NULL),
+ (44,'Tell-a-Friend Email','{ts 1=$senderContactName 2=$title}%1 wants you to know about %2{/ts}\n','{$senderMessage}\n\n{if $generalLink}{ts}For more information, visit:{/ts}\n>> {$generalLink}\n\n{/if}\n{if $contribute}{ts}To make a contribution, go to:{/ts}\n>> {$pageURL}\n\n{/if}\n{if $event}{ts}To find out more about this event, go to:{/ts}\n>> {$pageURL}\n{/if}\n\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <p>{$senderMessage}</p>\n    {if $generalLink}\n     <p><a href=\"{$generalLink}\">{ts}More information{/ts}</a></p>\n    {/if}\n    {if $contribute}\n     <p><a href=\"{$pageURL}\">{ts}Make a contribution{/ts}</a></p>\n    {/if}\n    {if $event}\n     <p><a href=\"{$pageURL}\">{ts}Find out more about this event{/ts}</a></p>\n    {/if}\n   </td>\n  </tr>\n </table>\n\n</body>\n</html>\n',1,833,'friend',0,1,0,NULL),
+ (45,'Memberships - Signup and Renewal Receipts (off-line)','{if $receiptType EQ \'membership signup\'}\n{ts}Membership Confirmation and Receipt{/ts}\n{elseif $receiptType EQ \'membership renewal\'}\n{ts}Membership Renewal Confirmation and Receipt{/ts}\n{/if} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if !empty($formValues.receipt_text_signup)}\n{$formValues.receipt_text_signup}\n{elseif !empty($formValues.receipt_text_renewal)}\n{$formValues.receipt_text_renewal}\n{else}{ts}Thank you for this contribution.{/ts}{/if}\n\n{if empty($lineItem)}\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Type{/ts}: {$membership_name}\n{/if}\n{if empty($cancelled)}\n{if empty($lineItem)}\n{ts}Membership Start Date{/ts}: {$mem_start_date}\n{ts}Membership End Date{/ts}: {$mem_end_date}\n{/if}\n\n{if $formValues.total_amount OR $formValues.total_amount eq 0 }\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{if !empty($formValues.contributionType_name)}\n{ts}Financial Type{/ts}: {$formValues.contributionType_name}\n{/if}\n{if !empty($lineItem)}\n{foreach from=$lineItem item=value key=priceset}\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_total}{ts}Fee{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{/if}\n{capture assign=ts_start_date}{ts}Membership Start Date{/ts}{/capture}\n{capture assign=ts_end_date}{ts}Membership End Date{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_total|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"} {/if} {$ts_start_date|string_format:\"%20s\"} {$ts_end_date|string_format:\"%20s\"}\n--------------------------------------------------------------------------------------------------\n\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {/if} {$line.start_date|string_format:\"%20s\"} {$line.end_date|string_format:\"%20s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset}\n{$taxTerm} {$priceset|string_format:\"%.2f\"} %: {$value|crmMoney:$currency}\n{elseif  $priceset == 0}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n--------------------------------------------------------------------------------------------------\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Amount{/ts}: {$formValues.total_amount|crmMoney}\n{if !empty($receive_date)}\n{ts}Date Received{/ts}: {$receive_date|truncate:10:\'\'|crmDate}\n{/if}\n{if !empty($formValues.paidBy)}\n{ts}Paid By{/ts}: {$formValues.paidBy}\n{if !empty($formValues.check_number)}\n{ts}Check Number{/ts}: {$formValues.check_number}\n{/if}\n{/if}\n{/if}\n{/if}\n\n{if !empty($isPrimary) }\n{if !empty($billingName)}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n\n{if !empty($customValues)}\n===========================================================\n{ts}Membership Options{/ts}\n\n===========================================================\n{foreach from=$customValues item=value key=customName}\n {$customName} : {$value}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n        \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>\n  <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\"\n         style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n    <!-- BEGIN HEADER -->\n    <!-- You can add table row(s) here with logo or other header elements -->\n    <!-- END HEADER -->\n\n    <!-- BEGIN CONTENT -->\n\n    <tr>\n      <td>\n        {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n        {if !empty($formValues.receipt_text_signup)}\n          <p>{$formValues.receipt_text_signup|htmlize}</p>\n        {elseif !empty($formValues.receipt_text_renewal)}\n          <p>{$formValues.receipt_text_renewal|htmlize}</p>\n        {else}\n          <p>{ts}Thank you for this contribution.{/ts}</p>\n        {/if}\n      </td>\n    </tr>\n    <tr>\n      <td>\n        <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n          {if empty($lineItem)}\n            <tr>\n              <th {$headerStyle}>\n                {ts}Membership Information{/ts}\n              </th>\n            </tr>\n            <tr>\n              <td {$labelStyle}>\n                {ts}Membership Type{/ts}\n              </td>\n              <td {$valueStyle}>\n                {$membership_name}\n              </td>\n            </tr>\n          {/if}\n          {if empty($cancelled)}\n            {if empty($lineItem)}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Membership Start Date{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$mem_start_date}\n                </td>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Membership End Date{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$mem_end_date}\n                </td>\n              </tr>\n            {/if}\n            {if $formValues.total_amount OR $formValues.total_amount eq 0 }\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Membership Fee{/ts}\n                </th>\n              </tr>\n              {if !empty($formValues.contributionType_name)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Financial Type{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$formValues.contributionType_name}\n                  </td>\n                </tr>\n              {/if}\n\n              {if !empty($lineItem)}\n                {foreach from=$lineItem item=value key=priceset}\n                  <tr>\n                    <td colspan=\"2\" {$valueStyle}>\n                      <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n                        <tr>\n                          <th>{ts}Item{/ts}</th>\n                          <th>{ts}Fee{/ts}</th>\n                          {if !empty($dataArray)}\n                            <th>{ts}SubTotal{/ts}</th>\n                            <th>{ts}Tax Rate{/ts}</th>\n                            <th>{ts}Tax Amount{/ts}</th>\n                            <th>{ts}Total{/ts}</th>\n                          {/if}\n                          <th>{ts}Membership Start Date{/ts}</th>\n                          <th>{ts}Membership End Date{/ts}</th>\n                        </tr>\n                        {foreach from=$value item=line}\n                          <tr>\n                            <td>\n                              {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}\n                                <div>{$line.description|truncate:30:\"...\"}</div>{/if}\n                            </td>\n                            <td>\n                              {$line.line_total|crmMoney}\n                            </td>\n                            {if !empty($dataArray)}\n                              <td>\n                                {$line.unit_price*$line.qty|crmMoney}\n                              </td>\n                              {if $line.tax_rate || $line.tax_amount != \"\"}\n                                <td>\n                                  {$line.tax_rate|string_format:\"%.2f\"}%\n                                </td>\n                                <td>\n                                  {$line.tax_amount|crmMoney}\n                                </td>\n                              {else}\n                                <td></td>\n                                <td></td>\n                              {/if}\n                              <td>\n                                {$line.line_total+$line.tax_amount|crmMoney}\n                              </td>\n                            {/if}\n                            <td>\n                              {$line.start_date}\n                            </td>\n                            <td>\n                              {$line.end_date}\n                            </td>\n                          </tr>\n                        {/foreach}\n                      </table>\n                    </td>\n                  </tr>\n                {/foreach}\n                {if !empty($dataArray)}\n                  {if isset($formValues.total_amount) and isset($totalTaxAmount)}\n                  <tr>\n                    <td {$labelStyle}>\n                      {ts}Amount Before Tax:{/ts}\n                    </td>\n                    <td {$valueStyle}>\n                      {$formValues.total_amount-$totalTaxAmount|crmMoney}\n                    </td>\n                  </tr>\n                  {/if}\n                  {foreach from=$dataArray item=value key=priceset}\n                    <tr>\n                      {if $priceset}\n                        <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n                        <td>&nbsp;{$value|crmMoney:$currency}</td>\n                      {elseif  $priceset == 0}\n                        <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n                        <td>&nbsp;{$value|crmMoney:$currency}</td>\n                      {/if}\n                    </tr>\n                  {/foreach}\n                {/if}\n              {/if}\n              {if isset($totalTaxAmount)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Total Tax Amount{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$totalTaxAmount|crmMoney:$currency}\n                  </td>\n                </tr>\n              {/if}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Amount{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$formValues.total_amount|crmMoney}\n                </td>\n              </tr>\n              {if !empty($receive_date)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Date Received{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$receive_date|truncate:10:\'\'|crmDate}\n                  </td>\n                </tr>\n              {/if}\n              {if !empty($formValues.paidBy)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Paid By{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$formValues.paidBy}\n                  </td>\n                </tr>\n                {if !empty($formValues.check_number)}\n                  <tr>\n                    <td {$labelStyle}>\n                      {ts}Check Number{/ts}\n                    </td>\n                    <td {$valueStyle}>\n                      {$formValues.check_number}\n                    </td>\n                  </tr>\n                {/if}\n              {/if}\n            {/if}\n          {/if}\n        </table>\n      </td>\n    </tr>\n\n    {if !empty($isPrimary)}\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n\n            {if !empty($billingName)}\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Billing Name and Address{/ts}\n                </th>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {$billingName}<br/>\n                  {$address}\n                </td>\n              </tr>\n            {/if}\n\n            {if !empty($credit_card_type)}\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Credit Card Information{/ts}\n                </th>\n              </tr>\n              <tr>\n                <td {$valueStyle}>\n                  {$credit_card_type}<br/>\n                  {$credit_card_number}\n                </td>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Expires{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n                </td>\n              </tr>\n            {/if}\n\n          </table>\n        </td>\n      </tr>\n    {/if}\n\n    {if !empty($customValues)}\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n            <tr>\n              <th {$headerStyle}>\n                {ts}Membership Options{/ts}\n              </th>\n            </tr>\n            {foreach from=$customValues item=value key=customName}\n              <tr>\n                <td {$labelStyle}>\n                  {$customName}\n                </td>\n                <td {$valueStyle}>\n                  {$value}\n                </td>\n              </tr>\n            {/foreach}\n          </table>\n        </td>\n      </tr>\n    {/if}\n\n  </table>\n\n</body>\n</html>\n',1,834,'membership_offline_receipt',1,0,0,NULL),
+ (46,'Memberships - Signup and Renewal Receipts (off-line)','{if $receiptType EQ \'membership signup\'}\n{ts}Membership Confirmation and Receipt{/ts}\n{elseif $receiptType EQ \'membership renewal\'}\n{ts}Membership Renewal Confirmation and Receipt{/ts}\n{/if} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if !empty($formValues.receipt_text_signup)}\n{$formValues.receipt_text_signup}\n{elseif !empty($formValues.receipt_text_renewal)}\n{$formValues.receipt_text_renewal}\n{else}{ts}Thank you for this contribution.{/ts}{/if}\n\n{if empty($lineItem)}\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Type{/ts}: {$membership_name}\n{/if}\n{if empty($cancelled)}\n{if empty($lineItem)}\n{ts}Membership Start Date{/ts}: {$mem_start_date}\n{ts}Membership End Date{/ts}: {$mem_end_date}\n{/if}\n\n{if $formValues.total_amount OR $formValues.total_amount eq 0 }\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{if !empty($formValues.contributionType_name)}\n{ts}Financial Type{/ts}: {$formValues.contributionType_name}\n{/if}\n{if !empty($lineItem)}\n{foreach from=$lineItem item=value key=priceset}\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_total}{ts}Fee{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{/if}\n{capture assign=ts_start_date}{ts}Membership Start Date{/ts}{/capture}\n{capture assign=ts_end_date}{ts}Membership End Date{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_total|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"} {/if} {$ts_start_date|string_format:\"%20s\"} {$ts_end_date|string_format:\"%20s\"}\n--------------------------------------------------------------------------------------------------\n\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {/if} {$line.start_date|string_format:\"%20s\"} {$line.end_date|string_format:\"%20s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset}\n{$taxTerm} {$priceset|string_format:\"%.2f\"} %: {$value|crmMoney:$currency}\n{elseif  $priceset == 0}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n--------------------------------------------------------------------------------------------------\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Amount{/ts}: {$formValues.total_amount|crmMoney}\n{if !empty($receive_date)}\n{ts}Date Received{/ts}: {$receive_date|truncate:10:\'\'|crmDate}\n{/if}\n{if !empty($formValues.paidBy)}\n{ts}Paid By{/ts}: {$formValues.paidBy}\n{if !empty($formValues.check_number)}\n{ts}Check Number{/ts}: {$formValues.check_number}\n{/if}\n{/if}\n{/if}\n{/if}\n\n{if !empty($isPrimary) }\n{if !empty($billingName)}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n\n{if !empty($customValues)}\n===========================================================\n{ts}Membership Options{/ts}\n\n===========================================================\n{foreach from=$customValues item=value key=customName}\n {$customName} : {$value}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n        \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>\n  <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\"\n         style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n    <!-- BEGIN HEADER -->\n    <!-- You can add table row(s) here with logo or other header elements -->\n    <!-- END HEADER -->\n\n    <!-- BEGIN CONTENT -->\n\n    <tr>\n      <td>\n        {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n        {if !empty($formValues.receipt_text_signup)}\n          <p>{$formValues.receipt_text_signup|htmlize}</p>\n        {elseif !empty($formValues.receipt_text_renewal)}\n          <p>{$formValues.receipt_text_renewal|htmlize}</p>\n        {else}\n          <p>{ts}Thank you for this contribution.{/ts}</p>\n        {/if}\n      </td>\n    </tr>\n    <tr>\n      <td>\n        <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n          {if empty($lineItem)}\n            <tr>\n              <th {$headerStyle}>\n                {ts}Membership Information{/ts}\n              </th>\n            </tr>\n            <tr>\n              <td {$labelStyle}>\n                {ts}Membership Type{/ts}\n              </td>\n              <td {$valueStyle}>\n                {$membership_name}\n              </td>\n            </tr>\n          {/if}\n          {if empty($cancelled)}\n            {if empty($lineItem)}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Membership Start Date{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$mem_start_date}\n                </td>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Membership End Date{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$mem_end_date}\n                </td>\n              </tr>\n            {/if}\n            {if $formValues.total_amount OR $formValues.total_amount eq 0 }\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Membership Fee{/ts}\n                </th>\n              </tr>\n              {if !empty($formValues.contributionType_name)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Financial Type{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$formValues.contributionType_name}\n                  </td>\n                </tr>\n              {/if}\n\n              {if !empty($lineItem)}\n                {foreach from=$lineItem item=value key=priceset}\n                  <tr>\n                    <td colspan=\"2\" {$valueStyle}>\n                      <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n                        <tr>\n                          <th>{ts}Item{/ts}</th>\n                          <th>{ts}Fee{/ts}</th>\n                          {if !empty($dataArray)}\n                            <th>{ts}SubTotal{/ts}</th>\n                            <th>{ts}Tax Rate{/ts}</th>\n                            <th>{ts}Tax Amount{/ts}</th>\n                            <th>{ts}Total{/ts}</th>\n                          {/if}\n                          <th>{ts}Membership Start Date{/ts}</th>\n                          <th>{ts}Membership End Date{/ts}</th>\n                        </tr>\n                        {foreach from=$value item=line}\n                          <tr>\n                            <td>\n                              {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}\n                                <div>{$line.description|truncate:30:\"...\"}</div>{/if}\n                            </td>\n                            <td>\n                              {$line.line_total|crmMoney}\n                            </td>\n                            {if !empty($dataArray)}\n                              <td>\n                                {$line.unit_price*$line.qty|crmMoney}\n                              </td>\n                              {if $line.tax_rate || $line.tax_amount != \"\"}\n                                <td>\n                                  {$line.tax_rate|string_format:\"%.2f\"}%\n                                </td>\n                                <td>\n                                  {$line.tax_amount|crmMoney}\n                                </td>\n                              {else}\n                                <td></td>\n                                <td></td>\n                              {/if}\n                              <td>\n                                {$line.line_total+$line.tax_amount|crmMoney}\n                              </td>\n                            {/if}\n                            <td>\n                              {$line.start_date}\n                            </td>\n                            <td>\n                              {$line.end_date}\n                            </td>\n                          </tr>\n                        {/foreach}\n                      </table>\n                    </td>\n                  </tr>\n                {/foreach}\n                {if !empty($dataArray)}\n                  {if isset($formValues.total_amount) and isset($totalTaxAmount)}\n                  <tr>\n                    <td {$labelStyle}>\n                      {ts}Amount Before Tax:{/ts}\n                    </td>\n                    <td {$valueStyle}>\n                      {$formValues.total_amount-$totalTaxAmount|crmMoney}\n                    </td>\n                  </tr>\n                  {/if}\n                  {foreach from=$dataArray item=value key=priceset}\n                    <tr>\n                      {if $priceset}\n                        <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n                        <td>&nbsp;{$value|crmMoney:$currency}</td>\n                      {elseif  $priceset == 0}\n                        <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n                        <td>&nbsp;{$value|crmMoney:$currency}</td>\n                      {/if}\n                    </tr>\n                  {/foreach}\n                {/if}\n              {/if}\n              {if isset($totalTaxAmount)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Total Tax Amount{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$totalTaxAmount|crmMoney:$currency}\n                  </td>\n                </tr>\n              {/if}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Amount{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$formValues.total_amount|crmMoney}\n                </td>\n              </tr>\n              {if !empty($receive_date)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Date Received{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$receive_date|truncate:10:\'\'|crmDate}\n                  </td>\n                </tr>\n              {/if}\n              {if !empty($formValues.paidBy)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Paid By{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$formValues.paidBy}\n                  </td>\n                </tr>\n                {if !empty($formValues.check_number)}\n                  <tr>\n                    <td {$labelStyle}>\n                      {ts}Check Number{/ts}\n                    </td>\n                    <td {$valueStyle}>\n                      {$formValues.check_number}\n                    </td>\n                  </tr>\n                {/if}\n              {/if}\n            {/if}\n          {/if}\n        </table>\n      </td>\n    </tr>\n\n    {if !empty($isPrimary)}\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n\n            {if !empty($billingName)}\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Billing Name and Address{/ts}\n                </th>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {$billingName}<br/>\n                  {$address}\n                </td>\n              </tr>\n            {/if}\n\n            {if !empty($credit_card_type)}\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Credit Card Information{/ts}\n                </th>\n              </tr>\n              <tr>\n                <td {$valueStyle}>\n                  {$credit_card_type}<br/>\n                  {$credit_card_number}\n                </td>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Expires{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n                </td>\n              </tr>\n            {/if}\n\n          </table>\n        </td>\n      </tr>\n    {/if}\n\n    {if !empty($customValues)}\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n            <tr>\n              <th {$headerStyle}>\n                {ts}Membership Options{/ts}\n              </th>\n            </tr>\n            {foreach from=$customValues item=value key=customName}\n              <tr>\n                <td {$labelStyle}>\n                  {$customName}\n                </td>\n                <td {$valueStyle}>\n                  {$value}\n                </td>\n              </tr>\n            {/foreach}\n          </table>\n        </td>\n      </tr>\n    {/if}\n\n  </table>\n\n</body>\n</html>\n',1,834,'membership_offline_receipt',0,1,0,NULL),
+ (47,'Memberships - Receipt (on-line)','{if $is_pay_later}{ts}Invoice{/ts}{else}{ts}Receipt{/ts}{/if} - {$title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($receipt_text)}\n{$receipt_text}\n{/if}\n{if $is_pay_later}\n\n===========================================================\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n===========================================================\n{/if}\n\n{if $membership_assign && !$useForMember}\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Type{/ts}: {$membership_name}\n{if $mem_start_date}{ts}Membership Start Date{/ts}: {$mem_start_date|crmDate}\n{/if}\n{if $mem_end_date}{ts}Membership End Date{/ts}: {$mem_end_date|crmDate}\n{/if}\n\n{/if}\n{if $amount}\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{if !$useForMember && isset($membership_amount) && !empty($is_quick_config)}\n{ts 1=$membership_name}%1 Membership{/ts}: {$membership_amount|crmMoney}\n{if $amount && !$is_separate_payment }\n{ts}Contribution Amount{/ts}: {$amount|crmMoney}\n-------------------------------------------\n{ts}Total{/ts}: {$amount+$membership_amount|crmMoney}\n{/if}\n{elseif !$useForMember && !empty($lineItem) and !empty($priceSetID) & empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{$line.description|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney|string_format:\"%10s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n\n{ts}Total Amount{/ts}: {$amount|crmMoney}\n{else}\n{if $useForMember && $lineItem && empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_total}{ts}Fee{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{/if}\n{capture assign=ts_start_date}{ts}Membership Start Date{/ts}{/capture}\n{capture assign=ts_end_date}{ts}Membership End Date{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_total|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"} {/if} {$ts_start_date|string_format:\"%20s\"} {$ts_end_date|string_format:\"%20s\"}\n--------------------------------------------------------------------------------------------------\n\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {/if} {$line.start_date|string_format:\"%20s\"} {$line.end_date|string_format:\"%20s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n--------------------------------------------------------------------------------------------------\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Amount{/ts}: {$amount|crmMoney} {if isset($amount_level) } - {$amount_level} {/if}\n{/if}\n{elseif isset($membership_amount)}\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{ts 1=$membership_name}%1 Membership{/ts}: {$membership_amount|crmMoney}\n{/if}\n\n{if !empty($receive_date)}\n\n{ts}Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($is_monetary) and !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n\n{/if}\n{if !empty($membership_trx_id)}\n{ts}Membership Transaction #{/ts}: {$membership_trx_id}\n\n{/if}\n{if !empty($is_recur)}\n{ts}This membership will be renewed automatically.{/ts}\n{if $cancelSubscriptionUrl}\n\n{ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by visiting this web page: %1.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n{/if}\n{/if}\n\n{if $honor_block_is_active }\n===========================================================\n{$soft_credit_type}\n===========================================================\n{foreach from=$honoreeProfile item=value key=label}\n{$label}: {$value}\n{/foreach}\n\n{/if}\n{if !empty($pcpBlock)}\n===========================================================\n{ts}Personal Campaign Page{/ts}\n\n===========================================================\n{ts}Display In Honor Roll{/ts}: {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n\n{if $pcp_roll_nickname}{ts}Nickname{/ts}: {$pcp_roll_nickname}{/if}\n\n{if $pcp_personal_note}{ts}Personal Note{/ts}: {$pcp_personal_note}{/if}\n\n{/if}\n{if !empty($onBehalfProfile)}\n===========================================================\n{ts}On Behalf Of{/ts}\n\n===========================================================\n{foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n{$onBehalfName}: {$onBehalfValue}\n{/foreach}\n{/if}\n\n{if !empty($billingName)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n{elseif !empty($email)}\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{$email}\n{/if} {* End billingName or email *}\n{if !empty($credit_card_type)}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n\n{if !empty($selectPremium)}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$product_name}\n{if $option}\n{ts}Option{/ts}: {$option}\n{/if}\n{if $sku}\n{ts}SKU{/ts}: {$sku}\n{/if}\n{if $start_date}\n{ts}Start Date{/ts}: {$start_date|crmDate}\n{/if}\n{if $end_date}\n{ts}End Date{/ts}: {$end_date|crmDate}\n{/if}\n{if !empty($contact_email) OR !empty($contact_phone)}\n\n{ts}For information about this premium, contact:{/ts}\n\n{if !empty($contact_email)}\n  {$contact_email}\n{/if}\n{if !empty($contact_phone)}\n  {$contact_phone}\n{/if}\n{/if}\n{if !empty($is_deductible) AND !empty($price)}\n\n{ts 1=$price|crmMoney}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}{/if}\n{/if}\n\n{if !empty($customPre)}\n===========================================================\n{$customPre_grouptitle}\n\n===========================================================\n{foreach from=$customPre item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n\n\n{if !empty($customPost)}\n===========================================================\n{$customPost_grouptitle}\n\n===========================================================\n{foreach from=$customPost item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($receipt_text)}\n     <p>{$receipt_text|htmlize}</p>\n    {/if}\n\n    {if $is_pay_later}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  </table>\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n     {if $membership_assign && !$useForMember}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Type{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_name}\n       </td>\n      </tr>\n      {if $mem_start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$mem_start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $mem_end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$mem_end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n\n     {if $amount}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Fee{/ts}\n       </th>\n      </tr>\n\n      {if !$useForMember and isset($membership_amount) and !empty($is_quick_config)}\n\n       <tr>\n        <td {$labelStyle}>\n         {ts 1=$membership_name}%1 Membership{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$membership_amount|crmMoney}\n        </td>\n       </tr>\n       {if $amount && !$is_separate_payment }\n         <tr>\n          <td {$labelStyle}>\n           {ts}Contribution Amount{/ts}\n          </td>\n          <td {$valueStyle}>\n           {$amount|crmMoney}\n          </td>\n         </tr>\n         <tr>\n           <td {$labelStyle}>\n           {ts}Total{/ts}\n            </td>\n            <td {$valueStyle}>\n            {$amount+$membership_amount|crmMoney}\n           </td>\n         </tr>\n       {/if}\n\n      {elseif empty($useForMember) && !empty($lineItem) and $priceSetID and empty($is_quick_config)}\n\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Qty{/ts}</th>\n            <th>{ts}Each{/ts}</th>\n            <th>{ts}Total{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n              {$line.description|truncate:30:\"...\"}\n             </td>\n             <td>\n              {$line.qty}\n             </td>\n             <td>\n              {$line.unit_price|crmMoney}\n             </td>\n             <td>\n              {$line.line_total|crmMoney}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney}\n        </td>\n       </tr>\n\n      {else}\n       {if $useForMember && $lineItem and empty($is_quick_config)}\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Fee{/ts}</th>\n            {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n              <th>{ts}Total{/ts}</th>\n            {/if}\n      <th>{ts}Membership Start Date{/ts}</th>\n      <th>{ts}Membership End Date{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n             {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n             </td>\n             <td>\n              {$line.line_total|crmMoney}\n             </td>\n             {if !empty($dataArray)}\n              <td>\n               {$line.unit_price*$line.qty|crmMoney}\n              </td>\n              {if ($line.tax_rate || $line.tax_amount != \"\")}\n               <td>\n                {$line.tax_rate|string_format:\"%.2f\"}%\n               </td>\n               <td>\n                {$line.tax_amount|crmMoney}\n               </td>\n              {else}\n               <td></td>\n               <td></td>\n              {/if}\n              <td>\n               {$line.line_total+$line.tax_amount|crmMoney}\n              </td>\n             {/if}\n             <td>\n              {$line.start_date}\n             </td>\n       <td>\n              {$line.end_date}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       {if !empty($dataArray)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Amount Before Tax:{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$amount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n         {if $priceset || $priceset == 0}\n           <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n         {else}\n           <td>&nbsp;{ts}NO{/ts} {$taxTerm}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n         {/if}\n         </tr>\n        {/foreach}\n       {/if}\n       {/if}\n       {if isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Total Tax Amount{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney} {if isset($amount_level)} - {$amount_level}{/if}\n        </td>\n       </tr>\n\n      {/if}\n\n\n     {elseif isset($membership_amount)}\n\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Fee{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts 1=$membership_name}%1 Membership{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_amount|crmMoney}\n       </td>\n      </tr>\n\n\n     {/if}\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($is_monetary) and !empty($trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($membership_trx_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_trx_id}\n       </td>\n      </tr>\n     {/if}\n     {if !empty($is_recur)}\n       <tr>\n        <td colspan=\"2\" {$labelStyle}>\n         {ts}This membership will be renewed automatically.{/ts}\n         {if $cancelSubscriptionUrl}\n           {ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n         {/if}\n        </td>\n       </tr>\n       {if $updateSubscriptionBillingUrl}\n         <tr>\n          <td colspan=\"2\" {$labelStyle}>\n           {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n         </tr>\n       {/if}\n     {/if}\n\n     {if $honor_block_is_active}\n      <tr>\n       <th {$headerStyle}>\n        {$soft_credit_type}\n       </th>\n      </tr>\n      {foreach from=$honoreeProfile item=value key=label}\n        <tr>\n         <td {$labelStyle}>\n          {$label}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($pcpBlock)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Personal Campaign Page{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Display In Honor Roll{/ts}\n       </td>\n       <td {$valueStyle}>\n        {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n       </td>\n      </tr>\n      {if $pcp_roll_nickname}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Nickname{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_roll_nickname}\n        </td>\n       </tr>\n      {/if}\n      {if $pcp_personal_note}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Personal Note{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_personal_note}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($onBehalfProfile)}\n      <tr>\n       <th {$headerStyle}>\n        {$onBehalfProfile_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n        <tr>\n         <td {$labelStyle}>\n          {$onBehalfName}\n         </td>\n         <td {$valueStyle}>\n          {$onBehalfValue}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($billingName)}\n       <tr>\n         <th {$headerStyle}>\n           {ts}Billing Name and Address{/ts}\n         </th>\n      </tr>\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}<br />\n          {$email}\n        </td>\n      </tr>\n    {elseif !empty($email)}\n      <tr>\n        <th {$headerStyle}>\n          {ts}Registered Email{/ts}\n        </th>\n      </tr>\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n          {$email}\n        </td>\n      </tr>\n    {/if}\n\n     {if !empty($credit_card_type)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($selectPremium)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$product_name}\n       </td>\n      </tr>\n      {if $option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$option}\n        </td>\n       </tr>\n      {/if}\n      {if $sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$sku}\n        </td>\n       </tr>\n      {/if}\n      {if $start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($contact_email) OR !empty($contact_phone)}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}For information about this premium, contact:{/ts}</p>\n         {if !empty($contact_email)}\n          <p>{$contact_email}</p>\n         {/if}\n         {if !empty($contact_phone)}\n          <p>{$contact_phone}</p>\n         {/if}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($is_deductible) AND !empty($price)}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <p>{ts 1=$price|crmMoney}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}</p>\n         </td>\n        </tr>\n      {/if}\n     {/if}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n  </table>\n\n</body>\n</html>\n',1,835,'membership_online_receipt',1,0,0,NULL),
+ (48,'Memberships - Receipt (on-line)','{if $is_pay_later}{ts}Invoice{/ts}{else}{ts}Receipt{/ts}{/if} - {$title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($receipt_text)}\n{$receipt_text}\n{/if}\n{if $is_pay_later}\n\n===========================================================\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n===========================================================\n{/if}\n\n{if $membership_assign && !$useForMember}\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Type{/ts}: {$membership_name}\n{if $mem_start_date}{ts}Membership Start Date{/ts}: {$mem_start_date|crmDate}\n{/if}\n{if $mem_end_date}{ts}Membership End Date{/ts}: {$mem_end_date|crmDate}\n{/if}\n\n{/if}\n{if $amount}\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{if !$useForMember && isset($membership_amount) && !empty($is_quick_config)}\n{ts 1=$membership_name}%1 Membership{/ts}: {$membership_amount|crmMoney}\n{if $amount && !$is_separate_payment }\n{ts}Contribution Amount{/ts}: {$amount|crmMoney}\n-------------------------------------------\n{ts}Total{/ts}: {$amount+$membership_amount|crmMoney}\n{/if}\n{elseif !$useForMember && !empty($lineItem) and !empty($priceSetID) & empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{$line.description|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney|string_format:\"%10s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n\n{ts}Total Amount{/ts}: {$amount|crmMoney}\n{else}\n{if $useForMember && $lineItem && empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_total}{ts}Fee{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{/if}\n{capture assign=ts_start_date}{ts}Membership Start Date{/ts}{/capture}\n{capture assign=ts_end_date}{ts}Membership End Date{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_total|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"} {/if} {$ts_start_date|string_format:\"%20s\"} {$ts_end_date|string_format:\"%20s\"}\n--------------------------------------------------------------------------------------------------\n\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {/if} {$line.start_date|string_format:\"%20s\"} {$line.end_date|string_format:\"%20s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n--------------------------------------------------------------------------------------------------\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Amount{/ts}: {$amount|crmMoney} {if isset($amount_level) } - {$amount_level} {/if}\n{/if}\n{elseif isset($membership_amount)}\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{ts 1=$membership_name}%1 Membership{/ts}: {$membership_amount|crmMoney}\n{/if}\n\n{if !empty($receive_date)}\n\n{ts}Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($is_monetary) and !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n\n{/if}\n{if !empty($membership_trx_id)}\n{ts}Membership Transaction #{/ts}: {$membership_trx_id}\n\n{/if}\n{if !empty($is_recur)}\n{ts}This membership will be renewed automatically.{/ts}\n{if $cancelSubscriptionUrl}\n\n{ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by visiting this web page: %1.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n{/if}\n{/if}\n\n{if $honor_block_is_active }\n===========================================================\n{$soft_credit_type}\n===========================================================\n{foreach from=$honoreeProfile item=value key=label}\n{$label}: {$value}\n{/foreach}\n\n{/if}\n{if !empty($pcpBlock)}\n===========================================================\n{ts}Personal Campaign Page{/ts}\n\n===========================================================\n{ts}Display In Honor Roll{/ts}: {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n\n{if $pcp_roll_nickname}{ts}Nickname{/ts}: {$pcp_roll_nickname}{/if}\n\n{if $pcp_personal_note}{ts}Personal Note{/ts}: {$pcp_personal_note}{/if}\n\n{/if}\n{if !empty($onBehalfProfile)}\n===========================================================\n{ts}On Behalf Of{/ts}\n\n===========================================================\n{foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n{$onBehalfName}: {$onBehalfValue}\n{/foreach}\n{/if}\n\n{if !empty($billingName)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n{elseif !empty($email)}\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{$email}\n{/if} {* End billingName or email *}\n{if !empty($credit_card_type)}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n\n{if !empty($selectPremium)}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$product_name}\n{if $option}\n{ts}Option{/ts}: {$option}\n{/if}\n{if $sku}\n{ts}SKU{/ts}: {$sku}\n{/if}\n{if $start_date}\n{ts}Start Date{/ts}: {$start_date|crmDate}\n{/if}\n{if $end_date}\n{ts}End Date{/ts}: {$end_date|crmDate}\n{/if}\n{if !empty($contact_email) OR !empty($contact_phone)}\n\n{ts}For information about this premium, contact:{/ts}\n\n{if !empty($contact_email)}\n  {$contact_email}\n{/if}\n{if !empty($contact_phone)}\n  {$contact_phone}\n{/if}\n{/if}\n{if !empty($is_deductible) AND !empty($price)}\n\n{ts 1=$price|crmMoney}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}{/if}\n{/if}\n\n{if !empty($customPre)}\n===========================================================\n{$customPre_grouptitle}\n\n===========================================================\n{foreach from=$customPre item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n\n\n{if !empty($customPost)}\n===========================================================\n{$customPost_grouptitle}\n\n===========================================================\n{foreach from=$customPost item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($receipt_text)}\n     <p>{$receipt_text|htmlize}</p>\n    {/if}\n\n    {if $is_pay_later}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  </table>\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n     {if $membership_assign && !$useForMember}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Type{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_name}\n       </td>\n      </tr>\n      {if $mem_start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$mem_start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $mem_end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$mem_end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n\n     {if $amount}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Fee{/ts}\n       </th>\n      </tr>\n\n      {if !$useForMember and isset($membership_amount) and !empty($is_quick_config)}\n\n       <tr>\n        <td {$labelStyle}>\n         {ts 1=$membership_name}%1 Membership{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$membership_amount|crmMoney}\n        </td>\n       </tr>\n       {if $amount && !$is_separate_payment }\n         <tr>\n          <td {$labelStyle}>\n           {ts}Contribution Amount{/ts}\n          </td>\n          <td {$valueStyle}>\n           {$amount|crmMoney}\n          </td>\n         </tr>\n         <tr>\n           <td {$labelStyle}>\n           {ts}Total{/ts}\n            </td>\n            <td {$valueStyle}>\n            {$amount+$membership_amount|crmMoney}\n           </td>\n         </tr>\n       {/if}\n\n      {elseif empty($useForMember) && !empty($lineItem) and $priceSetID and empty($is_quick_config)}\n\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Qty{/ts}</th>\n            <th>{ts}Each{/ts}</th>\n            <th>{ts}Total{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n              {$line.description|truncate:30:\"...\"}\n             </td>\n             <td>\n              {$line.qty}\n             </td>\n             <td>\n              {$line.unit_price|crmMoney}\n             </td>\n             <td>\n              {$line.line_total|crmMoney}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney}\n        </td>\n       </tr>\n\n      {else}\n       {if $useForMember && $lineItem and empty($is_quick_config)}\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Fee{/ts}</th>\n            {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n              <th>{ts}Total{/ts}</th>\n            {/if}\n      <th>{ts}Membership Start Date{/ts}</th>\n      <th>{ts}Membership End Date{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n             {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n             </td>\n             <td>\n              {$line.line_total|crmMoney}\n             </td>\n             {if !empty($dataArray)}\n              <td>\n               {$line.unit_price*$line.qty|crmMoney}\n              </td>\n              {if ($line.tax_rate || $line.tax_amount != \"\")}\n               <td>\n                {$line.tax_rate|string_format:\"%.2f\"}%\n               </td>\n               <td>\n                {$line.tax_amount|crmMoney}\n               </td>\n              {else}\n               <td></td>\n               <td></td>\n              {/if}\n              <td>\n               {$line.line_total+$line.tax_amount|crmMoney}\n              </td>\n             {/if}\n             <td>\n              {$line.start_date}\n             </td>\n       <td>\n              {$line.end_date}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       {if !empty($dataArray)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Amount Before Tax:{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$amount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n         {if $priceset || $priceset == 0}\n           <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n         {else}\n           <td>&nbsp;{ts}NO{/ts} {$taxTerm}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n         {/if}\n         </tr>\n        {/foreach}\n       {/if}\n       {/if}\n       {if isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Total Tax Amount{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney} {if isset($amount_level)} - {$amount_level}{/if}\n        </td>\n       </tr>\n\n      {/if}\n\n\n     {elseif isset($membership_amount)}\n\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Fee{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts 1=$membership_name}%1 Membership{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_amount|crmMoney}\n       </td>\n      </tr>\n\n\n     {/if}\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($is_monetary) and !empty($trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($membership_trx_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_trx_id}\n       </td>\n      </tr>\n     {/if}\n     {if !empty($is_recur)}\n       <tr>\n        <td colspan=\"2\" {$labelStyle}>\n         {ts}This membership will be renewed automatically.{/ts}\n         {if $cancelSubscriptionUrl}\n           {ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n         {/if}\n        </td>\n       </tr>\n       {if $updateSubscriptionBillingUrl}\n         <tr>\n          <td colspan=\"2\" {$labelStyle}>\n           {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n         </tr>\n       {/if}\n     {/if}\n\n     {if $honor_block_is_active}\n      <tr>\n       <th {$headerStyle}>\n        {$soft_credit_type}\n       </th>\n      </tr>\n      {foreach from=$honoreeProfile item=value key=label}\n        <tr>\n         <td {$labelStyle}>\n          {$label}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($pcpBlock)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Personal Campaign Page{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Display In Honor Roll{/ts}\n       </td>\n       <td {$valueStyle}>\n        {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n       </td>\n      </tr>\n      {if $pcp_roll_nickname}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Nickname{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_roll_nickname}\n        </td>\n       </tr>\n      {/if}\n      {if $pcp_personal_note}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Personal Note{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_personal_note}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($onBehalfProfile)}\n      <tr>\n       <th {$headerStyle}>\n        {$onBehalfProfile_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n        <tr>\n         <td {$labelStyle}>\n          {$onBehalfName}\n         </td>\n         <td {$valueStyle}>\n          {$onBehalfValue}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($billingName)}\n       <tr>\n         <th {$headerStyle}>\n           {ts}Billing Name and Address{/ts}\n         </th>\n      </tr>\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}<br />\n          {$email}\n        </td>\n      </tr>\n    {elseif !empty($email)}\n      <tr>\n        <th {$headerStyle}>\n          {ts}Registered Email{/ts}\n        </th>\n      </tr>\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n          {$email}\n        </td>\n      </tr>\n    {/if}\n\n     {if !empty($credit_card_type)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($selectPremium)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$product_name}\n       </td>\n      </tr>\n      {if $option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$option}\n        </td>\n       </tr>\n      {/if}\n      {if $sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$sku}\n        </td>\n       </tr>\n      {/if}\n      {if $start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($contact_email) OR !empty($contact_phone)}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}For information about this premium, contact:{/ts}</p>\n         {if !empty($contact_email)}\n          <p>{$contact_email}</p>\n         {/if}\n         {if !empty($contact_phone)}\n          <p>{$contact_phone}</p>\n         {/if}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($is_deductible) AND !empty($price)}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <p>{ts 1=$price|crmMoney}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}</p>\n         </td>\n        </tr>\n      {/if}\n     {/if}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n  </table>\n\n</body>\n</html>\n',1,835,'membership_online_receipt',0,1,0,NULL),
+ (49,'Memberships - Auto-renew Cancellation Notification','{ts}Autorenew Membership Cancellation Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$membershipType}The automatic renewal of your %1 membership has been cancelled as requested. This does not affect the status of your membership - you will receive a separate notification when your membership is up for renewal.{/ts}\n\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Status{/ts}: {$membership_status}\n{if $mem_start_date}{ts}Membership Start Date{/ts}: {$mem_start_date|crmDate}\n{/if}\n{if $mem_end_date}{ts}Membership End Date{/ts}: {$mem_end_date|crmDate}\n{/if}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$membershipType}The automatic renewal of your %1 membership has been cancelled as requested. This does not affect the status of your membership - you will receive a separate notification when your membership is up for renewal.{/ts}</p>\n\n   </td>\n  </tr>\n </table>\n <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Status{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_status}\n       </td>\n      </tr>\n      {if $mem_start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$mem_start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $mem_end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$mem_end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n\n </table>\n\n</body>\n</html>\n',1,836,'membership_autorenew_cancelled',1,0,0,NULL),
+ (50,'Memberships - Auto-renew Cancellation Notification','{ts}Autorenew Membership Cancellation Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$membershipType}The automatic renewal of your %1 membership has been cancelled as requested. This does not affect the status of your membership - you will receive a separate notification when your membership is up for renewal.{/ts}\n\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Status{/ts}: {$membership_status}\n{if $mem_start_date}{ts}Membership Start Date{/ts}: {$mem_start_date|crmDate}\n{/if}\n{if $mem_end_date}{ts}Membership End Date{/ts}: {$mem_end_date|crmDate}\n{/if}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$membershipType}The automatic renewal of your %1 membership has been cancelled as requested. This does not affect the status of your membership - you will receive a separate notification when your membership is up for renewal.{/ts}</p>\n\n   </td>\n  </tr>\n </table>\n <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Status{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_status}\n       </td>\n      </tr>\n      {if $mem_start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$mem_start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $mem_end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$mem_end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n\n </table>\n\n</body>\n</html>\n',1,836,'membership_autorenew_cancelled',0,1,0,NULL),
+ (51,'Memberships - Auto-renew Billing Updates','{ts}Membership Autorenewal Billing Updates{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$membershipType}Billing details for your automatically renewed %1 membership have been updated.{/ts}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$membershipType}Billing details for your automatically renewed %1 membership have been updated.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n   <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n        <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n         {ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n        </td>\n      </tr>\n\n  </table>\n\n</body>\n</html>\n',1,837,'membership_autorenew_billing',1,0,0,NULL),
+ (52,'Memberships - Auto-renew Billing Updates','{ts}Membership Autorenewal Billing Updates{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$membershipType}Billing details for your automatically renewed %1 membership have been updated.{/ts}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$membershipType}Billing details for your automatically renewed %1 membership have been updated.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n   <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n        <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n         {ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n        </td>\n      </tr>\n\n  </table>\n\n</body>\n</html>\n',1,837,'membership_autorenew_billing',0,1,0,NULL),
+ (53,'Test-drive - Receipt Header','[TEST]\n','***********************************************************\n\n{ts}Test-drive Email / Receipt{/ts}\n\n{ts}This is a test-drive email. No live financial transaction has occurred.{/ts}\n\n***********************************************************\n',' <table id=\"crm-event_receipt_test\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n  <tr>\n   <td>\n    <p>{ts}Test-drive Email / Receipt{/ts}</p>\n    <p>{ts}This is a test-drive email. No live financial transaction has occurred.{/ts}</p>\n   </td>\n  </tr>\n </table>\n',1,838,'test_preview',1,0,0,NULL),
+ (54,'Test-drive - Receipt Header','[TEST]\n','***********************************************************\n\n{ts}Test-drive Email / Receipt{/ts}\n\n{ts}This is a test-drive email. No live financial transaction has occurred.{/ts}\n\n***********************************************************\n',' <table id=\"crm-event_receipt_test\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n  <tr>\n   <td>\n    <p>{ts}Test-drive Email / Receipt{/ts}</p>\n    <p>{ts}This is a test-drive email. No live financial transaction has occurred.{/ts}</p>\n   </td>\n  </tr>\n </table>\n',1,838,'test_preview',0,1,0,NULL),
+ (55,'Pledges - Acknowledgement','{ts}Thank you for your Pledge{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Thank you for your generous pledge.{/ts}\n\n===========================================================\n{ts}Pledge Information{/ts}\n\n===========================================================\n{ts}Pledge Received{/ts}: {$create_date|truncate:10:\'\'|crmDate}\n{ts}Total Pledge Amount{/ts}: {$total_pledge_amount|crmMoney:$currency}\n\n===========================================================\n{ts}Payment Schedule{/ts}\n\n===========================================================\n{ts 1=$scheduled_amount|crmMoney:$currency 2=$frequency_interval 3=$frequency_unit 4=$installments}%1 every %2 %3 for %4 installments.{/ts}\n\n{if $frequency_day}\n\n{ts 1=$frequency_day 2=$frequency_unit}Payments are due on day %1 of the %2.{/ts}\n{/if}\n\n{if $payments}\n{assign var=\"count\" value=\"1\"}\n{foreach from=$payments item=payment}\n\n{ts 1=$count}Payment %1{/ts}: {$payment.amount|crmMoney:$currency} {if $payment.status eq 1}{ts}paid{/ts} {$payment.receive_date|truncate:10:\'\'|crmDate}{else}{ts}due{/ts} {$payment.due_date|truncate:10:\'\'|crmDate}{/if}\n{assign var=\"count\" value=`$count+1`}\n{/foreach}\n{/if}\n\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}\n\n{if $customGroup}\n{foreach from=$customGroup item=value key=customName}\n===========================================================\n{$customName}\n===========================================================\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Thank you for your generous pledge.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Pledge Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Pledge Received{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$create_date|truncate:10:\'\'|crmDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Pledge Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$total_pledge_amount|crmMoney:$currency}\n      </td>\n     </tr>\n     <tr>\n      <th {$headerStyle}>\n       {ts}Payment Schedule{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       <p>{ts 1=$scheduled_amount|crmMoney:$currency 2=$frequency_interval 3=$frequency_unit 4=$installments}%1 every %2 %3 for %4 installments.{/ts}</p>\n\n       {if $frequency_day}\n        <p>{ts 1=$frequency_day 2=$frequency_unit}Payments are due on day %1 of the %2.{/ts}</p>\n       {/if}\n      </td>\n     </tr>\n\n     {if $payments}\n      {assign var=\"count\" value=\"1\"}\n      {foreach from=$payments item=payment}\n       <tr>\n        <td {$labelStyle}>\n         {ts 1=$count}Payment %1{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$payment.amount|crmMoney:$currency} {if $payment.status eq 1}{ts}paid{/ts} {$payment.receive_date|truncate:10:\'\'|crmDate}{else}{ts}due{/ts} {$payment.due_date|truncate:10:\'\'|crmDate}{/if}\n        </td>\n       </tr>\n       {assign var=\"count\" value=`$count+1`}\n      {/foreach}\n     {/if}\n\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}</p>\n      </td>\n     </tr>\n\n     {if $customGroup}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,839,'pledge_acknowledge',1,0,0,NULL),
+ (56,'Pledges - Acknowledgement','{ts}Thank you for your Pledge{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Thank you for your generous pledge.{/ts}\n\n===========================================================\n{ts}Pledge Information{/ts}\n\n===========================================================\n{ts}Pledge Received{/ts}: {$create_date|truncate:10:\'\'|crmDate}\n{ts}Total Pledge Amount{/ts}: {$total_pledge_amount|crmMoney:$currency}\n\n===========================================================\n{ts}Payment Schedule{/ts}\n\n===========================================================\n{ts 1=$scheduled_amount|crmMoney:$currency 2=$frequency_interval 3=$frequency_unit 4=$installments}%1 every %2 %3 for %4 installments.{/ts}\n\n{if $frequency_day}\n\n{ts 1=$frequency_day 2=$frequency_unit}Payments are due on day %1 of the %2.{/ts}\n{/if}\n\n{if $payments}\n{assign var=\"count\" value=\"1\"}\n{foreach from=$payments item=payment}\n\n{ts 1=$count}Payment %1{/ts}: {$payment.amount|crmMoney:$currency} {if $payment.status eq 1}{ts}paid{/ts} {$payment.receive_date|truncate:10:\'\'|crmDate}{else}{ts}due{/ts} {$payment.due_date|truncate:10:\'\'|crmDate}{/if}\n{assign var=\"count\" value=`$count+1`}\n{/foreach}\n{/if}\n\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}\n\n{if $customGroup}\n{foreach from=$customGroup item=value key=customName}\n===========================================================\n{$customName}\n===========================================================\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Thank you for your generous pledge.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Pledge Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Pledge Received{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$create_date|truncate:10:\'\'|crmDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Pledge Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$total_pledge_amount|crmMoney:$currency}\n      </td>\n     </tr>\n     <tr>\n      <th {$headerStyle}>\n       {ts}Payment Schedule{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       <p>{ts 1=$scheduled_amount|crmMoney:$currency 2=$frequency_interval 3=$frequency_unit 4=$installments}%1 every %2 %3 for %4 installments.{/ts}</p>\n\n       {if $frequency_day}\n        <p>{ts 1=$frequency_day 2=$frequency_unit}Payments are due on day %1 of the %2.{/ts}</p>\n       {/if}\n      </td>\n     </tr>\n\n     {if $payments}\n      {assign var=\"count\" value=\"1\"}\n      {foreach from=$payments item=payment}\n       <tr>\n        <td {$labelStyle}>\n         {ts 1=$count}Payment %1{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$payment.amount|crmMoney:$currency} {if $payment.status eq 1}{ts}paid{/ts} {$payment.receive_date|truncate:10:\'\'|crmDate}{else}{ts}due{/ts} {$payment.due_date|truncate:10:\'\'|crmDate}{/if}\n        </td>\n       </tr>\n       {assign var=\"count\" value=`$count+1`}\n      {/foreach}\n     {/if}\n\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}</p>\n      </td>\n     </tr>\n\n     {if $customGroup}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,839,'pledge_acknowledge',0,1,0,NULL),
+ (57,'Pledges - Payment Reminder','{ts}Pledge Payment Reminder{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$next_payment|truncate:10:\'\'|crmDate}This is a reminder that the next payment on your pledge is due on %1.{/ts}\n\n===========================================================\n{ts}Payment Due{/ts}\n\n===========================================================\n{ts}Amount Due{/ts}: {$amount_due|crmMoney:$currency}\n{ts}Due Date{/ts}: {$scheduled_payment_date|truncate:10:\'\'|crmDate}\n\n{if $contribution_page_id}\n{capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contribution_page_id`&cid=`{contact.id}`&pledgeId=`$pledge_id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\nClick this link to go to a web page where you can make your payment online:\n{$contributionUrl}\n{else}\n{ts}Please mail your payment to{/ts}:\n{domain.address}\n{/if}\n\n===========================================================\n{ts}Pledge Information{/ts}\n\n===========================================================\n{ts}Pledge Received{/ts}: {$create_date|truncate:10:\'\'|crmDate}\n{ts}Total Pledge Amount{/ts}: {$amount|crmMoney:$currency}\n{ts}Total Paid{/ts}: {$amount_paid|crmMoney:$currency}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'} Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}\n\n\n{ts}Thank your for your generous support.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$next_payment|truncate:10:\'\'|crmDate}This is a reminder that the next payment on your pledge is due on %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Payment Due{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Amount Due{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount_due|crmMoney:$currency}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    {if $contribution_page_id}\n     {capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contribution_page_id`&cid=`{contact.id}`&pledgeId=`$pledge_id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\n     <p><a href=\"{$contributionUrl}\">{ts}Go to a web page where you can make your payment online{/ts}</a></p>\n    {else}\n     <p>{ts}Please mail your payment to{/ts}: {domain.address}</p>\n    {/if}\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Pledge Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Pledge Received{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$create_date|truncate:10:\'\'|crmDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Pledge Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount|crmMoney:$currency}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Paid{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount_paid|crmMoney:$currency}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}</p>\n    <p>{ts}Thank your for your generous support.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,840,'pledge_reminder',1,0,0,NULL),
+ (58,'Pledges - Payment Reminder','{ts}Pledge Payment Reminder{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$next_payment|truncate:10:\'\'|crmDate}This is a reminder that the next payment on your pledge is due on %1.{/ts}\n\n===========================================================\n{ts}Payment Due{/ts}\n\n===========================================================\n{ts}Amount Due{/ts}: {$amount_due|crmMoney:$currency}\n{ts}Due Date{/ts}: {$scheduled_payment_date|truncate:10:\'\'|crmDate}\n\n{if $contribution_page_id}\n{capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contribution_page_id`&cid=`{contact.id}`&pledgeId=`$pledge_id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\nClick this link to go to a web page where you can make your payment online:\n{$contributionUrl}\n{else}\n{ts}Please mail your payment to{/ts}:\n{domain.address}\n{/if}\n\n===========================================================\n{ts}Pledge Information{/ts}\n\n===========================================================\n{ts}Pledge Received{/ts}: {$create_date|truncate:10:\'\'|crmDate}\n{ts}Total Pledge Amount{/ts}: {$amount|crmMoney:$currency}\n{ts}Total Paid{/ts}: {$amount_paid|crmMoney:$currency}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'} Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}\n\n\n{ts}Thank your for your generous support.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$next_payment|truncate:10:\'\'|crmDate}This is a reminder that the next payment on your pledge is due on %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Payment Due{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Amount Due{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount_due|crmMoney:$currency}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    {if $contribution_page_id}\n     {capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contribution_page_id`&cid=`{contact.id}`&pledgeId=`$pledge_id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\n     <p><a href=\"{$contributionUrl}\">{ts}Go to a web page where you can make your payment online{/ts}</a></p>\n    {else}\n     <p>{ts}Please mail your payment to{/ts}: {domain.address}</p>\n    {/if}\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Pledge Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Pledge Received{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$create_date|truncate:10:\'\'|crmDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Pledge Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount|crmMoney:$currency}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Paid{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount_paid|crmMoney:$currency}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}</p>\n    <p>{ts}Thank your for your generous support.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,840,'pledge_reminder',0,1,0,NULL),
+ (59,'Profiles - Admin Notification','{$grouptitle} {ts 1=$displayName}Submitted by %1{/ts} - {contact.display_name}\n','{ts}Submitted For:{/ts} {$displayName}\n{ts}Date:{/ts} {$currentDate}\n{ts}Contact Summary:{/ts} {$contactLink}\n\n===========================================================\n{$grouptitle}\n\n===========================================================\n{foreach from=$values item=value key=valueName}\n{$valueName}: {$value}\n{/foreach}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <td {$labelStyle}>\n       {ts}Submitted For{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$displayName}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Date{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$currentDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Contact Summary{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$contactLink}\n      </td>\n     </tr>\n\n     <tr>\n      <th {$headerStyle}>\n       {$grouptitle}\n      </th>\n     </tr>\n\n     {foreach from=$values item=value key=valueName}\n      <tr>\n       <td {$labelStyle}>\n        {$valueName}\n       </td>\n       <td {$valueStyle}>\n        {$value}\n       </td>\n      </tr>\n     {/foreach}\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,841,'uf_notify',1,0,0,NULL),
+ (60,'Profiles - Admin Notification','{$grouptitle} {ts 1=$displayName}Submitted by %1{/ts} - {contact.display_name}\n','{ts}Submitted For:{/ts} {$displayName}\n{ts}Date:{/ts} {$currentDate}\n{ts}Contact Summary:{/ts} {$contactLink}\n\n===========================================================\n{$grouptitle}\n\n===========================================================\n{foreach from=$values item=value key=valueName}\n{$valueName}: {$value}\n{/foreach}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <td {$labelStyle}>\n       {ts}Submitted For{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$displayName}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Date{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$currentDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Contact Summary{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$contactLink}\n      </td>\n     </tr>\n\n     <tr>\n      <th {$headerStyle}>\n       {$grouptitle}\n      </th>\n     </tr>\n\n     {foreach from=$values item=value key=valueName}\n      <tr>\n       <td {$labelStyle}>\n        {$valueName}\n       </td>\n       <td {$valueStyle}>\n        {$value}\n       </td>\n      </tr>\n     {/foreach}\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,841,'uf_notify',0,1,0,NULL),
+ (61,'Petition - signature added','Thank you for signing {$petition.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\nThank you for signing {$petition.title}.\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n<p>Thank you for signing {$petition.title}.</p>\n\n{include file=\"CRM/Campaign/Page/Petition/SocialNetwork.tpl\" petition_id=$survey_id noscript=true emailMode=true}\n',1,842,'petition_sign',1,0,0,NULL),
+ (62,'Petition - signature added','Thank you for signing {$petition.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\nThank you for signing {$petition.title}.\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n<p>Thank you for signing {$petition.title}.</p>\n\n{include file=\"CRM/Campaign/Page/Petition/SocialNetwork.tpl\" petition_id=$survey_id noscript=true emailMode=true}\n',1,842,'petition_sign',0,1,0,NULL),
+ (63,'Petition - need verification','Confirmation of signature needed for {$petition.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\nThank you for signing {$petition.title}.\n\nIn order to complete your signature, we must confirm your e-mail.\nPlease do so by visiting the following email confirmation web page:\n\n{$petition.confirmUrlPlainText}\n\nIf you did not sign this petition, please ignore this message.\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n<p>Thank you for signing {$petition.title}.</p>\n\n<p>In order to <b>complete your signature</b>, we must confirm your e-mail.\n<br />\nPlease do so by visiting the following web page by clicking\non the link below or pasting the link into your browser.\n<br /><br />\nEmail confirmation page: <a href=\"{$petition.confirmUrl}\">{$petition.confirmUrl}</a></p>\n\n<p>If you did not sign this petition, please ignore this message.</p>\n',1,843,'petition_confirmation_needed',1,0,0,NULL),
+ (64,'Petition - need verification','Confirmation of signature needed for {$petition.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\nThank you for signing {$petition.title}.\n\nIn order to complete your signature, we must confirm your e-mail.\nPlease do so by visiting the following email confirmation web page:\n\n{$petition.confirmUrlPlainText}\n\nIf you did not sign this petition, please ignore this message.\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n<p>Thank you for signing {$petition.title}.</p>\n\n<p>In order to <b>complete your signature</b>, we must confirm your e-mail.\n<br />\nPlease do so by visiting the following web page by clicking\non the link below or pasting the link into your browser.\n<br /><br />\nEmail confirmation page: <a href=\"{$petition.confirmUrl}\">{$petition.confirmUrl}</a></p>\n\n<p>If you did not sign this petition, please ignore this message.</p>\n',1,843,'petition_confirmation_needed',0,1,0,NULL),
  (65,'Sample CiviMail Newsletter Template','Sample CiviMail Newsletter','','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n<table width=612 cellpadding=0 cellspacing=0 bgcolor=\"#ffffff\">\n  <tr>\n    <td colspan=\"2\" bgcolor=\"#ffffff\" valign=\"middle\" >\n      <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" >\n        <tr>\n          <td>\n          <a href=\"https://civicrm.org\"><img src=\"https://civicrm.org/sites/civicrm.org/files/top-logo_2.png\" border=0 alt=\"Replace this logo with the URL to your own\"></a>\n          </td>\n          <td>&nbsp; &nbsp;</td>\n          <td>\n          <a href=\"https://civicrm.org\" style=\"text-decoration: none;\"><font size=5 face=\"Arial, Verdana, sans-serif\" color=\"#8bc539\">Your Newsletter Title</font></a>\n          </td>\n        </tr>\n      </table>\n    </td>\n  </tr>\n  <tr>\n    <td valign=\"top\" width=\"70%\">\n      <!-- left column -->\n      <table cellpadding=\"10\" cellspacing=\"0\" border=\"0\">\n      <tr>\n        <td style=\"font-family: Arial, Verdana, sans-serif; font-size: 12px;\" >\n        <font face=\"Arial, Verdana, sans-serif\" size=\"2\" >\n        Greetings {contact.display_name},\n        <br /><br />\n        This is a sample template designed to help you get started creating and sending your own CiviMail messages. This template uses an HTML layout that is generally compatible with the wide variety of email clients that your recipients might be using (e.g. Gmail, Outlook, Yahoo, etc.).\n        <br /><br />You can select this \"Sample CiviMail Newsletter Template\" from the \"Use Template\" drop-down in Step 3 of creating a mailing, and customize it to your needs. Then check the \"Save as New Template\" box on the bottom the page to save your customized version for use in future mailings.\n        <br /><br />The logo you use must be uploaded to your server.  Copy and paste the URL path to the logo into the &lt;img src= tag in the HTML at the top.  Click \"Source\" or the Image button if you are using the text editor.\n        <br /><br />\n        Edit the color of the links and headers using the color button or by editing the HTML.\n        <br /><br />\n        Your newsletter message and donation appeal can go here.  Click the link button to <a href=\"#\">create links</a> - remember to use a fully qualified URL starting with http:// in all your links!\n        <br /><br />\n        To use CiviMail:\n        <ul>\n          <li><a href=\"http://book.civicrm.org/user/advanced-configuration/email-system-configuration/\">Configure your Email System</a>.</li>\n          <li>Make sure your web hosting provider allows outgoing bulk mail, and see if they have a restriction on quantity.  If they don\'t allow bulk mail, consider <a href=\"https://civicrm.org/providers/hosting\">finding a new host</a>.</li>\n        </ul>\n        Sincerely,\n        <br /><br />\n        Your Team\n        <br /><br />\n        </font>\n        </td>\n      </tr>\n      </table>\n    </td>\n\n    <td valign=\"top\" width=\"30%\" bgcolor=\"#ffffff\" style=\"border: 1px solid #056085;\">\n      <!-- right column -->\n      <table cellpadding=10 cellspacing=0 border=0>\n      <tr>\n        <td bgcolor=\"#056085\"><font face=\"Arial, Verdana, sans-serif\" size=\"4\" color=\"#ffffff\">News and Events</font></td>\n      </tr>\n      <tr>\n        <td style=\"color: #000; font-family: Arial, Verdana, sans-serif; font-size: 12px;\" >\n        <font face=\"Arial, Verdana, sans-serif\" size=\"2\" >\n        <font color=\"#056085\"><strong>Featured Events</strong> </font><br />\n        Fundraising Dinner<br />\n        Training Meeting<br />\n        Board of Directors Annual Meeting<br />\n\n        <br /><br />\n        <font color=\"#056085\"><strong>Community Events</strong></font><br />\n        Bake Sale<br />\n        Charity Auction<br />\n        Art Exhibit<br />\n\n        <br /><br />\n        <font color=\"#056085\"><strong>Important Dates</strong></font><br />\n        Tuesday August 27<br />\n        Wednesday September 8<br />\n        Thursday September 29<br />\n        Saturday October 1<br />\n        Sunday October 20<br />\n        </font>\n        </td>\n      </tr>\n      </table>\n    </td>\n  </tr>\n\n  <tr>\n    <td colspan=\"2\">\n      <table cellpadding=\"10\" cellspacing=\"0\" border=\"0\">\n      <tr>\n        <td>\n        <font face=\"Arial, Verdana, sans-serif\" size=\"2\" >\n        <font color=\"#7dc857\"><strong>Helpful Tips</strong></font>\n        <br /><br />\n        <font color=\"#3b5187\">Tokens</font><br />\n        Click \"Insert Tokens\" to dynamically insert names, addresses, and other contact data of your recipients.\n        <br /><br />\n        <font color=\"#3b5187\">Plain Text Version</font><br />\n        Some people refuse HTML emails altogether.  We recommend sending a plain-text version of your important communications to accommodate them.  Luckily, CiviCRM accommodates for this!  Just click \"Plain Text\" and copy and paste in some text.  Line breaks (carriage returns) and fully qualified URLs like http://www.example.com are all you get, no HTML here!\n        <br /><br />\n        <font color=\"#3b5187\">Play by the Rules</font><br />\n        The address of the sender is required by the Can Spam Act law.  This is an available token called domain.address.  An unsubscribe or opt-out link is also required.  There are several available tokens for this. <em>{action.optOutUrl}</em> creates a link for recipients to click if they want to opt out of receiving  emails from your organization. <em>{action.unsubscribeUrl}</em> creates a link to unsubscribe from the specific mailing list used to send this message. Click on \"Insert Tokens\" to find these and look for tokens named \"Domain\" or \"Unsubscribe\".  This sample template includes both required tokens at the bottom of the message. You can also configure a default Mailing Footer containing these tokens.\n        <br /><br />\n        <font color=\"#3b5187\">Composing Offline</font><br />\n        If you prefer to compose an HTML email offline in your own text editor, you can upload this HTML content into CiviMail or simply click \"Source\" and then copy and paste the HTML in.\n        <br /><br />\n        <font color=\"#3b5187\">Images</font><br />\n        Most email clients these days (Outlook, Gmail, etc) block image loading by default.  This is to protect their users from annoying or harmful email.  Not much we can do about this, so encourage recipients to add you to their contacts or \"whitelist\".  Also use images sparingly, do not rely on images to convey vital information, and always use HTML \"alt\" tags which describe the image content.\n        </td>\n      </tr>\n      </table>\n    </td>\n  </tr>\n  <tr>\n    <td colspan=\"2\" style=\"color: #000; font-family: Arial, Verdana, sans-serif; font-size: 10px;\">\n      <font face=\"Arial, Verdana, sans-serif\" size=\"2\" >\n      <hr />\n      <a href=\"{action.unsubscribeUrl}\" title=\"click to unsubscribe\">Click here</a> to unsubscribe from this mailing list.<br /><br />\n      Our mailing address is:<br />\n      {domain.address}\n    </td>\n  </tr>\n  </table>\n\n</body>\n</html>\n',1,NULL,NULL,1,0,0,NULL),
  (66,'Sample Responsive Design Newsletter - Single Column Template','Sample Responsive Design Newsletter - Single Column','','<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\" />\n  <meta content=\"width=device-width, initial-scale=1.0\" name=\"viewport\" />\n  <title></title>\n\n  <style type=\"text/css\">\n    {literal}\n    /* Client-specific Styles */\n    #outlook a {padding:0;} /* Force Outlook to provide a \"view in browser\" menu link. */\n    body{width:100% !important; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; margin:0; padding:0;}\n\n    /* Prevent Webkit and Windows Mobile platforms from changing default font sizes, while not breaking desktop design. */\n    .ExternalClass {width:100%;} /* Force Hotmail to display emails at full width */\n    .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;} /* Force Hotmail to display normal line spacing. */\n    #backgroundTable {margin:0; padding:0; width:100% !important; line-height: 100% !important;}\n    img {outline:none; text-decoration:none;border:none; -ms-interpolation-mode: bicubic;}\n    a img {border:none;}\n    .image_fix {display:block;}\n    p {margin: 0px 0px !important;}\n    table td {border-collapse: collapse;}\n    table { border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt; }\n    a {text-decoration: none;text-decoration:none;}\n\n    /*STYLES*/\n    table[class=full] { width: 100%; clear: both; }\n\n    /*IPAD STYLES*/\n    @media only screen and (max-width: 640px) {\n    a[href^=\"tel\"], a[href^=\"sms\"] {text-decoration: none;color:#136388;pointer-events: none;cursor: default;}\n    .mobile_link a[href^=\"tel\"], .mobile_link a[href^=\"sms\"] {text-decoration: default;color:#136388;pointer-events: auto;cursor: default;}\n    table[class=devicewidth] {width: 440px!important;text-align:center!important;}\n    table[class=devicewidthmob] {width: 416px!important;text-align:center!important;}\n    table[class=devicewidthinner] {width: 416px!important;text-align:center!important;}\n    img[class=banner] {width: 440px!important;auto!important;}\n    img[class=col2img] {width: 440px!important;height:auto!important;}\n    table[class=\"cols3inner\"] {width: 100px!important;}\n    table[class=\"col3img\"] {width: 131px!important;}\n    img[class=\"col3img\"] {width: 131px!important;height: auto!important;}\n    table[class=\"removeMobile\"]{width:10px!important;}\n    img[class=\"blog\"] {width: 440px!important;height: auto!important;}\n    }\n\n    /*IPHONE STYLES*/\n    @media only screen and (max-width: 480px) {\n    a[href^=\"tel\"], a[href^=\"sms\"] {text-decoration: none;color: #136388;pointer-events: none;cursor: default;}\n    .mobile_link a[href^=\"tel\"], .mobile_link a[href^=\"sms\"] {text-decoration: none;color:#136388;pointer-events: auto;cursor: default;}\n\n    table[class=devicewidth] {width: 280px!important;text-align:center!important;}\n    table[class=devicewidthmob] {width: 260px!important;text-align:center!important;}\n    table[class=devicewidthinner] {width: 260px!important;text-align:center!important;}\n    img[class=banner] {width: 280px!important;height:100px!important;}\n    img[class=col2img] {width: 280px!important;height:auto!important;}\n    table[class=\"cols3inner\"] {width: 260px!important;}\n    img[class=\"col3img\"] {width: 280px!important;height: auto!important;}\n    table[class=\"col3img\"] {width: 280px!important;}\n    img[class=\"blog\"] {width: 280px!important;auto!important;}\n    td[class=\"padding-top-right15\"]{padding:15px 15px 0 0 !important;}\n    td[class=\"padding-right15\"]{padding-right:15px !important;}\n    }\n\n    @media only screen and (max-device-width: 800px)\n    {td[class=\"padding-top-right15\"]{padding:15px 15px 0 0 !important;}\n    td[class=\"padding-right15\"]{padding-right:15px !important;}}\n    @media only screen and (max-device-width: 769px) {\n    .devicewidthmob {font-size:16px;}\n    }\n\n    @media only screen and (max-width: 640px) {\n    .desktop-spacer {display:none !important;}\n }\n  {/literal}\n  </style>\n\n<body>\n  <!-- Start of preheader --><!-- Start of preheader -->\n  <table bgcolor=\"#89c66b\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" width=\"100%\">\n  	<tbody>\n  		<tr>\n  			<td>\n  			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  				<tbody>\n  					<tr>\n  						<td width=\"100%\">\n  						<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  							<tbody><!-- Spacing -->\n  								<tr>\n  									<td height=\"20\" width=\"100%\">&nbsp;</td>\n  								</tr>\n  								<!-- Spacing -->\n  								<tr>\n  									<td>\n  									<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthinner\" width=\"310\">\n  										<tbody>\n  											<tr>\n  												<td align=\"left\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; line-height:120%; color: #f8f8f8;padding-left:15px; padding-bottom:5px;\" valign=\"middle\">Organization or Program Name Here</td>\n  											</tr>\n  										</tbody>\n  									</table>\n\n  									<table align=\"right\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"emhide\" width=\"310\">\n  										<tbody>\n  											<tr>\n                          <td align=\"right\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px;color: #f8f8f8;padding-right:15px; text-align:right;\" valign=\"middle\">Month and Year</td>\n  											</tr>\n  										</tbody>\n  									</table>\n  									</td>\n  								</tr>\n  								<!-- Spacing -->\n  								<tr>\n  									<td height=\"20\" width=\"100%\">&nbsp;</td>\n  								</tr>\n  								<!-- Spacing -->\n  							</tbody>\n  						</table>\n  						</td>\n  					</tr>\n  				</tbody>\n  			</table>\n  			</td>\n  		</tr>\n  	</tbody>\n  </table>\n  <!-- End of main-banner-->\n\n  <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"100%\">\n  	<tbody>\n  		<tr>\n  			<td>\n  			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  				<tbody>\n  					<tr>\n  						<td width=\"100%\">\n  						<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  							<tbody><!-- Spacing -->\n  								<tr>\n  									<td height=\"20\" width=\"100%\">\n  									<table align=\"center\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"93%\">\n  										<tbody>\n  											<tr>\n                          <td rowspan=\"2\" style=\"padding-top:10px; padding-bottom:10px;\" width=\"38%\"><img src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/civicrm-logo-transparent.png\" alt=\"Replace with your own logo\" width=\"220\" border=\"0\" /></td>\n  												<td align=\"right\" width=\"62%\">\n  												<h6 class=\"collapse\">&nbsp;</h6>\n  												</td>\n  											</tr>\n  											<tr>\n  												<td align=\"right\">\n  												<h5 style=\"font-family: Gill Sans, Gill Sans MT, Myriad Pro, DejaVu Sans Condensed, Helvetica, Arial, sans-serif; color:#136388;\">&nbsp;</h5>\n  												</td>\n  											</tr>\n  										</tbody>\n  									</table>\n  									</td>\n  								</tr>\n  								<tr>\n  									<td>\n  									<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  										<tbody>\n  											<tr>\n  												<td width=\"100%\">\n  												<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  													<tbody><!-- /Spacing -->\n  														<tr>\n  															<td style=\"font-family: Helvetica, arial, sans-serif; font-size: 23px; color:#f8f8f8; text-align:left; line-height: 32px; padding:5px 15px; background-color:#136388;\">Headline Here</td>\n  														</tr>\n  														<!-- Spacing -->\n  														<tr>\n  															<td>\n  															<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthinner\" width=\"650\">\n  																<tbody><!-- hero story -->\n  																	<tr>\n  																		<td align=\"center\" class=\"devicewidthinner\" width=\"100%\">\n  																		<div class=\"imgpop\"><a href=\"#\"><img alt=\"\" border=\"0\" class=\"blog\" height=\"auto\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/650x396.png\" style=\"display:block; border:none; outline:none; text-decoration:none; padding:0; line-height:0;\" width=\"650\" /></a></div>\n  																		</td>\n  																	</tr>\n  																	<!-- /hero image --><!-- Spacing -->\n  																	<tr>\n  																		<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n  																	</tr>\n  																	<!-- /Spacing -->\n  																	<tr>\n  																		<td style=\"font-family: Helvetica, arial, sans-serif; font-size: 18px;  text-align:left; line-height: 26px; padding:0 15px; color:#89c66b;\"><a href=\"#\" style=\"color:#89c66b;\">Your Heading Here</a></td>\n  																	</tr>\n  																	<!-- Spacing -->\n  																	<tr>\n  																		<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n  																	</tr>\n  																	<!-- /Spacing --><!-- content -->\n  																	<tr>\n  																		<td style=\"padding:0 15px;\">\n  																		<p style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; color: #7a6e67; text-align:left; line-height: 26px; padding-bottom:10px;\">{contact.email_greeting},																		</p>\n  																		<p style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; color: #7a6e67; text-align:left; line-height: 26px; padding-bottom:10px;\"><span class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\">Replace with your text and images, and remember to link the facebook and twitter links in the footer to your pages. Have fun!</span></p>\n  																		</td>\n  																	</tr>\n  																	<tr>\n  																		<td class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; font-weight:bold; color: #333333; text-align:left;line-height: 24px; padding-top:10px; padding-left:15px;\"><a href=\"#\" style=\"color:#136388;text-decoration:none;font-weight:bold;\" target=\"_blank\" title=\"read more\">Read More</a></td>\n  																	</tr>\n  																	<!-- /button --><!-- Spacing -->\n  																	<tr>\n  																		<td height=\"20\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n  																	</tr>\n  																	<!-- Spacing --><!-- end of content -->\n  																</tbody>\n  															</table>\n  															</td>\n  														</tr>\n  													</tbody>\n  												</table>\n  												</td>\n  											</tr>\n  										</tbody>\n  									</table>\n  									</td>\n  								</tr>\n  							</tbody>\n  						</table>\n  						</td>\n  					</tr>\n  				</tbody>\n  			</table>\n  			</td>\n  		</tr>\n  	</tbody>\n  </table>\n  <!-- end of hero image and story --><!-- story 1 -->\n\n  <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"100%\">\n  	<tbody>\n  		<tr>\n  			<td>\n  			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  				<tbody>\n  					<tr>\n  						<td width=\"100%\">\n  						<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  							<tbody><!-- Spacing -->\n  								<tr>\n  									<td>\n  									<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  										<tbody>\n  											<tr>\n  												<td width=\"100%\">\n  												<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  													<tbody>\n  														<tr>\n  															<td>\n  															<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthinner\" width=\"650\">\n  																<tbody><!-- image -->\n  																	<tr>\n  																		<td align=\"center\" class=\"devicewidthinner\" width=\"100%\">\n  																		<div class=\"imgpop\"><a href=\"#\" target=\"_blank\"><img alt=\"\" border=\"0\" class=\"blog\" height=\"250\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/banner-image-650-250.png\" style=\"display:block; border:none; outline:none; text-decoration:none; padding:0; line-height:0;\" width=\"650\" /></a></div>\n  																		</td>\n  																	</tr>\n  																	<!-- /image --><!-- Spacing -->\n  																	<tr>\n  																		<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n  																	</tr>\n  																	<!-- /Spacing -->\n  																	<tr>\n  																		<td style=\"font-family: Helvetica, arial, sans-serif; font-size: 18px;  text-align:left; line-height: 26px; padding:0 15px;\"><a href=\"#\" style=\"color:#89c66b;\">Your Heading  Here</a></td>\n  																	</tr>\n  																	<!-- Spacing -->\n  																	<tr>\n  																		<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n  																	</tr>\n  																	<!-- /Spacing --><!-- content -->\n  																	<tr>\n  																		<td style=\"padding:0 15px;\">\n  																		<p style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; color: #7a6e67; text-align:left; line-height: 26px; padding-bottom:10px;\">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna </p>\n  																		</td>\n  																	</tr>\n  																	<tr>\n  																		<td class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; font-weight:bold; color: #333333; text-align:left;line-height: 24px; padding-top:10px; padding-left:15px;\"><a href=\"#\" style=\"color:#136388;text-decoration:none;font-weight:bold;\" target=\"_blank\" title=\"read more\">Read More</a></td>\n  																	</tr>\n  																	<!-- /button --><!-- Spacing -->\n  																	<tr>\n  																		<td height=\"20\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n  																	</tr>\n  																	<!-- Spacing --><!-- end of content -->\n  																</tbody>\n  															</table>\n  															</td>\n  														</tr>\n  													</tbody>\n  												</table>\n  												</td>\n  											</tr>\n  										</tbody>\n  									</table>\n  									</td>\n  								</tr>\n  							</tbody>\n  						</table>\n  						</td>\n  					</tr>\n  				</tbody>\n  			</table>\n  			</td>\n  		</tr>\n  	</tbody>\n  </table>\n  <!-- /story 2--><!-- banner1 -->\n\n  <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"100%\">\n  	<tbody>\n  		<tr>\n  			<td>\n  			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  				<tbody>\n  					<tr>\n  						<td width=\"100%\">\n  						<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  							<tbody><!-- Spacing -->\n  								<tr>\n  									<td>\n  									<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  										<tbody>\n  											<tr>\n  												<td width=\"100%\">\n  												<table align=\"center\" bgcolor=\"#89c66b\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  													<tbody>\n  														<tr>\n  															<td>\n  															<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthinner\" width=\"650\">\n  																<tbody><!-- image -->\n  																	<tr>\n  																		<td align=\"center\" class=\"devicewidthinner\" width=\"100%\">\n  																		<div class=\"imgpop\"><a href=\"#\" target=\"_blank\"><img alt=\"\" border=\"0\" class=\"blog\" height=\"auto\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/banner-image-650-250.png\" style=\"display:block; border:none; outline:none; text-decoration:none; padding:0; line-height:0;\" width=\"650\" /></a></div>\n  																		</td>\n  																	</tr>\n  																	<!-- /image --><!-- content --><!-- Spacing -->\n  																	<tr>\n  																		<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n  																	</tr>\n  																	<!-- /Spacing -->\n  																	<tr>\n  																		<td style=\"padding:15px;\">\n  																		<p style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; color: #f0f0f0; text-align:left; line-height: 26px; padding-bottom:10px;\">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna </p>\n  																		</td>\n  																	</tr>\n  																	<!-- /button --><!-- white button -->\n  																	<!-- /button --><!-- Spacing --><!-- end of content -->\n  																</tbody>\n  															</table>\n  															</td>\n  														</tr>\n  													</tbody>\n  												</table>\n  												</td>\n  											</tr>\n  										</tbody>\n  									</table>\n  									</td>\n  								</tr>\n  							</tbody>\n  						</table>\n  						</td>\n  					</tr>\n  				</tbody>\n  			</table>\n  			</td>\n  		</tr>\n  	</tbody>\n  </table>\n  <!-- /banner 1--><!-- banner 2 -->\n\n  <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"100%\">\n  	<tbody>\n  		<tr>\n  			<td>\n  			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  				<tbody>\n  					<tr>\n  						<td width=\"100%\">\n  						<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  							<tbody><!-- Spacing -->\n  								<tr>\n  									<td>\n  									<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  										<tbody>\n  											<tr>\n  												<td width=\"100%\">\n  												<table align=\"center\" bgcolor=\"#136388\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  													<tbody>\n  														<tr>\n  															<td>\n  															<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthinner\" width=\"650\">\n  																<tbody><!-- image -->\n  																	<tr>\n  																		<td align=\"center\" class=\"devicewidthinner\" width=\"100%\">\n  																		<div class=\"imgpop\"><a href=\"#\" target=\"_blank\"><img alt=\"\" border=\"0\" class=\"blog\" height=\"auto\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/banner-image-650-250.png\" style=\"display:block; border:none; outline:none; text-decoration:none; padding:0; line-height:0;\" width=\"650\" /></a></div>\n  																		</td>\n  																	</tr>\n  																	<!-- /image --><!-- content --><!-- Spacing -->\n  																	<tr>\n  																		<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n  																	</tr>\n  																	<!-- /Spacing -->\n  																	<tr>\n  																		<td style=\"padding: 15px;\">\n  																		<p style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; color: #f0f0f0; text-align:left; line-height: 26px; padding-bottom:10px;\">Remember to link the facebook and twitter links below to your pages!</p>\n  																		</td>\n  																	</tr>\n  																	<!-- /button --><!-- white button -->\n  																	<tr>\n  																		<td class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; font-weight:bold; color: #333333; text-align:left;line-height: 24px; padding-top:10px; padding-bottom:10px; padding-left:15px;\"><a href=\"#\" style=\"color:#ffffff;text-decoration:none;font-weight:bold;\" target=\"_blank\" title=\"read more\">Read More</a></td>\n  																	</tr>\n  																	<!-- /button --><!-- Spacing --><!-- end of content -->\n  																</tbody>\n  															</table>\n  															</td>\n  														</tr>\n  													</tbody>\n  												</table>\n  												</td>\n  											</tr>\n  										</tbody>\n  									</table>\n  									</td>\n  								</tr>\n  							</tbody>\n  						</table>\n  						</td>\n  					</tr>\n  				</tbody>\n  			</table>\n  			</td>\n  		</tr>\n  	</tbody>\n  </table>\n  <!-- /banner2 --><!-- footer -->\n\n  <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"footer\" width=\"100%\">\n  	<tbody>\n  		<tr>\n  			<td>\n  			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  				<tbody>\n  					<tr>\n  						<td width=\"100%\">\n  						<table align=\"center\" bgcolor=\"#89c66b\"  border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  							<tbody><!-- Spacing -->\n  								<tr>\n  									<td height=\"10\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n  								</tr>\n  								<!-- Spacing -->\n  								<tr>\n  									<td><!-- logo -->\n  									<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"250\">\n  										<tbody>\n  											<tr>\n  												<td width=\"20\">&nbsp;</td>\n  												<td align=\"left\" height=\"40\" width=\"250\"><span style=\"font-family: Helvetica, arial, sans-serif; font-size: 13px; text-align:left; line-height: 26px; padding-bottom:10px;\"><a href=\"{action.unsubscribeUrl}\" style=\"color: #f0f0f0; \">Unsubscribe | </a><a href=\"{action.subscribeUrl}\"  style=\"color: #f0f0f0;\">Subscribe |</a> <a href=\"{action.optOutUrl}\" style=\"color: #f0f0f0;\">Opt out</a></span></td>\n  											</tr>\n  											<tr>\n  												<td width=\"20\">&nbsp;</td>\n  												<td align=\"left\" height=\"40\" width=\"250\"><span style=\"font-family: Helvetica, arial, sans-serif; font-size: 13px; text-align:left; line-height: 26px; padding-bottom:10px; color: #f0f0f0;\">{domain.address}</span></td>\n  											</tr>\n  										</tbody>\n  									</table>\n  									<!-- end of logo --><!-- start of social icons -->\n\n  									<table align=\"right\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" height=\"40\" vaalign=\"middle\" width=\"60\">\n  										<tbody>\n  											<tr>\n  												<td align=\"left\" height=\"22\" width=\"22\">\n  												<div class=\"imgpop\"><a href=\"#\" target=\"_blank\"><img alt=\"\" border=\"0\" height=\"22\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/facebook.png\" style=\"display:block; border:none; outline:none; text-decoration:none;\" width=\"22\" /> </a></div>\n  												</td>\n  												<td align=\"left\" style=\"font-size:1px; line-height:1px;\" width=\"10\">&nbsp;</td>\n  												<td align=\"right\" height=\"22\" width=\"22\">\n  												<div class=\"imgpop\"><a href=\"#\" target=\"_blank\"><img alt=\"\" border=\"0\" height=\"22\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/twitter.png\" style=\"display:block; border:none; outline:none; text-decoration:none;\" width=\"22\" /> </a></div>\n  												</td>\n  												<td align=\"left\" style=\"font-size:1px; line-height:1px;\" width=\"20\">&nbsp;</td>\n  											</tr>\n  										</tbody>\n  									</table>\n  									<!-- end of social icons --></td>\n  								</tr>\n  								<!-- Spacing -->\n  								<tr>\n  									<td height=\"10\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n  								</tr>\n  								<!-- Spacing -->\n  							</tbody>\n  						</table>\n  						</td>\n  					</tr>\n  				</tbody>\n  			</table>\n  			</td>\n  		</tr>\n  	</tbody>\n  </table>\n\n</body>\n</html>\n',1,NULL,NULL,1,0,0,NULL),
  (67,'Sample Responsive Design Newsletter - Two Column Template','Sample Responsive Design Newsletter - Two Column','','<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\" />\n  <meta content=\"width=device-width, initial-scale=1.0\" name=\"viewport\" />\n  <title></title>\n  <style type=\"text/css\">\n     {literal}\n     img {height: auto !important;}\n     /* Client-specific Styles */\n     #outlook a {padding:0;} /* Force Outlook to provide a \"view in browser\" menu link. */\n     body{width:100% !important; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; margin:0; padding:0;}\n\n     /* Prevent Webkit and Windows Mobile platforms from changing default font sizes, while not breaking desktop design. */\n     .ExternalClass {width:100%;} /* Force Hotmail to display emails at full width */\n     .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;} /* Force Hotmail to display normal line spacing. */\n     #backgroundTable {margin:0; padding:0; width:100% !important; line-height: 100% !important;}\n     img {outline:none; text-decoration:none;border:none; -ms-interpolation-mode: bicubic;}\n     a img {border:none;}\n     .image_fix {display:block;}\n     p {margin: 0px 0px !important;}\n     table td {border-collapse: collapse;}\n     table { border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt; }\n     a {/*color: #33b9ff;*/text-decoration: none;text-decoration:none!important;}\n\n\n     /*STYLES*/\n     table[class=full] { width: 100%; clear: both; }\n\n     /*IPAD STYLES*/\n     @media only screen and (max-width: 640px) {\n     a[href^=\"tel\"], a[href^=\"sms\"] {text-decoration: none;color: #0a8cce;pointer-events: none;cursor: default;}\n     .mobile_link a[href^=\"tel\"], .mobile_link a[href^=\"sms\"] {text-decoration: default;color: #0a8cce !important;pointer-events: auto;cursor: default;}\n     table[class=devicewidth] {width: 440px!important;text-align:center!important;}\n     table[class=devicewidthmob] {width: 414px!important;text-align:center!important;}\n     table[class=devicewidthinner] {width: 414px!important;text-align:center!important;}\n     img[class=banner] {width: 440px!important;auto!important;}\n     img[class=col2img] {width: 440px!important;height:auto!important;}\n     table[class=\"cols3inner\"] {width: 100px!important;}\n     table[class=\"col3img\"] {width: 131px!important;}\n     img[class=\"col3img\"] {width: 131px!important;height: auto!important;}\n     table[class=\"removeMobile\"]{width:10px!important;}\n     img[class=\"blog\"] {width: 440px!important;height: auto!important;}\n     }\n\n     /*IPHONE STYLES*/\n     @media only screen and (max-width: 480px) {\n     a[href^=\"tel\"], a[href^=\"sms\"] {text-decoration: none;color: #0a8cce;pointer-events: none;cursor: default;}\n     .mobile_link a[href^=\"tel\"], .mobile_link a[href^=\"sms\"] {text-decoration: default;color: #0a8cce !important; pointer-events: auto;cursor: default;}\n     table[class=devicewidth] {width: 280px!important;text-align:center!important;}\n     table[class=devicewidthmob] {width: 260px!important;text-align:center!important;}\n     table[class=devicewidthinner] {width: 260px!important;text-align:center!important;}\n     img[class=banner] {width: 280px!important;height:100px!important;}\n     img[class=col2img] {width: 280px!important;height:auto!important;}\n     table[class=\"cols3inner\"] {width: 260px!important;}\n     img[class=\"col3img\"] {width: 280px!important;height: auto!important;}\n     table[class=\"col3img\"] {width: 280px!important;}\n     img[class=\"blog\"] {width: 280px!important;auto!important;}\n     td[class=\"padding-top-right15\"]{padding:15px 15px 0 0 !important;}\n     td[class=\"padding-right15\"]{padding-right:15px !important;}\n     }\n\n     @media only screen and (max-device-width: 800px)\n     {td[class=\"padding-top-right15\"]{padding:15px 15px 0 0 !important;}\n     td[class=\"padding-right15\"]{padding-right:15px !important;}}\n     @media only screen and (max-device-width: 769px) {.devicewidthmob {font-size:14px;}}\n\n     @media only screen and (max-width: 640px) {.desktop-spacer {display:none !important;}\n	   }\n     {/literal}\n  </style>\n  <body>\n    <!-- Start of preheader --><!-- Start of preheader -->\n    <table bgcolor=\"#0B4151\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" width=\"100%\">\n    	<tbody>\n    		<tr>\n    			<td>\n    			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    				<tbody>\n    					<tr>\n    						<td width=\"100%\">\n    						<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    							<tbody><!-- Spacing -->\n    								<tr>\n    									<td height=\"20\" width=\"100%\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td>\n    									<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthinner\" width=\"360\">\n    										<tbody>\n    											<tr>\n    												<td align=\"left\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height:120%; color: #f8f8f8;padding-left:15px;\" valign=\"middle\">Organization or Program Name Here</td>\n    											</tr>\n    										</tbody>\n    									</table>\n\n    									<table align=\"right\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"emhide\" width=\"320\">\n    										<tbody>\n    											<tr>\n    												<td align=\"right\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px;color: #f8f8f8;padding-right:15px;\" valign=\"middle\">Month Year</td>\n    											</tr>\n    										</tbody>\n    									</table>\n    									</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td height=\"20\" width=\"100%\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n    							</tbody>\n    						</table>\n    						</td>\n    					</tr>\n    				</tbody>\n    			</table>\n    			</td>\n    		</tr>\n    	</tbody>\n    </table>\n    <!-- End of preheader --><!-- start of logo -->\n\n    <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"100%\">\n    	<tbody>\n    		<tr>\n    			<td>\n    			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthmob\" width=\"700\">\n    				<tbody>\n    					<tr>\n    						<td width=\"100%\">\n    						<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    							<tbody><!-- Spacing -->\n    								<tr>\n    									<td height=\"20\" width=\"100%\">\n    									<table align=\"center\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"93%\">\n    										<tbody>\n    											<tr>\n                             <td rowspan=\"2\" width=\"330\"><a href=\"#\"> <div class=\"imgpop\"><img src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/civicrm-logo-transparent.png\" alt=\"Replace with your own logo\" width=\"220\" border=\"0\" style=\"display:block;\"/></div></a></td>\n                            <td align=\"right\" >\n    												<h6 class=\"collapse\">&nbsp;</h6>\n    												</td>\n    											</tr>\n    											<tr>\n    												<td align=\"right\">\n\n    												</td>\n    											</tr>\n    										</tbody>\n    									</table>\n    									</td>\n    								</tr>\n\n    							</tbody>\n    						</table>\n    						</td>\n    					</tr>\n    				</tbody>\n    			</table>\n    			</td>\n    		</tr>\n    	</tbody>\n    </table>\n    <!-- end of logo --> <!-- hero story 1 -->\n\n    <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"101%\">\n    	<tbody>\n    		<tr>\n    			<td>\n    			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    				<tbody>\n    					<tr>\n    						<td width=\"100%\">\n    						<table align=\"center\" bgcolor=\"#f8f8f8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    							<tbody>\n    								<tr>\n    									<td>\n    									<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    										<tbody>\n    											<tr>\n    												<td width=\"100%\">\n    												<table align=\"center\" bgcolor=\"#f8f8f8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    													<tbody><!-- /Spacing -->\n    														<tr>\n    															<td style=\"font-family: Helvetica, arial, sans-serif; font-size: 24px; color:#f8f8f8; text-align:left; line-height: 26px; padding:5px 15px; background-color: #80C457\">Hero Story Heading</td>\n    														</tr>\n    														<!-- Spacing -->\n    														<tr>\n    															<td>\n    															<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthinner\" width=\"700\">\n    																<tbody><!-- image -->\n    																	<tr>\n    																		<td align=\"center\" class=\"devicewidthinner\" width=\"100%\">\n    																		<div class=\"imgpop\"><a href=\"#\" target=\"_blank\"><img alt=\"\" border=\"0\" class=\"blog\" height=\"396\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/700x396.png\" style=\"display:block; border:none; outline:none; text-decoration:none; padding:0; line-height:0;\" width=\"700\" /></a></div>\n    																		</td>\n    																	</tr>\n    																	<!-- /image --><!-- Spacing -->\n    																	<tr>\n    																		<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    																	</tr>\n    																	<!-- /Spacing --><!-- hero story -->\n    																	<tr>\n    																		<td style=\"font-family: Helvetica, arial, sans-serif; font-size: 18px;  text-align:left; line-height: 26px; padding:0 15px;\"><a href=\"#\" style=\"color:#076187; text-decoration:none; \" target=\"_blank\">Subheading Here</a></td>\n    																	</tr>\n    																	<!-- Spacing -->\n    																	<tr>\n    																		<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    																	</tr><!-- /Spacing -->\n    																	<tr>\n    																		<td style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 26px; padding:0 15px;\"><span class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\">Replace with your text and images, and remember to link the facebook and twitter links in the footer to your pages. Have fun!</span></td>\n    																	</tr>\n\n    <!-- Spacing -->\n    																	<tr>\n    																		<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    																	</tr><!-- /Spacing -->\n\n              <!-- /Spacing --><!-- /hero story -->\n\n    																	<!-- Spacing -->                                                            <!-- Spacing -->\n\n\n\n    																	<!-- Spacing --><!-- end of content -->\n    																</tbody>\n    															</table>\n    															</td>\n    														</tr>\n    													</tbody>\n    												</table>\n    												</td>\n    											</tr>\n    										</tbody>\n    									</table>\n    									</td>\n    								</tr>\n    								<!-- Section Heading -->\n    								<tr>\n    									<td style=\"font-family: Helvetica, arial, sans-serif; font-size: 24px; color:#f8f8f8; text-align:left; line-height: 26px; padding:5px 15px; background-color: #80C457\">Section Heading Here</td>\n    								</tr>\n    								<!-- /Section Heading -->\n    							</tbody>\n    						</table>\n    						</td>\n    					</tr>\n    				</tbody>\n    			</table>\n    			</td>\n    		</tr>\n    	</tbody>\n    </table>\n    <!-- /hero story 1 --><!-- story one -->\n\n    <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"100%\">\n    	<tbody>\n    		<tr>\n    			<td>\n    			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    				<tbody>\n    					<tr>\n    						<td width=\"100%\">\n    						<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    							<tbody><!-- Spacing -->\n    								<tr>\n    									<td class=\"desktop-spacer\" height=\"20\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td>\n    									<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"660\">\n    										<tbody>\n    											<tr>\n    												<td><!-- Start of left column -->\n    												<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"330\">\n    													<tbody><!-- image -->\n    														<tr>\n    															<td align=\"center\" class=\"devicewidth\" height=\"150\" valign=\"top\" width=\"330\"><a href=\"#\"><img alt=\"\" border=\"0\" class=\"col2img\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/330x150.png\" style=\"display:block; border:none; outline:none; text-decoration:none; display:block;\" width=\"330\" /></a></td>\n    														</tr>\n    														<!-- /image -->\n    													</tbody>\n    												</table>\n    												<!-- end of left column --><!-- spacing for mobile devices-->\n\n    												<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"mobilespacing\">\n    													<tbody>\n    														<tr>\n    															<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    														</tr>\n    													</tbody>\n    												</table>\n    												<!-- end of for mobile devices--><!-- start of right column -->\n\n    												<table align=\"right\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthmob\" width=\"310\">\n    													<tbody>\n    														<tr>\n    															<td class=\"padding-top-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 18px; text-align:left; line-height: 24px;\"><a href=\"#\" style=\"color:#076187; text-decoration:none; \" target=\"_blank\">Heading Here</a><a href=\"#\" style=\"color:#076187; text-decoration:none;\" target=\"_blank\" title=\"CiviCRM helps keep the “City Beautiful” Movement”going strong\"></a></td>\n    														</tr>\n    														<!-- end of title --><!-- Spacing -->\n    														<tr>\n    															<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    														</tr>\n    														<!-- /Spacing --><!-- content -->\n    														<tr>\n    															<td class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\"><span class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n                                                                tempor incididunt ut labore et dolore magna </span></td>\n    														</tr>\n    														<tr>\n    															<td class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; font-weight:bold; color: #333333; text-align:left;line-height: 24px; padding-top:10px;\"><a href=\"#\" style=\"color:#80C457;text-decoration:none;font-weight:bold;\" target=\"_blank\" title=\"CiviCRM helps keep the “City Beautiful” Movement”going strong\">Read More</a></td>\n    														</tr>\n    														<!-- /button --><!-- end of content -->\n    													</tbody>\n    												</table>\n    												<!-- end of right column --></td>\n    											</tr>\n    										</tbody>\n    									</table>\n    									</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td height=\"20\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    							</tbody>\n    						</table>\n    						</td>\n    					</tr>\n    				</tbody>\n    			</table>\n    			</td>\n    		</tr>\n    	</tbody>\n    </table>\n    <!-- /story one -->\n    <!-- story two -->\n\n    <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"100%\">\n    	<tbody>\n    		<tr>\n    			<td>\n    			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    				<tbody>\n    					<tr>\n    						<td width=\"100%\">\n    						<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    							<tbody><!-- Spacing -->\n    								<tr>\n    									<td bgcolor=\"#076187\" height=\"0\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing --><!-- Spacing -->\n    								<tr>\n    									<td class=\"desktop-spacer\" height=\"20\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td>\n    									<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"660\">\n    										<tbody>\n    											<tr>\n    												<td><!-- Start of left column -->\n    												<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"330\">\n    													<tbody><!-- image -->\n    														<tr>\n    															<td align=\"center\" class=\"devicewidth\" height=\"150\" valign=\"top\" width=\"330\"><a href=\"#\"><img alt=\"\" border=\"0\" class=\"col2img\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/330x150.png\" style=\"display:block; border:none; outline:none; text-decoration:none; display:block;\" width=\"330\" /></a></td>\n    														</tr>\n    														<!-- /image -->\n    													</tbody>\n    												</table>\n    												<!-- end of left column --><!-- spacing for mobile devices-->\n\n    												<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"mobilespacing\">\n    													<tbody>\n    														<tr>\n    															<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    														</tr>\n    													</tbody>\n    												</table>\n    												<!-- end of for mobile devices--><!-- start of right column -->\n\n    												<table align=\"right\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthmob\" width=\"310\">\n    													<tbody>\n    														<tr>\n    															<td class=\"padding-top-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 18px; text-align:left; line-height: 24px;\"><a href=\"#\" style=\"color:#076187; text-decoration:none; \" target=\"_blank\">Heading Here</a><a href=\"#\" style=\"color:#076187; text-decoration:none;\" target=\"_blank\" title=\"How CiviCRM will take Tribodar Eco Learning Center to another level\"></a></td>\n    														</tr>\n    														<!-- end of title --><!-- Spacing -->\n    														<tr>\n    															<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    														</tr>\n    														<!-- /Spacing --><!-- content -->\n    														<tr>\n    															<td class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\"><span class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n                                                                tempor incididunt ut labore et dolore magna </span></td>\n    														</tr>\n    														<tr>\n    															<td class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; font-weight:bold; color: #333333; text-align:left;line-height: 24px; padding-top:10px;\"><a href=\"#\" style=\"color:#80C457;text-decoration:none;font-weight:bold;\" target=\"_blank\" title=\"How CiviCRM will take Tribodar Eco Learning Center to another level\">Read More</a></td>\n    														</tr>\n    														<!-- /button --><!-- end of content -->\n    													</tbody>\n    												</table>\n    												<!-- end of right column --></td>\n    											</tr>\n    										</tbody>\n    									</table>\n    									</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td height=\"20\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    							</tbody>\n    						</table>\n    						</td>\n    					</tr>\n    				</tbody>\n    			</table>\n    			</td>\n    		</tr>\n    	</tbody>\n    </table>\n    <!-- /story two --><!-- story three -->\n\n    <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"100%\">\n    	<tbody>\n    		<tr>\n    			<td>\n    			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    				<tbody>\n    					<tr>\n    						<td width=\"100%\">\n    						<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    							<tbody><!-- Spacing -->\n    								<tr>\n    									<td bgcolor=\"#076187\" height=\"0\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing --><!-- Spacing -->\n    								<tr>\n    									<td height=\"20\" class=\"desktop-spacer\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td>\n    									<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"660\">\n    										<tbody>\n    											<tr>\n    												<td><!-- Start of left column -->\n    												<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"330\">\n    													<tbody><!-- image -->\n    														<tr>\n    															<td align=\"center\" class=\"devicewidth\" height=\"150\" valign=\"top\" width=\"330\"><a href=\"#\"><img alt=\"\" border=\"0\" class=\"col2img\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/330x150.png\" style=\"display:block; border:none; outline:none; text-decoration:none; display:block;\" width=\"330\" /></a></td>\n    														</tr>\n    														<!-- /image -->\n    													</tbody>\n    												</table>\n    												<!-- end of left column --><!-- spacing for mobile devices-->\n\n    												<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"mobilespacing\">\n    													<tbody>\n    														<tr>\n    															<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    														</tr>\n    													</tbody>\n    												</table>\n    												<!-- end of for mobile devices--><!-- start of right column -->\n\n    												<table align=\"right\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthmob\" width=\"310\">\n    													<tbody>\n    														<tr>\n    															<td class=\"padding-top-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 18px;  text-align:left; line-height: 24px;\"><a href=\"#\" style=\"color:#076187; text-decoration:none; \" target=\"_blank\">Heading Here</a><a href=\"#\" style=\"color:#076187; text-decoration:none;\" target=\"_blank\" title=\"CiviCRM provides a soup-to-nuts open-source solution for Friends of the San Pedro River\"></a></td>\n    														</tr>\n    														<!-- end of title --><!-- Spacing -->\n    														<tr>\n    															<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    														</tr>\n    														<!-- /Spacing --><!-- content -->\n    														<tr>\n    															<td class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\"><span class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n                                                                tempor incididunt ut labore et dolore magna </span></td>\n    														</tr>\n    														<tr>\n    															<td style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; font-weight:bold; color: #333333; text-align:left;line-height: 24px; padding-top:10px;\"><a href=\"#\" style=\"color:#80C457;text-decoration:none;font-weight:bold;\" target=\"_blank\" title=\"CiviCRM provides a soup-to-nuts open-source solution for Friends of the San Pedro River\">Read More</a></td>\n    														</tr>\n    														<!-- /button --><!-- end of content -->\n    													</tbody>\n    												</table>\n    												<!-- end of right column --></td>\n    											</tr>\n    										</tbody>\n    									</table>\n    									</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td height=\"20\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n    							</tbody>\n    						</table>\n    						</td>\n    					</tr>\n    				</tbody>\n    			</table>\n    			</td>\n    		</tr>\n    	</tbody>\n    </table>\n    <!-- /story three -->\n\n\n\n\n\n    <!-- story four -->\n    <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"100%\">\n    	<tbody>\n    		<tr>\n    			<td>\n    			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    				<tbody>\n    					<tr>\n    						<td width=\"100%\">\n    						<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    							<tbody>\n                                <!-- Spacing -->\n    								<tr>\n    									<td bgcolor=\"#076187\" height=\"0\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n                                <!-- Spacing -->\n    								<tr>\n    									<td class=\"desktop-spacer\" height=\"20\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td>\n    									<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"660\">\n    										<tbody>\n    											<tr>\n    												<td><!-- Start of left column -->\n    												<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"330\">\n    													<tbody><!-- image -->\n    														<tr>\n    															<td align=\"center\" class=\"devicewidth\" height=\"150\" valign=\"top\" width=\"330\"><a href=\"#\"><img alt=\"\" border=\"0\" class=\"col2img\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/330x150.png\" style=\"display:block; border:none; outline:none; text-decoration:none; display:block;\" width=\"330\" /></a></td>\n    														</tr>\n    														<!-- /image -->\n    													</tbody>\n    												</table>\n    												<!-- end of left column --><!-- spacing for mobile devices-->\n\n    												<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"mobilespacing\">\n    													<tbody>\n    														<tr>\n    															<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    														</tr>\n    													</tbody>\n    												</table>\n    												<!-- end of for mobile devices--><!-- start of right column -->\n\n    												<table align=\"right\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthmob\" width=\"310\">\n    													<tbody>\n    														<tr>\n    															<td class=\"padding-top-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 18px;text-align:left; line-height: 24px;\"><a href=\"#\" style=\"color:#076187; text-decoration:none; \" target=\"_blank\">Heading Here</a><a href=\"#\" style=\"color:#076187; text-decoration:none;\" target=\"_blank\" title=\"Google Summer of Code\"></a></td>\n    														</tr>\n    														<!-- end of title --><!-- Spacing -->\n    														<tr>\n    															<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    														</tr>\n    														<!-- /Spacing --><!-- content -->\n    														<tr>\n    															<td class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\"><span class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n                                                                tempor incididunt ut labore et dolore magna </span></td>\n    														</tr>\n    														<tr>\n    															<td style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; font-weight:bold; color: #333333; text-align:left;line-height: 24px; padding-top:10px;\"><a href=\"#\" style=\"color:#80C457;text-decoration:none;font-weight:bold;\" target=\"_blank\" title=\"Google Summer of Code\">Read More</a></td>\n    														</tr>\n    														<!-- /button --><!-- end of content -->\n    													</tbody>\n    												</table>\n    												<!-- end of right column --></td>\n    											</tr>\n    										</tbody>\n    									</table>\n    									</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n                       <td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n                    </tr>\n                    <!-- /Spacing -->\n                    <tr>\n                      <td style=\"padding: 15px;\">\n                      <p style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; color:#076187; text-align:left; line-height: 26px; padding-bottom:10px;\">Remember to link the facebook and twitter links below to your pages!</p>\n                      </td>\n    								</tr>\n    								<!-- Spacing -->\n    							</tbody>\n    						</table>\n    						</td>\n    					</tr>\n    				</tbody>\n    			</table>\n    			</td>\n    		</tr>\n    	</tbody>\n    </table>\n    <!-- /story four -->\n\n    <!-- footer -->\n\n    <!-- End of footer --><!-- Start of postfooter -->\n    <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"footer\" width=\"100%\">\n    	<tbody>\n    		<tr>\n    			<td>\n    			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n            <tbody>\n              <tr>\n                <td width=\"100%\">\n                  <table align=\"center\" bgcolor=\"#89c66b\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    				        <tbody><!-- Spacing -->\n    					        <tr>\n                        <td height=\"10\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    					        </tr>\n    					        <!-- Spacing -->\n    					        <tr>\n                        <td><!-- logo -->\n                        <table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"250\">\n            							<tbody>\n            								<tr>\n                               <td width=\"20\">&nbsp;</td>\n                              <td align=\"left\" height=\"40\" width=\"250\"><span style=\"font-family: Helvetica, arial, sans-serif; font-size: 13px; text-align:left; line-height: 26px; padding-bottom:10px;\"><a href=\"{action.unsubscribeUrl}\" style=\"color: #f0f0f0;\">Unsubscribe | </a><a href=\"{action.subscribeUrl}\" style=\"color: #f0f0f0;\">Subscribe |</a> <a href=\"{action.optOutUrl}\" style=\"color: #f0f0f0;\">Opt out</a></span></td>\n                            </tr>\n      											<tr>\n      												<td width=\"20\">&nbsp;</td>\n      												<td align=\"left\" height=\"40\" width=\"250\"><span style=\"font-family: Helvetica, arial, sans-serif; font-size: 13px; text-align:left; line-height: 26px; padding-bottom:10px; color: #f0f0f0;\">{domain.address}</span></td>\n      											</tr>\n                          </tbody>\n                        </table>\n                        <!-- end of logo --><!-- start of social icons -->\n      									<table align=\"right\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" height=\"40\" vaalign=\"middle\" width=\"60\">\n      										<tbody>\n      											<tr>\n      												<td align=\"left\" height=\"22\" width=\"22\">\n                                <div class=\"imgpop\"><a href=\"#\" target=\"_blank\"><img alt=\"\" border=\"0\" height=\"22\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/facebook.png\" style=\"display:block; border:none; outline:none; text-decoration:none;\" width=\"22\" /> </a></div>      											  </td>\n      												<td align=\"left\" style=\"font-size:1px; line-height:1px;\" width=\"10\">&nbsp;</td>\n      												<td align=\"right\" height=\"22\" width=\"22\">\n      												<div class=\"imgpop\"><a href=\"#\" target=\"_blank\"><img alt=\"\" border=\"0\" height=\"22\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/twitter.png\" style=\"display:block; border:none; outline:none; text-decoration:none;\" width=\"22\" /> </a></div>\n      												</td>\n      												<td align=\"left\" style=\"font-size:1px; line-height:1px;\" width=\"20\">&nbsp;</td>\n      											</tr>\n      										</tbody>\n      									</table>\n    									<!-- end of social icons --></td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td height=\"10\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td bgcolor=\"#80C457\" height=\"10\" width=\"100%\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n    							</tbody>\n    						</table>\n    						</td>\n    					</tr>\n    				</tbody>\n    			</table>\n    			</td>\n    		</tr>\n    	</tbody>\n    </table>\n    <!-- End of footer -->\n  </body>\n</html>\n',1,NULL,NULL,1,0,0,NULL);
@@ -5450,165 +5407,157 @@ INSERT INTO `civicrm_navigation` (`id`, `domain_id`, `label`, `name`, `url`, `ic
  (102,1,'New Case','New Case','civicrm/case/add?reset=1&action=add&atype=13&context=standalone',NULL,'add cases,access all cases and activities','OR',100,1,NULL,2),
  (103,1,'Find Cases','Find Cases','civicrm/case/search?reset=1',NULL,'access my cases and activities,access all cases and activities','OR',100,1,1,3),
  (104,1,'Case Reports','Case Reports','civicrm/report/list?compid=7&reset=1',NULL,'access my cases and activities,access all cases and activities,administer CiviCase','OR',100,1,0,4),
- (105,1,'Grants','Grants',NULL,'crm-i fa-money','access CiviGrant','',NULL,1,NULL,90),
- (106,1,'Dashboard','Dashboard','civicrm/grant?reset=1',NULL,'access CiviGrant','',105,1,NULL,1),
- (107,1,'New Grant','New Grant','civicrm/grant/add?reset=1&action=add&context=standalone',NULL,'access CiviGrant,edit grants','AND',105,1,NULL,2),
- (108,1,'Find Grants','Find Grants','civicrm/grant/search?reset=1',NULL,'access CiviGrant','',105,1,1,3),
- (109,1,'Grant Reports','Grant Reports','civicrm/report/list?compid=5&reset=1',NULL,'access CiviGrant','',105,1,0,4),
- (110,1,'Administer','Administer',NULL,'crm-i fa-gears','administer CiviCRM','',NULL,1,NULL,100),
- (111,1,'Administration Console','Administration Console','civicrm/admin?reset=1',NULL,'administer CiviCRM','',110,1,NULL,1),
- (112,1,'System Status','System Status','civicrm/a/#/status',NULL,'administer CiviCRM','',111,1,NULL,0),
- (113,1,'Configuration Checklist','Configuration Checklist','civicrm/admin/configtask?reset=1',NULL,'administer CiviCRM','',111,1,NULL,1),
- (114,1,'Customize Data and Screens','Customize Data and Screens',NULL,NULL,'administer CiviCRM','',110,1,NULL,3),
- (115,1,'Custom Fields','Custom Fields','civicrm/admin/custom/group?reset=1',NULL,'administer CiviCRM','',114,1,NULL,1),
- (116,1,'Profiles','Profiles','civicrm/admin/uf/group?reset=1',NULL,'administer CiviCRM','',114,1,NULL,2),
- (117,1,'Tags','Tags (Categories)','civicrm/tag?reset=1',NULL,'administer CiviCRM','',114,1,NULL,3),
- (118,1,'Activity Types','Activity Types','civicrm/admin/options/activity_type?reset=1',NULL,'administer CiviCRM','',114,1,NULL,4),
- (119,1,'Relationship Types','Relationship Types','civicrm/admin/reltype?reset=1',NULL,'administer CiviCRM','',114,1,NULL,5),
- (120,1,'Contact Types','Contact Types','civicrm/admin/options/subtype?reset=1',NULL,'administer CiviCRM','',114,1,NULL,6),
- (121,1,'Display Preferences','Display Preferences','civicrm/admin/setting/preferences/display?reset=1',NULL,'administer CiviCRM','',114,1,NULL,9),
- (122,1,'Search Preferences','Search Preferences','civicrm/admin/setting/search?reset=1',NULL,'administer CiviCRM','',114,1,NULL,10),
- (123,1,'Date Preferences','Date Preferences','civicrm/admin/setting/preferences/date?reset=1',NULL,'administer CiviCRM','',114,1,NULL,11),
- (124,1,'Navigation Menu','Navigation Menu','civicrm/admin/menu?reset=1',NULL,'administer CiviCRM','',114,1,NULL,12),
- (125,1,'Word Replacements','Word Replacements','civicrm/admin/options/wordreplacements?reset=1',NULL,'administer CiviCRM','',114,1,NULL,13),
- (126,1,'Manage Custom Searches','Manage Custom Searches','civicrm/admin/options/custom_search?reset=1',NULL,'administer CiviCRM','',114,1,NULL,14),
- (127,1,'Dropdown Options','Dropdown Options','civicrm/admin/options?action=browse&reset=1',NULL,'administer CiviCRM','',114,1,NULL,8),
- (128,1,'Gender Options','Gender Options','civicrm/admin/options/gender?reset=1',NULL,'administer CiviCRM','',127,1,NULL,1),
- (129,1,'Individual Prefixes (Ms, Mr...)','Individual Prefixes (Ms, Mr...)','civicrm/admin/options/individual_prefix?reset=1',NULL,'administer CiviCRM','',127,1,NULL,2),
- (130,1,'Individual Suffixes (Jr, Sr...)','Individual Suffixes (Jr, Sr...)','civicrm/admin/options/individual_suffix?reset=1',NULL,'administer CiviCRM','',127,1,NULL,3),
- (131,1,'Instant Messenger Services','Instant Messenger Services','civicrm/admin/options/instant_messenger_service?reset=1',NULL,'administer CiviCRM','',127,1,NULL,4),
- (132,1,'Location Types (Home, Work...)','Location Types (Home, Work...)','civicrm/admin/locationType?reset=1',NULL,'administer CiviCRM','',127,1,NULL,5),
- (133,1,'Mobile Phone Providers','Mobile Phone Providers','civicrm/admin/options/mobile_provider?reset=1',NULL,'administer CiviCRM','',127,1,NULL,6),
- (134,1,'Phone Types','Phone Types','civicrm/admin/options/phone_type?reset=1',NULL,'administer CiviCRM','',127,1,NULL,7),
- (135,1,'Website Types','Website Types','civicrm/admin/options/website_type?reset=1',NULL,'administer CiviCRM','',127,1,NULL,8),
- (136,1,'Communications','Communications',NULL,NULL,'administer CiviCRM','',110,1,NULL,4),
- (137,1,'Organization Address and Contact Info','Organization Address and Contact Info','civicrm/admin/domain?action=update&reset=1',NULL,'administer CiviCRM','',136,1,NULL,1),
- (138,1,'FROM Email Addresses','FROM Email Addresses','civicrm/admin/options/from_email_address?reset=1',NULL,'administer CiviCRM','',136,1,NULL,2),
- (139,1,'Message Templates','Message Templates','civicrm/admin/messageTemplates?reset=1',NULL,'administer CiviCRM','',136,1,NULL,3),
- (140,1,'Schedule Reminders','Schedule Reminders','civicrm/admin/scheduleReminders?reset=1',NULL,'administer CiviCRM','',136,1,NULL,4),
- (141,1,'Preferred Communication Methods','Preferred Communication Methods','civicrm/admin/options/preferred_communication_method?reset=1',NULL,'administer CiviCRM','',136,1,NULL,5),
- (142,1,'Label Formats','Label Formats','civicrm/admin/labelFormats?reset=1',NULL,'administer CiviCRM','',136,1,NULL,6),
- (143,1,'Print Page (PDF) Formats','Print Page (PDF) Formats','civicrm/admin/pdfFormats?reset=1',NULL,'administer CiviCRM','',136,1,NULL,7),
- (144,1,'Communication Style Options','Communication Style Options','civicrm/admin/options/communication_style?reset=1',NULL,'administer CiviCRM','',136,1,NULL,8),
- (145,1,'Email Greeting Formats','Email Greeting Formats','civicrm/admin/options/email_greeting?reset=1',NULL,'administer CiviCRM','',136,1,NULL,9),
- (146,1,'Postal Greeting Formats','Postal Greeting Formats','civicrm/admin/options/postal_greeting?reset=1',NULL,'administer CiviCRM','',136,1,NULL,10),
- (147,1,'Addressee Formats','Addressee Formats','civicrm/admin/options/addressee?reset=1',NULL,'administer CiviCRM','',136,1,NULL,11),
- (148,1,'Localization','Localization',NULL,NULL,'administer CiviCRM','',110,1,NULL,6),
- (149,1,'Languages, Currency, Locations','Languages, Currency, Locations','civicrm/admin/setting/localization?reset=1',NULL,'administer CiviCRM','',148,1,NULL,1),
- (150,1,'Address Settings','Address Settings','civicrm/admin/setting/preferences/address?reset=1',NULL,'administer CiviCRM','',148,1,NULL,2),
- (151,1,'Date Formats','Date Formats','civicrm/admin/setting/date?reset=1',NULL,'administer CiviCRM','',148,1,NULL,3),
- (152,1,'Preferred Language Options','Preferred Language Options','civicrm/admin/options/languages?reset=1',NULL,'administer CiviCRM','',148,1,NULL,4),
- (153,1,'Users and Permissions','Users and Permissions',NULL,NULL,'administer CiviCRM','',110,1,NULL,7),
- (154,1,'Permissions (Access Control)','Permissions (Access Control)','civicrm/admin/access?reset=1',NULL,'administer CiviCRM','',153,1,NULL,1),
- (155,1,'Synchronize Users to Contacts','Synchronize Users to Contacts','civicrm/admin/synchUser?reset=1',NULL,'administer CiviCRM','',153,1,NULL,2),
- (156,1,'System Settings','System Settings',NULL,NULL,'administer CiviCRM','',110,1,NULL,8),
- (157,1,'Components','Enable Components','civicrm/admin/setting/component?reset=1',NULL,'administer CiviCRM','',156,1,NULL,1),
- (158,1,'Extensions','Manage Extensions','civicrm/admin/extensions?reset=1',NULL,'administer CiviCRM','',156,1,1,3),
- (159,1,'Cleanup Caches and Update Paths','Cleanup Caches and Update Paths','civicrm/admin/setting/updateConfigBackend?reset=1',NULL,'administer CiviCRM','',156,1,NULL,4),
- (160,1,'CMS Database Integration','CMS Integration','civicrm/admin/setting/uf?reset=1',NULL,'administer CiviCRM','',156,1,NULL,5),
- (161,1,'Debugging and Error Handling','Debugging and Error Handling','civicrm/admin/setting/debug?reset=1',NULL,'administer CiviCRM','',156,1,NULL,6),
- (162,1,'Directories','Directories','civicrm/admin/setting/path?reset=1',NULL,'administer CiviCRM','',156,1,NULL,7),
- (163,1,'Import/Export Mappings','Import/Export Mappings','civicrm/admin/mapping?reset=1',NULL,'administer CiviCRM','',156,1,NULL,8),
- (164,1,'Mapping and Geocoding','Mapping and Geocoding','civicrm/admin/setting/mapping?reset=1',NULL,'administer CiviCRM','',156,1,NULL,9),
- (165,1,'Misc (Undelete, PDFs, Limits, Logging, etc.)','misc_admin_settings','civicrm/admin/setting/misc?reset=1',NULL,'administer CiviCRM','',156,1,NULL,10),
- (166,1,'Multi Site Settings','Multi Site Settings','civicrm/admin/setting/preferences/multisite?reset=1',NULL,'administer CiviCRM','',156,1,NULL,11),
- (167,1,'Option Groups','Option Groups','civicrm/admin/options?reset=1',NULL,'administer CiviCRM','',156,1,NULL,12),
- (168,1,'Outbound Email (SMTP/Sendmail)','Outbound Email','civicrm/admin/setting/smtp?reset=1',NULL,'administer CiviCRM','',156,1,NULL,13),
- (169,1,'Payment Processors','Payment Processors','civicrm/admin/paymentProcessor?reset=1',NULL,'administer CiviCRM','',156,1,NULL,14),
- (170,1,'Resource URLs','Resource URLs','civicrm/admin/setting/url?reset=1',NULL,'administer CiviCRM','',156,1,NULL,15),
- (171,1,'Safe File Extensions','Safe File Extensions','civicrm/admin/options/safe_file_extension?reset=1',NULL,'administer CiviCRM','',156,1,NULL,16),
- (172,1,'Scheduled Jobs','Scheduled Jobs','civicrm/admin/job?reset=1',NULL,'administer CiviCRM','',156,1,NULL,17),
- (173,1,'SMS Providers','SMS Providers','civicrm/admin/sms/provider?reset=1',NULL,'administer CiviCRM','',156,1,NULL,18),
- (174,1,'CiviCampaign','CiviCampaign',NULL,NULL,'administer CiviCampaign,administer CiviCRM','AND',110,1,NULL,9),
- (175,1,'Survey Types','Survey Types','civicrm/admin/campaign/surveyType?reset=1',NULL,'administer CiviCampaign','',174,1,NULL,1),
- (176,1,'Campaign Types','Campaign Types','civicrm/admin/options/campaign_type?reset=1',NULL,'administer CiviCampaign','',174,1,NULL,2),
- (177,1,'Campaign Status','Campaign Status','civicrm/admin/options/campaign_status?reset=1',NULL,'administer CiviCampaign','',174,1,NULL,3),
- (178,1,'Engagement Index','Engagement Index','civicrm/admin/options/engagement_index?reset=1',NULL,'administer CiviCampaign','',174,1,NULL,4),
- (179,1,'CiviCampaign Component Settings','CiviCampaign Component Settings','civicrm/admin/setting/preferences/campaign?reset=1',NULL,'administer CiviCampaign','',174,1,NULL,5),
- (180,1,'CiviCase','CiviCase',NULL,NULL,'administer CiviCase',NULL,110,1,NULL,10),
- (181,1,'CiviCase Settings','CiviCase Settings','civicrm/admin/setting/case?reset=1',NULL,'administer CiviCase',NULL,180,1,NULL,1),
- (182,1,'Case Types','Case Types','civicrm/a/#/caseType',NULL,'administer CiviCase',NULL,180,1,NULL,2),
- (183,1,'Redaction Rules','Redaction Rules','civicrm/admin/options/redaction_rule?reset=1',NULL,'administer CiviCase',NULL,180,1,NULL,3),
- (184,1,'Case Statuses','Case Statuses','civicrm/admin/options/case_status?reset=1',NULL,'administer CiviCase',NULL,180,1,NULL,4),
- (185,1,'Encounter Medium','Encounter Medium','civicrm/admin/options/encounter_medium?reset=1',NULL,'administer CiviCase',NULL,180,1,NULL,5),
- (186,1,'CiviContribute','CiviContribute',NULL,NULL,'access CiviContribute,administer CiviCRM','AND',110,1,NULL,11),
- (187,1,'New Contribution Page','New Contribution Page','civicrm/admin/contribute?reset=1&action=add',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,NULL,6),
- (188,1,'Manage Contribution Pages','Manage Contribution Pages','civicrm/admin/contribute?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,1,7),
- (189,1,'Personal Campaign Pages','Personal Campaign Pages','civicrm/admin/pcp?reset=1&page_type=contribute',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,NULL,8),
- (190,1,'Premiums (Thank-you Gifts)','Premiums','civicrm/admin/contribute/managePremiums?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,1,9),
- (191,1,'Financial Types','Financial Types','civicrm/admin/financial/financialType?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,NULL,10),
- (192,1,'Financial Accounts','Financial Accounts','civicrm/admin/financial/financialAccount?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,NULL,11),
- (193,1,'Payment Methods','Payment Instruments','civicrm/admin/options/payment_instrument?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,NULL,12),
- (194,1,'Accepted Credit Cards','Accepted Credit Cards','civicrm/admin/options/accept_creditcard?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,NULL,13),
- (195,1,'Soft Credit Types','Soft Credit Types','civicrm/admin/options/soft_credit_type?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,1,14),
- (196,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,NULL,15),
- (197,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,NULL,16),
- (198,1,'Payment Processors','Payment Processors','civicrm/admin/paymentProcessor?reset=1',NULL,'administer CiviCRM','',186,1,NULL,17),
- (199,1,'CiviContribute Component Settings','CiviContribute Component Settings','civicrm/admin/setting/preferences/contribute?reset=1',NULL,'administer CiviCRM','',186,1,NULL,18),
- (200,1,'CiviEvent','CiviEvent',NULL,NULL,'access CiviEvent,administer CiviCRM','AND',110,1,NULL,12),
- (201,1,'New Event','New Event','civicrm/event/add?reset=1&action=add',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,NULL,1),
- (202,1,'Manage Events','Manage Events','civicrm/event/manage?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,1,2),
- (203,1,'Personal Campaign Pages','Personal Campaign Pages','civicrm/admin/pcp?reset=1&page_type=event',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,1,3),
- (204,1,'Event Templates','Event Templates','civicrm/admin/eventTemplate?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,1,4),
- (205,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,NULL,5),
- (206,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,1,6),
- (207,1,'Event Types','Event Types','civicrm/admin/options/event_type?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,NULL,7),
- (208,1,'Participant Statuses','Participant Statuses','civicrm/admin/participant_status?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,NULL,8),
- (209,1,'Participant Roles','Participant Roles','civicrm/admin/options/participant_role?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,NULL,9),
- (210,1,'Participant Listing Options','Participant Listing Options','civicrm/admin/options/participant_listing?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,NULL,10),
- (211,1,'Event Name Badge Layouts','Event Name Badge Layouts','civicrm/admin/badgelayout?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,NULL,11),
- (212,1,'Payment Processors','Payment Processors','civicrm/admin/paymentProcessor?reset=1',NULL,'administer CiviCRM','',200,1,NULL,12),
- (213,1,'CiviEvent Component Settings','CiviEvent Component Settings','civicrm/admin/setting/preferences/event?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,NULL,13),
- (214,1,'CiviGrant','CiviGrant',NULL,NULL,'access CiviGrant,administer CiviCRM','AND',110,1,NULL,13),
- (215,1,'Grant Types','Grant Types','civicrm/admin/options/grant_type?reset=1',NULL,'access CiviGrant,administer CiviCRM','AND',214,1,NULL,1),
- (216,1,'Grant Status','Grant Status','civicrm/admin/options/grant_status?reset=1',NULL,'access CiviGrant,administer CiviCRM','AND',214,1,NULL,2),
- (217,1,'CiviMail','CiviMail',NULL,NULL,'access CiviMail,administer CiviCRM','AND',110,1,NULL,14),
- (218,1,'Headers, Footers, and Automated Messages','Headers, Footers, and Automated Messages','civicrm/admin/component?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',217,1,NULL,1),
- (219,1,'Message Templates','Message Templates','civicrm/admin/messageTemplates?reset=1',NULL,'administer CiviCRM','',217,1,NULL,2),
- (220,1,'From Email Addresses','From Email Addresses','civicrm/admin/options/from_email_address?reset=1',NULL,'administer CiviCRM','',217,1,NULL,3),
- (221,1,'Mail Accounts','Mail Accounts','civicrm/admin/mailSettings?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',217,1,NULL,4),
- (222,1,'Mailer Settings','Mailer Settings','civicrm/admin/mail?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',217,1,NULL,5),
- (223,1,'CiviMail Component Settings','CiviMail Component Settings','civicrm/admin/setting/preferences/mailing?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',217,1,NULL,6),
- (224,1,'CiviMember','CiviMember',NULL,NULL,'access CiviMember,administer CiviCRM','AND',110,1,NULL,15),
- (225,1,'Membership Types','Membership Types','civicrm/admin/member/membershipType?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',224,1,NULL,1),
- (226,1,'Membership Status Rules','Membership Status Rules','civicrm/admin/member/membershipStatus?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',224,1,1,2),
- (227,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviMember,administer CiviCRM','AND',224,1,NULL,3),
- (228,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',224,1,NULL,4),
- (229,1,'CiviMember Component Settings','CiviMember Component Settings','civicrm/admin/setting/preferences/member?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',224,1,NULL,5),
- (230,1,'CiviReport','CiviReport',NULL,NULL,'access CiviReport,administer CiviCRM','AND',110,1,NULL,16),
- (231,1,'All Reports','All Reports','civicrm/report/list?reset=1',NULL,'access CiviReport','',230,1,NULL,1),
- (232,1,'Create New Report from Template','Create New Report from Template','civicrm/admin/report/template/list?reset=1',NULL,'administer Reports','',230,1,NULL,2),
- (233,1,'Manage Templates','Manage Templates','civicrm/admin/report/options/report_template?reset=1',NULL,'administer Reports','',230,1,NULL,3),
- (234,1,'Register Report','Register Report','civicrm/admin/report/register?reset=1',NULL,'administer Reports','',230,1,NULL,4),
- (235,1,'Support','Support',NULL,'crm-i fa-life-ring',NULL,'',NULL,1,NULL,110),
- (236,1,'Get started','Get started','https://civicrm.org/get-started?src=iam',NULL,NULL,'AND',235,1,NULL,1),
- (237,1,'Documentation','Documentation','https://civicrm.org/documentation?src=iam',NULL,NULL,'AND',235,1,NULL,2),
- (238,1,'Ask a question','Ask a question','https://civicrm.org/ask-a-question?src=iam',NULL,NULL,'AND',235,1,NULL,3),
- (239,1,'Get expert help','Get expert help','https://civicrm.org/experts?src=iam',NULL,NULL,'AND',235,1,NULL,4),
- (240,1,'About CiviCRM','About CiviCRM','https://civicrm.org/about?src=iam',NULL,NULL,'AND',235,1,1,5),
- (241,1,'Register your site','Register your site','https://civicrm.org/register-your-site?src=iam&sid={sid}',NULL,NULL,'AND',235,1,NULL,6),
- (242,1,'Join CiviCRM','Join CiviCRM','https://civicrm.org/become-a-member?src=iam&sid={sid}',NULL,NULL,'AND',235,1,NULL,7),
- (243,1,'Developer','Developer',NULL,NULL,'administer CiviCRM','',235,1,1,8),
- (244,1,'Api Explorer v3','API Explorer','civicrm/api3',NULL,'administer CiviCRM','',243,1,NULL,1),
- (245,1,'Api Explorer v4','Api Explorer v4','civicrm/api4#/explorer',NULL,'administer CiviCRM','',243,1,NULL,2),
- (246,1,'Developer Docs','Developer Docs','https://civicrm.org/developer-documentation?src=iam',NULL,'administer CiviCRM','',243,1,NULL,3),
- (247,1,'Reports','Reports',NULL,'crm-i fa-bar-chart','access CiviReport','',NULL,1,NULL,95),
- (248,1,'Contact Reports','Contact Reports','civicrm/report/list?compid=99&reset=1',NULL,'administer CiviCRM','',247,1,0,1),
- (249,1,'Contribution Reports','Contribution Reports','civicrm/report/list?compid=2&reset=1',NULL,'access CiviContribute','',247,1,0,2),
- (250,1,'Pledge Reports','Pledge Reports','civicrm/report/list?compid=6&reset=1',NULL,'access CiviPledge','',247,1,0,3),
- (251,1,'Event Reports','Event Reports','civicrm/report/list?compid=1&reset=1',NULL,'access CiviEvent','',247,1,0,4),
- (252,1,'Mailing Reports','Mailing Reports','civicrm/report/list?compid=4&reset=1',NULL,'access CiviMail','',247,1,0,5),
- (253,1,'Membership Reports','Membership Reports','civicrm/report/list?compid=3&reset=1',NULL,'access CiviMember','',247,1,0,6),
- (254,1,'Campaign Reports','Campaign Reports','civicrm/report/list?compid=9&reset=1',NULL,'interview campaign contacts,release campaign contacts,reserve campaign contacts,manage campaign,administer CiviCampaign,gotv campaign contacts','OR',247,1,0,7),
- (255,1,'Case Reports','Case Reports','civicrm/report/list?compid=7&reset=1',NULL,'access my cases and activities,access all cases and activities,administer CiviCase','OR',247,1,0,8),
- (256,1,'Grant Reports','Grant Reports','civicrm/report/list?compid=5&reset=1',NULL,'access CiviGrant','',247,1,0,9),
- (257,1,'All Reports','All Reports','civicrm/report/list?reset=1',NULL,'access CiviReport','',247,1,1,10),
- (258,1,'My Reports','My Reports','civicrm/report/list?myreports=1&reset=1',NULL,'access CiviReport','',247,1,1,11),
- (259,1,'New Student','New Student','civicrm/contact/add?ct=Individual&cst=Student&reset=1',NULL,'add contacts','',16,1,NULL,1),
- (260,1,'New Parent','New Parent','civicrm/contact/add?ct=Individual&cst=Parent&reset=1',NULL,'add contacts','',16,1,NULL,2),
- (261,1,'New Staff','New Staff','civicrm/contact/add?ct=Individual&cst=Staff&reset=1',NULL,'add contacts','',16,1,NULL,3),
- (262,1,'New Team','New Team','civicrm/contact/add?ct=Organization&cst=Team&reset=1',NULL,'add contacts','',18,1,NULL,1),
- (263,1,'New Sponsor','New Sponsor','civicrm/contact/add?ct=Organization&cst=Sponsor&reset=1',NULL,'add contacts','',18,1,NULL,2);
+ (105,1,'Administer','Administer',NULL,'crm-i fa-gears','administer CiviCRM','',NULL,1,NULL,100),
+ (106,1,'Administration Console','Administration Console','civicrm/admin?reset=1',NULL,'administer CiviCRM','',105,1,NULL,1),
+ (107,1,'System Status','System Status','civicrm/a/#/status',NULL,'administer CiviCRM','',106,1,NULL,0),
+ (108,1,'Configuration Checklist','Configuration Checklist','civicrm/admin/configtask?reset=1',NULL,'administer CiviCRM','',106,1,NULL,1),
+ (109,1,'Customize Data and Screens','Customize Data and Screens',NULL,NULL,'administer CiviCRM','',105,1,NULL,3),
+ (110,1,'Custom Fields','Custom Fields','civicrm/admin/custom/group?reset=1',NULL,'administer CiviCRM','',109,1,NULL,1),
+ (111,1,'Profiles','Profiles','civicrm/admin/uf/group?reset=1',NULL,'administer CiviCRM','',109,1,NULL,2),
+ (112,1,'Tags','Tags (Categories)','civicrm/tag?reset=1',NULL,'administer CiviCRM','',109,1,NULL,3),
+ (113,1,'Activity Types','Activity Types','civicrm/admin/options/activity_type?reset=1',NULL,'administer CiviCRM','',109,1,NULL,4),
+ (114,1,'Relationship Types','Relationship Types','civicrm/admin/reltype?reset=1',NULL,'administer CiviCRM','',109,1,NULL,5),
+ (115,1,'Contact Types','Contact Types','civicrm/admin/options/subtype?reset=1',NULL,'administer CiviCRM','',109,1,NULL,6),
+ (116,1,'Display Preferences','Display Preferences','civicrm/admin/setting/preferences/display?reset=1',NULL,'administer CiviCRM','',109,1,NULL,9),
+ (117,1,'Search Preferences','Search Preferences','civicrm/admin/setting/search?reset=1',NULL,'administer CiviCRM','',109,1,NULL,10),
+ (118,1,'Date Preferences','Date Preferences','civicrm/admin/setting/preferences/date?reset=1',NULL,'administer CiviCRM','',109,1,NULL,11),
+ (119,1,'Navigation Menu','Navigation Menu','civicrm/admin/menu?reset=1',NULL,'administer CiviCRM','',109,1,NULL,12),
+ (120,1,'Word Replacements','Word Replacements','civicrm/admin/options/wordreplacements?reset=1',NULL,'administer CiviCRM','',109,1,NULL,13),
+ (121,1,'Manage Custom Searches','Manage Custom Searches','civicrm/admin/options/custom_search?reset=1',NULL,'administer CiviCRM','',109,1,NULL,14),
+ (122,1,'Dropdown Options','Dropdown Options','civicrm/admin/options?action=browse&reset=1',NULL,'administer CiviCRM','',109,1,NULL,8),
+ (123,1,'Gender Options','Gender Options','civicrm/admin/options/gender?reset=1',NULL,'administer CiviCRM','',122,1,NULL,1),
+ (124,1,'Individual Prefixes (Ms, Mr...)','Individual Prefixes (Ms, Mr...)','civicrm/admin/options/individual_prefix?reset=1',NULL,'administer CiviCRM','',122,1,NULL,2),
+ (125,1,'Individual Suffixes (Jr, Sr...)','Individual Suffixes (Jr, Sr...)','civicrm/admin/options/individual_suffix?reset=1',NULL,'administer CiviCRM','',122,1,NULL,3),
+ (126,1,'Instant Messenger Services','Instant Messenger Services','civicrm/admin/options/instant_messenger_service?reset=1',NULL,'administer CiviCRM','',122,1,NULL,4),
+ (127,1,'Location Types (Home, Work...)','Location Types (Home, Work...)','civicrm/admin/locationType?reset=1',NULL,'administer CiviCRM','',122,1,NULL,5),
+ (128,1,'Mobile Phone Providers','Mobile Phone Providers','civicrm/admin/options/mobile_provider?reset=1',NULL,'administer CiviCRM','',122,1,NULL,6),
+ (129,1,'Phone Types','Phone Types','civicrm/admin/options/phone_type?reset=1',NULL,'administer CiviCRM','',122,1,NULL,7),
+ (130,1,'Website Types','Website Types','civicrm/admin/options/website_type?reset=1',NULL,'administer CiviCRM','',122,1,NULL,8),
+ (131,1,'Communications','Communications',NULL,NULL,'administer CiviCRM','',105,1,NULL,4),
+ (132,1,'Organization Address and Contact Info','Organization Address and Contact Info','civicrm/admin/domain?action=update&reset=1',NULL,'administer CiviCRM','',131,1,NULL,1),
+ (133,1,'FROM Email Addresses','FROM Email Addresses','civicrm/admin/options/from_email_address?reset=1',NULL,'administer CiviCRM','',131,1,NULL,2),
+ (134,1,'Message Templates','Message Templates','civicrm/admin/messageTemplates?reset=1',NULL,'administer CiviCRM','',131,1,NULL,3),
+ (135,1,'Schedule Reminders','Schedule Reminders','civicrm/admin/scheduleReminders?reset=1',NULL,'administer CiviCRM','',131,1,NULL,4),
+ (136,1,'Preferred Communication Methods','Preferred Communication Methods','civicrm/admin/options/preferred_communication_method?reset=1',NULL,'administer CiviCRM','',131,1,NULL,5),
+ (137,1,'Label Formats','Label Formats','civicrm/admin/labelFormats?reset=1',NULL,'administer CiviCRM','',131,1,NULL,6),
+ (138,1,'Print Page (PDF) Formats','Print Page (PDF) Formats','civicrm/admin/pdfFormats?reset=1',NULL,'administer CiviCRM','',131,1,NULL,7),
+ (139,1,'Communication Style Options','Communication Style Options','civicrm/admin/options/communication_style?reset=1',NULL,'administer CiviCRM','',131,1,NULL,8),
+ (140,1,'Email Greeting Formats','Email Greeting Formats','civicrm/admin/options/email_greeting?reset=1',NULL,'administer CiviCRM','',131,1,NULL,9),
+ (141,1,'Postal Greeting Formats','Postal Greeting Formats','civicrm/admin/options/postal_greeting?reset=1',NULL,'administer CiviCRM','',131,1,NULL,10),
+ (142,1,'Addressee Formats','Addressee Formats','civicrm/admin/options/addressee?reset=1',NULL,'administer CiviCRM','',131,1,NULL,11),
+ (143,1,'Localization','Localization',NULL,NULL,'administer CiviCRM','',105,1,NULL,6),
+ (144,1,'Languages, Currency, Locations','Languages, Currency, Locations','civicrm/admin/setting/localization?reset=1',NULL,'administer CiviCRM','',143,1,NULL,1),
+ (145,1,'Address Settings','Address Settings','civicrm/admin/setting/preferences/address?reset=1',NULL,'administer CiviCRM','',143,1,NULL,2),
+ (146,1,'Date Formats','Date Formats','civicrm/admin/setting/date?reset=1',NULL,'administer CiviCRM','',143,1,NULL,3),
+ (147,1,'Preferred Language Options','Preferred Language Options','civicrm/admin/options/languages?reset=1',NULL,'administer CiviCRM','',143,1,NULL,4),
+ (148,1,'Users and Permissions','Users and Permissions',NULL,NULL,'administer CiviCRM','',105,1,NULL,7),
+ (149,1,'Permissions (Access Control)','Permissions (Access Control)','civicrm/admin/access?reset=1',NULL,'administer CiviCRM','',148,1,NULL,1),
+ (150,1,'Synchronize Users to Contacts','Synchronize Users to Contacts','civicrm/admin/synchUser?reset=1',NULL,'administer CiviCRM','',148,1,NULL,2),
+ (151,1,'System Settings','System Settings',NULL,NULL,'administer CiviCRM','',105,1,NULL,8),
+ (152,1,'Components','Enable Components','civicrm/admin/setting/component?reset=1',NULL,'administer CiviCRM','',151,1,NULL,1),
+ (153,1,'Extensions','Manage Extensions','civicrm/admin/extensions?reset=1',NULL,'administer CiviCRM','',151,1,1,3),
+ (154,1,'Cleanup Caches and Update Paths','Cleanup Caches and Update Paths','civicrm/admin/setting/updateConfigBackend?reset=1',NULL,'administer CiviCRM','',151,1,NULL,4),
+ (155,1,'CMS Database Integration','CMS Integration','civicrm/admin/setting/uf?reset=1',NULL,'administer CiviCRM','',151,1,NULL,5),
+ (156,1,'Debugging and Error Handling','Debugging and Error Handling','civicrm/admin/setting/debug?reset=1',NULL,'administer CiviCRM','',151,1,NULL,6),
+ (157,1,'Directories','Directories','civicrm/admin/setting/path?reset=1',NULL,'administer CiviCRM','',151,1,NULL,7),
+ (158,1,'Import/Export Mappings','Import/Export Mappings','civicrm/admin/mapping?reset=1',NULL,'administer CiviCRM','',151,1,NULL,8),
+ (159,1,'Mapping and Geocoding','Mapping and Geocoding','civicrm/admin/setting/mapping?reset=1',NULL,'administer CiviCRM','',151,1,NULL,9),
+ (160,1,'Misc (Undelete, PDFs, Limits, Logging, etc.)','misc_admin_settings','civicrm/admin/setting/misc?reset=1',NULL,'administer CiviCRM','',151,1,NULL,10),
+ (161,1,'Multi Site Settings','Multi Site Settings','civicrm/admin/setting/preferences/multisite?reset=1',NULL,'administer CiviCRM','',151,1,NULL,11),
+ (162,1,'Option Groups','Option Groups','civicrm/admin/options?reset=1',NULL,'administer CiviCRM','',151,1,NULL,12),
+ (163,1,'Outbound Email (SMTP/Sendmail)','Outbound Email','civicrm/admin/setting/smtp?reset=1',NULL,'administer CiviCRM','',151,1,NULL,13),
+ (164,1,'Payment Processors','Payment Processors','civicrm/admin/paymentProcessor?reset=1',NULL,'administer CiviCRM','',151,1,NULL,14),
+ (165,1,'Resource URLs','Resource URLs','civicrm/admin/setting/url?reset=1',NULL,'administer CiviCRM','',151,1,NULL,15),
+ (166,1,'Safe File Extensions','Safe File Extensions','civicrm/admin/options/safe_file_extension?reset=1',NULL,'administer CiviCRM','',151,1,NULL,16),
+ (167,1,'Scheduled Jobs','Scheduled Jobs','civicrm/admin/job?reset=1',NULL,'administer CiviCRM','',151,1,NULL,17),
+ (168,1,'SMS Providers','SMS Providers','civicrm/admin/sms/provider?reset=1',NULL,'administer CiviCRM','',151,1,NULL,18),
+ (169,1,'CiviCampaign','CiviCampaign',NULL,NULL,'administer CiviCampaign,administer CiviCRM','AND',105,1,NULL,9),
+ (170,1,'Survey Types','Survey Types','civicrm/admin/campaign/surveyType?reset=1',NULL,'administer CiviCampaign','',169,1,NULL,1),
+ (171,1,'Campaign Types','Campaign Types','civicrm/admin/options/campaign_type?reset=1',NULL,'administer CiviCampaign','',169,1,NULL,2),
+ (172,1,'Campaign Status','Campaign Status','civicrm/admin/options/campaign_status?reset=1',NULL,'administer CiviCampaign','',169,1,NULL,3),
+ (173,1,'Engagement Index','Engagement Index','civicrm/admin/options/engagement_index?reset=1',NULL,'administer CiviCampaign','',169,1,NULL,4),
+ (174,1,'CiviCampaign Component Settings','CiviCampaign Component Settings','civicrm/admin/setting/preferences/campaign?reset=1',NULL,'administer CiviCampaign','',169,1,NULL,5),
+ (175,1,'CiviCase','CiviCase',NULL,NULL,'administer CiviCase',NULL,105,1,NULL,10),
+ (176,1,'CiviCase Settings','CiviCase Settings','civicrm/admin/setting/case?reset=1',NULL,'administer CiviCase',NULL,175,1,NULL,1),
+ (177,1,'Case Types','Case Types','civicrm/a/#/caseType',NULL,'administer CiviCase',NULL,175,1,NULL,2),
+ (178,1,'Redaction Rules','Redaction Rules','civicrm/admin/options/redaction_rule?reset=1',NULL,'administer CiviCase',NULL,175,1,NULL,3),
+ (179,1,'Case Statuses','Case Statuses','civicrm/admin/options/case_status?reset=1',NULL,'administer CiviCase',NULL,175,1,NULL,4),
+ (180,1,'Encounter Medium','Encounter Medium','civicrm/admin/options/encounter_medium?reset=1',NULL,'administer CiviCase',NULL,175,1,NULL,5),
+ (181,1,'CiviContribute','CiviContribute',NULL,NULL,'access CiviContribute,administer CiviCRM','AND',105,1,NULL,11),
+ (182,1,'New Contribution Page','New Contribution Page','civicrm/admin/contribute?reset=1&action=add',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,NULL,6),
+ (183,1,'Manage Contribution Pages','Manage Contribution Pages','civicrm/admin/contribute?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,1,7),
+ (184,1,'Personal Campaign Pages','Personal Campaign Pages','civicrm/admin/pcp?reset=1&page_type=contribute',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,NULL,8),
+ (185,1,'Premiums (Thank-you Gifts)','Premiums','civicrm/admin/contribute/managePremiums?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,1,9),
+ (186,1,'Financial Types','Financial Types','civicrm/admin/financial/financialType?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,NULL,10),
+ (187,1,'Financial Accounts','Financial Accounts','civicrm/admin/financial/financialAccount?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,NULL,11),
+ (188,1,'Payment Methods','Payment Instruments','civicrm/admin/options/payment_instrument?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,NULL,12),
+ (189,1,'Accepted Credit Cards','Accepted Credit Cards','civicrm/admin/options/accept_creditcard?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,NULL,13),
+ (190,1,'Soft Credit Types','Soft Credit Types','civicrm/admin/options/soft_credit_type?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,1,14),
+ (191,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,NULL,15),
+ (192,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,NULL,16),
+ (193,1,'Payment Processors','Payment Processors','civicrm/admin/paymentProcessor?reset=1',NULL,'administer CiviCRM','',181,1,NULL,17),
+ (194,1,'CiviContribute Component Settings','CiviContribute Component Settings','civicrm/admin/setting/preferences/contribute?reset=1',NULL,'administer CiviCRM','',181,1,NULL,18),
+ (195,1,'CiviEvent','CiviEvent',NULL,NULL,'access CiviEvent,administer CiviCRM','AND',105,1,NULL,12),
+ (196,1,'New Event','New Event','civicrm/event/add?reset=1&action=add',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,NULL,1),
+ (197,1,'Manage Events','Manage Events','civicrm/event/manage?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,1,2),
+ (198,1,'Personal Campaign Pages','Personal Campaign Pages','civicrm/admin/pcp?reset=1&page_type=event',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,1,3),
+ (199,1,'Event Templates','Event Templates','civicrm/admin/eventTemplate?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,1,4),
+ (200,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,NULL,5),
+ (201,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,1,6),
+ (202,1,'Event Types','Event Types','civicrm/admin/options/event_type?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,NULL,7),
+ (203,1,'Participant Statuses','Participant Statuses','civicrm/admin/participant_status?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,NULL,8),
+ (204,1,'Participant Roles','Participant Roles','civicrm/admin/options/participant_role?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,NULL,9),
+ (205,1,'Participant Listing Options','Participant Listing Options','civicrm/admin/options/participant_listing?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,NULL,10),
+ (206,1,'Event Name Badge Layouts','Event Name Badge Layouts','civicrm/admin/badgelayout?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,NULL,11),
+ (207,1,'Payment Processors','Payment Processors','civicrm/admin/paymentProcessor?reset=1',NULL,'administer CiviCRM','',195,1,NULL,12),
+ (208,1,'CiviEvent Component Settings','CiviEvent Component Settings','civicrm/admin/setting/preferences/event?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,NULL,13),
+ (209,1,'CiviMail','CiviMail',NULL,NULL,'access CiviMail,administer CiviCRM','AND',105,1,NULL,14),
+ (210,1,'Headers, Footers, and Automated Messages','Headers, Footers, and Automated Messages','civicrm/admin/component?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',209,1,NULL,1),
+ (211,1,'Message Templates','Message Templates','civicrm/admin/messageTemplates?reset=1',NULL,'administer CiviCRM','',209,1,NULL,2),
+ (212,1,'From Email Addresses','From Email Addresses','civicrm/admin/options/from_email_address?reset=1',NULL,'administer CiviCRM','',209,1,NULL,3),
+ (213,1,'Mail Accounts','Mail Accounts','civicrm/admin/mailSettings?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',209,1,NULL,4),
+ (214,1,'Mailer Settings','Mailer Settings','civicrm/admin/mail?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',209,1,NULL,5),
+ (215,1,'CiviMail Component Settings','CiviMail Component Settings','civicrm/admin/setting/preferences/mailing?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',209,1,NULL,6),
+ (216,1,'CiviMember','CiviMember',NULL,NULL,'access CiviMember,administer CiviCRM','AND',105,1,NULL,15),
+ (217,1,'Membership Types','Membership Types','civicrm/admin/member/membershipType?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',216,1,NULL,1),
+ (218,1,'Membership Status Rules','Membership Status Rules','civicrm/admin/member/membershipStatus?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',216,1,1,2),
+ (219,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviMember,administer CiviCRM','AND',216,1,NULL,3),
+ (220,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',216,1,NULL,4),
+ (221,1,'CiviMember Component Settings','CiviMember Component Settings','civicrm/admin/setting/preferences/member?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',216,1,NULL,5),
+ (222,1,'CiviReport','CiviReport',NULL,NULL,'access CiviReport,administer CiviCRM','AND',105,1,NULL,16),
+ (223,1,'All Reports','All Reports','civicrm/report/list?reset=1',NULL,'access CiviReport','',222,1,NULL,1),
+ (224,1,'Create New Report from Template','Create New Report from Template','civicrm/admin/report/template/list?reset=1',NULL,'administer Reports','',222,1,NULL,2),
+ (225,1,'Manage Templates','Manage Templates','civicrm/admin/report/options/report_template?reset=1',NULL,'administer Reports','',222,1,NULL,3),
+ (226,1,'Register Report','Register Report','civicrm/admin/report/register?reset=1',NULL,'administer Reports','',222,1,NULL,4),
+ (227,1,'Support','Support',NULL,'crm-i fa-life-ring',NULL,'',NULL,1,NULL,110),
+ (228,1,'Get started','Get started','https://civicrm.org/get-started?src=iam',NULL,NULL,'AND',227,1,NULL,1),
+ (229,1,'Documentation','Documentation','https://civicrm.org/documentation?src=iam',NULL,NULL,'AND',227,1,NULL,2),
+ (230,1,'Ask a question','Ask a question','https://civicrm.org/ask-a-question?src=iam',NULL,NULL,'AND',227,1,NULL,3),
+ (231,1,'Get expert help','Get expert help','https://civicrm.org/experts?src=iam',NULL,NULL,'AND',227,1,NULL,4),
+ (232,1,'About CiviCRM','About CiviCRM','https://civicrm.org/about?src=iam',NULL,NULL,'AND',227,1,1,5),
+ (233,1,'Register your site','Register your site','https://civicrm.org/register-your-site?src=iam&sid={sid}',NULL,NULL,'AND',227,1,NULL,6),
+ (234,1,'Join CiviCRM','Join CiviCRM','https://civicrm.org/become-a-member?src=iam&sid={sid}',NULL,NULL,'AND',227,1,NULL,7),
+ (235,1,'Developer','Developer',NULL,NULL,'administer CiviCRM','',227,1,1,8),
+ (236,1,'Api Explorer v3','API Explorer','civicrm/api3',NULL,'administer CiviCRM','',235,1,NULL,1),
+ (237,1,'Api Explorer v4','Api Explorer v4','civicrm/api4#/explorer',NULL,'administer CiviCRM','',235,1,NULL,2),
+ (238,1,'Developer Docs','Developer Docs','https://civicrm.org/developer-documentation?src=iam',NULL,'administer CiviCRM','',235,1,NULL,3),
+ (239,1,'Reports','Reports',NULL,'crm-i fa-bar-chart','access CiviReport','',NULL,1,NULL,95),
+ (240,1,'Contact Reports','Contact Reports','civicrm/report/list?compid=99&reset=1',NULL,'administer CiviCRM','',239,1,0,1),
+ (241,1,'Contribution Reports','Contribution Reports','civicrm/report/list?compid=2&reset=1',NULL,'access CiviContribute','',239,1,0,2),
+ (242,1,'Pledge Reports','Pledge Reports','civicrm/report/list?compid=6&reset=1',NULL,'access CiviPledge','',239,1,0,3),
+ (243,1,'Event Reports','Event Reports','civicrm/report/list?compid=1&reset=1',NULL,'access CiviEvent','',239,1,0,4),
+ (244,1,'Mailing Reports','Mailing Reports','civicrm/report/list?compid=4&reset=1',NULL,'access CiviMail','',239,1,0,5),
+ (245,1,'Membership Reports','Membership Reports','civicrm/report/list?compid=3&reset=1',NULL,'access CiviMember','',239,1,0,6),
+ (246,1,'Campaign Reports','Campaign Reports','civicrm/report/list?compid=9&reset=1',NULL,'interview campaign contacts,release campaign contacts,reserve campaign contacts,manage campaign,administer CiviCampaign,gotv campaign contacts','OR',239,1,0,7),
+ (247,1,'Case Reports','Case Reports','civicrm/report/list?compid=7&reset=1',NULL,'access my cases and activities,access all cases and activities,administer CiviCase','OR',239,1,0,8),
+ (248,1,'Grant Reports','Grant Reports','civicrm/report/list?compid=5&reset=1',NULL,'access CiviGrant','',239,1,0,9),
+ (249,1,'All Reports','All Reports','civicrm/report/list?reset=1',NULL,'access CiviReport','',239,1,1,10),
+ (250,1,'My Reports','My Reports','civicrm/report/list?myreports=1&reset=1',NULL,'access CiviReport','',239,1,1,11),
+ (251,1,'New Student','New Student','civicrm/contact/add?ct=Individual&cst=Student&reset=1',NULL,'add contacts','',16,1,NULL,1),
+ (252,1,'New Parent','New Parent','civicrm/contact/add?ct=Individual&cst=Parent&reset=1',NULL,'add contacts','',16,1,NULL,2),
+ (253,1,'New Staff','New Staff','civicrm/contact/add?ct=Individual&cst=Staff&reset=1',NULL,'add contacts','',16,1,NULL,3),
+ (254,1,'New Team','New Team','civicrm/contact/add?ct=Organization&cst=Team&reset=1',NULL,'add contacts','',18,1,NULL,1),
+ (255,1,'New Sponsor','New Sponsor','civicrm/contact/add?ct=Organization&cst=Sponsor&reset=1',NULL,'add contacts','',18,1,NULL,2);
 /*!40000 ALTER TABLE `civicrm_navigation` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -5619,26 +5568,26 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_note` WRITE;
 /*!40000 ALTER TABLE `civicrm_note` DISABLE KEYS */;
 INSERT INTO `civicrm_note` (`id`, `entity_table`, `entity_id`, `note`, `contact_id`, `note_date`, `created_date`, `modified_date`, `subject`, `privacy`) VALUES
- (1,'civicrm_contact',72,'Invite members for the Steve Prefontaine 10k dream run',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-07-11 09:01:37',NULL,'0'),
- (2,'civicrm_contact',63,'Contact the Commissioner of Charities',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-10-20 07:48:37',NULL,'0'),
- (3,'civicrm_contact',114,'Send reminder for annual dinner',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-02-20 04:16:03',NULL,'0'),
- (4,'civicrm_contact',84,'Send reminder for annual dinner',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-06-02 07:42:04',NULL,'0'),
- (5,'civicrm_contact',52,'Invite members for the Steve Prefontaine 10k dream run',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-05-19 21:09:57',NULL,'0'),
- (6,'civicrm_contact',3,'Arrange for cricket match with Sunil Gavaskar',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-12-04 07:12:53',NULL,'0'),
- (7,'civicrm_contact',68,'Get the registration done for NGO status',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-05-29 19:54:46',NULL,'0'),
- (8,'civicrm_contact',137,'Arrange collection of funds from members',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-07-11 19:18:07',NULL,'0'),
- (9,'civicrm_contact',33,'Chart out route map for next 10k run',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-02-11 11:25:44',NULL,'0'),
- (10,'civicrm_contact',160,'Contact the Commissioner of Charities',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-05-05 00:31:40',NULL,'0'),
- (11,'civicrm_contact',170,'Arrange for cricket match with Sunil Gavaskar',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-02-16 03:45:10',NULL,'0'),
- (12,'civicrm_contact',127,'Send newsletter for April 2005',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-09-09 16:14:47',NULL,'0'),
- (13,'civicrm_contact',165,'Contact the Commissioner of Charities',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-02-23 08:14:11',NULL,'0'),
- (14,'civicrm_contact',195,'Chart out route map for next 10k run',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-04-01 21:22:06',NULL,'0'),
- (15,'civicrm_contact',161,'Invite members for the Steve Prefontaine 10k dream run',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-04-14 03:05:55',NULL,'0'),
- (16,'civicrm_contact',17,'Send reminder for annual dinner',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-02-16 12:43:53',NULL,'0'),
- (17,'civicrm_contact',154,'Send newsletter for April 2005',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-02-02 11:25:33',NULL,'0'),
- (18,'civicrm_contact',59,'Send reminder for annual dinner',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-12-06 09:31:30',NULL,'0'),
- (19,'civicrm_contact',37,'Connect for presentation',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-04-03 10:31:33',NULL,'0'),
- (20,'civicrm_contact',184,'Arrange for cricket match with Sunil Gavaskar',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-12-07 22:00:44',NULL,'0');
+ (1,'civicrm_contact',26,'Arrange collection of funds from members',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-04-07 10:35:13',NULL,'0'),
+ (2,'civicrm_contact',84,'Contact the Commissioner of Charities',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-03-28 06:13:11',NULL,'0'),
+ (3,'civicrm_contact',25,'Send reminder for annual dinner',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-03-29 14:06:48',NULL,'0'),
+ (4,'civicrm_contact',16,'Send newsletter for April 2005',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-07-06 02:24:16',NULL,'0'),
+ (5,'civicrm_contact',14,'Arrange for cricket match with Sunil Gavaskar',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-10-24 16:17:11',NULL,'0'),
+ (6,'civicrm_contact',64,'Get the registration done for NGO status',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-04-25 16:41:18',NULL,'0'),
+ (7,'civicrm_contact',50,'Get the registration done for NGO status',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-05-18 17:09:40',NULL,'0'),
+ (8,'civicrm_contact',193,'Organize the Terry Fox run',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-09-06 19:14:35',NULL,'0'),
+ (9,'civicrm_contact',2,'Connect for presentation',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-04-11 16:51:38',NULL,'0'),
+ (10,'civicrm_contact',74,'Reminder screening of \"Black\" on next Friday',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-07-19 03:38:13',NULL,'0'),
+ (11,'civicrm_contact',16,'Invite members for the Steve Prefontaine 10k dream run',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-04-16 12:19:24',NULL,'0'),
+ (12,'civicrm_contact',3,'Invite members for the Steve Prefontaine 10k dream run',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-06-26 18:05:28',NULL,'0'),
+ (13,'civicrm_contact',107,'Connect for presentation',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-06-13 01:26:53',NULL,'0'),
+ (14,'civicrm_contact',167,'Get the registration done for NGO status',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-04-02 16:05:00',NULL,'0'),
+ (15,'civicrm_contact',116,'Reminder screening of \"Black\" on next Friday',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2022-02-19 03:28:07',NULL,'0'),
+ (16,'civicrm_contact',12,'Get the registration done for NGO status',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-03-25 17:10:55',NULL,'0'),
+ (17,'civicrm_contact',48,'Chart out route map for next 10k run',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-06-18 02:05:01',NULL,'0'),
+ (18,'civicrm_contact',198,'Contact the Commissioner of Charities',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-03-01 08:25:54',NULL,'0'),
+ (19,'civicrm_contact',67,'Invite members for the Steve Prefontaine 10k dream run',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-11-22 20:03:26',NULL,'0'),
+ (20,'civicrm_contact',11,'Organize the Terry Fox run',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-12-08 02:02:15',NULL,'0');
 /*!40000 ALTER TABLE `civicrm_note` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -5680,81 +5629,79 @@ INSERT INTO `civicrm_option_group` (`id`, `name`, `title`, `description`, `data_
  (20,'user_dashboard_options','User Dashboard Options',NULL,NULL,1,1,1),
  (21,'address_options','Addressing Options',NULL,NULL,1,1,0),
  (22,'group_type','Group Type',NULL,NULL,1,1,0),
- (23,'grant_status','Grant status',NULL,NULL,1,1,0),
- (24,'grant_type','Grant Type',NULL,NULL,1,1,0),
- (25,'custom_search','Custom Search',NULL,NULL,1,1,0),
- (26,'activity_status','Activity Status',NULL,'Integer',1,1,0),
- (27,'case_type','Case Type',NULL,NULL,1,1,0),
- (28,'case_status','Case Status',NULL,NULL,1,1,0),
- (29,'participant_listing','Participant Listing',NULL,NULL,1,1,0),
- (30,'safe_file_extension','Safe File Extension',NULL,NULL,1,1,0),
- (31,'from_email_address','From Email Address',NULL,NULL,1,1,0),
- (32,'mapping_type','Mapping Type',NULL,NULL,1,1,1),
- (33,'wysiwyg_editor','WYSIWYG Editor',NULL,NULL,1,1,0),
- (34,'recur_frequency_units','Recurring Frequency Units',NULL,NULL,1,1,0),
- (35,'phone_type','Phone Type',NULL,NULL,1,1,0),
- (36,'custom_data_type','Custom Data Type',NULL,NULL,1,1,0),
- (37,'visibility','Visibility',NULL,NULL,1,1,0),
- (38,'mail_protocol','Mail Protocol',NULL,NULL,1,1,0),
- (39,'priority','Priority',NULL,NULL,1,1,0),
- (40,'redaction_rule','Redaction Rule',NULL,NULL,1,1,0),
- (41,'report_template','Report Template',NULL,NULL,1,1,0),
- (42,'email_greeting','Email Greeting Type',NULL,NULL,1,1,0),
- (43,'postal_greeting','Postal Greeting Type',NULL,NULL,1,1,0),
- (44,'addressee','Addressee Type',NULL,NULL,1,1,0),
- (45,'contact_autocomplete_options','Autocomplete Contact Search',NULL,NULL,1,1,1),
- (46,'contact_reference_options','Contact Reference Autocomplete Options',NULL,NULL,1,1,1),
- (47,'website_type','Website Type',NULL,NULL,1,1,0),
- (48,'tag_used_for','Tag Used For',NULL,NULL,1,1,1),
- (49,'note_used_for','Note Used For',NULL,NULL,1,1,1),
- (50,'currencies_enabled','Currencies Enabled',NULL,NULL,1,1,0),
- (51,'event_badge','Event Name Badge',NULL,NULL,1,1,0),
- (52,'note_privacy','Privacy levels for notes',NULL,NULL,1,1,0),
- (53,'campaign_type','Campaign Type',NULL,NULL,1,1,0),
- (54,'campaign_status','Campaign Status',NULL,NULL,1,1,0),
- (55,'system_extensions','CiviCRM Extensions',NULL,NULL,1,1,0),
- (56,'mail_approval_status','CiviMail Approval Status',NULL,NULL,1,1,0),
- (57,'engagement_index','Engagement Index',NULL,NULL,1,1,0),
- (58,'cg_extend_objects','Objects a custom group extends to',NULL,NULL,1,1,0),
- (59,'paper_size','Paper Size',NULL,NULL,1,1,0),
- (60,'pdf_format','PDF Page Format',NULL,NULL,1,1,0),
- (61,'label_format','Mailing Label Format',NULL,NULL,1,1,0),
- (62,'activity_contacts','Activity Contacts',NULL,NULL,1,1,1),
- (63,'account_relationship','Account Relationship',NULL,NULL,1,1,0),
- (64,'event_contacts','Event Recipients',NULL,NULL,1,1,0),
- (65,'conference_slot','Conference Slot',NULL,NULL,1,1,0),
- (66,'batch_type','Batch Type',NULL,NULL,1,1,1),
- (67,'batch_mode','Batch Mode',NULL,NULL,1,1,1),
- (68,'batch_status','Batch Status',NULL,NULL,1,1,1),
- (69,'sms_api_type','Api Type',NULL,NULL,1,1,0),
- (70,'sms_provider_name','Sms Provider Internal Name',NULL,NULL,1,1,0),
- (71,'auto_renew_options','Auto Renew Options',NULL,NULL,1,1,1),
- (72,'financial_account_type','Financial Account Type',NULL,NULL,1,1,0),
- (73,'financial_item_status','Financial Item Status',NULL,NULL,1,1,1),
- (74,'label_type','Label Type',NULL,NULL,1,1,0),
- (75,'name_badge','Name Badge Format',NULL,NULL,1,1,0),
- (76,'communication_style','Communication Style',NULL,NULL,1,1,0),
- (77,'msg_mode','Message Mode',NULL,NULL,1,1,0),
- (78,'contact_date_reminder_options','Contact Date Reminder Options',NULL,NULL,1,1,1),
- (79,'wysiwyg_presets','WYSIWYG Editor Presets',NULL,NULL,1,1,0),
- (80,'relative_date_filters','Relative Date Filters',NULL,NULL,1,1,0),
- (81,'pledge_status','Pledge Status',NULL,NULL,1,1,1),
- (82,'contribution_recur_status','Recurring Contribution Status',NULL,NULL,1,1,1),
- (83,'environment','Environment',NULL,NULL,1,1,0),
- (84,'activity_default_assignee','Activity default assignee',NULL,NULL,1,1,0),
- (85,'entity_batch_extends','Entity Batch Extends',NULL,NULL,1,1,0),
- (86,'languages','Languages','List of Languages',NULL,1,1,0),
- (87,'encounter_medium','Encounter Medium','Encounter medium for case activities (e.g. In Person, By Phone, etc.)',NULL,1,1,0),
- (88,'msg_tpl_workflow_case','Message Template Workflow for Cases','Message Template Workflow for Cases',NULL,1,1,0),
- (89,'msg_tpl_workflow_contribution','Message Template Workflow for Contributions','Message Template Workflow for Contributions',NULL,1,1,0),
- (90,'msg_tpl_workflow_event','Message Template Workflow for Events','Message Template Workflow for Events',NULL,1,1,0),
- (91,'msg_tpl_workflow_friend','Message Template Workflow for Tell-a-Friend','Message Template Workflow for Tell-a-Friend',NULL,1,1,0),
- (92,'msg_tpl_workflow_membership','Message Template Workflow for Memberships','Message Template Workflow for Memberships',NULL,1,1,0),
- (93,'msg_tpl_workflow_meta','Message Template Workflow for Meta Templates','Message Template Workflow for Meta Templates',NULL,1,1,0),
- (94,'msg_tpl_workflow_pledge','Message Template Workflow for Pledges','Message Template Workflow for Pledges',NULL,1,1,0),
- (95,'msg_tpl_workflow_uf','Message Template Workflow for Profiles','Message Template Workflow for Profiles',NULL,1,1,0),
- (96,'msg_tpl_workflow_petition','Message Template Workflow for Petition','Message Template Workflow for Petition',NULL,1,1,0),
- (97,'soft_credit_type','Soft Credit Types',NULL,NULL,1,1,0);
+ (23,'custom_search','Custom Search',NULL,NULL,1,1,0),
+ (24,'activity_status','Activity Status',NULL,'Integer',1,1,0),
+ (25,'case_type','Case Type',NULL,NULL,1,1,0),
+ (26,'case_status','Case Status',NULL,NULL,1,1,0),
+ (27,'participant_listing','Participant Listing',NULL,NULL,1,1,0),
+ (28,'safe_file_extension','Safe File Extension',NULL,NULL,1,1,0),
+ (29,'from_email_address','From Email Address',NULL,NULL,1,1,0),
+ (30,'mapping_type','Mapping Type',NULL,NULL,1,1,1),
+ (31,'wysiwyg_editor','WYSIWYG Editor',NULL,NULL,1,1,0),
+ (32,'recur_frequency_units','Recurring Frequency Units',NULL,NULL,1,1,0),
+ (33,'phone_type','Phone Type',NULL,NULL,1,1,0),
+ (34,'custom_data_type','Custom Data Type',NULL,NULL,1,1,0),
+ (35,'visibility','Visibility',NULL,NULL,1,1,0),
+ (36,'mail_protocol','Mail Protocol',NULL,NULL,1,1,0),
+ (37,'priority','Priority',NULL,NULL,1,1,0),
+ (38,'redaction_rule','Redaction Rule',NULL,NULL,1,1,0),
+ (39,'report_template','Report Template',NULL,NULL,1,1,0),
+ (40,'email_greeting','Email Greeting Type',NULL,NULL,1,1,0),
+ (41,'postal_greeting','Postal Greeting Type',NULL,NULL,1,1,0),
+ (42,'addressee','Addressee Type',NULL,NULL,1,1,0),
+ (43,'contact_autocomplete_options','Autocomplete Contact Search',NULL,NULL,1,1,1),
+ (44,'contact_reference_options','Contact Reference Autocomplete Options',NULL,NULL,1,1,1),
+ (45,'website_type','Website Type',NULL,NULL,1,1,0),
+ (46,'tag_used_for','Tag Used For',NULL,NULL,1,1,1),
+ (47,'note_used_for','Note Used For',NULL,NULL,1,1,1),
+ (48,'currencies_enabled','Currencies Enabled',NULL,NULL,1,1,0),
+ (49,'event_badge','Event Name Badge',NULL,NULL,1,1,0),
+ (50,'note_privacy','Privacy levels for notes',NULL,NULL,1,1,0),
+ (51,'campaign_type','Campaign Type',NULL,NULL,1,1,0),
+ (52,'campaign_status','Campaign Status',NULL,NULL,1,1,0),
+ (53,'system_extensions','CiviCRM Extensions',NULL,NULL,1,1,0),
+ (54,'mail_approval_status','CiviMail Approval Status',NULL,NULL,1,1,0),
+ (55,'engagement_index','Engagement Index',NULL,NULL,1,1,0),
+ (56,'cg_extend_objects','Objects a custom group extends to',NULL,NULL,1,1,0),
+ (57,'paper_size','Paper Size',NULL,NULL,1,1,0),
+ (58,'pdf_format','PDF Page Format',NULL,NULL,1,1,0),
+ (59,'label_format','Mailing Label Format',NULL,NULL,1,1,0),
+ (60,'activity_contacts','Activity Contacts',NULL,NULL,1,1,1),
+ (61,'account_relationship','Account Relationship',NULL,NULL,1,1,0),
+ (62,'event_contacts','Event Recipients',NULL,NULL,1,1,0),
+ (63,'conference_slot','Conference Slot',NULL,NULL,1,1,0),
+ (64,'batch_type','Batch Type',NULL,NULL,1,1,1),
+ (65,'batch_mode','Batch Mode',NULL,NULL,1,1,1),
+ (66,'batch_status','Batch Status',NULL,NULL,1,1,1),
+ (67,'sms_api_type','Api Type',NULL,NULL,1,1,0),
+ (68,'sms_provider_name','Sms Provider Internal Name',NULL,NULL,1,1,0),
+ (69,'auto_renew_options','Auto Renew Options',NULL,NULL,1,1,1),
+ (70,'financial_account_type','Financial Account Type',NULL,NULL,1,1,0),
+ (71,'financial_item_status','Financial Item Status',NULL,NULL,1,1,1),
+ (72,'label_type','Label Type',NULL,NULL,1,1,0),
+ (73,'name_badge','Name Badge Format',NULL,NULL,1,1,0),
+ (74,'communication_style','Communication Style',NULL,NULL,1,1,0),
+ (75,'msg_mode','Message Mode',NULL,NULL,1,1,0),
+ (76,'contact_date_reminder_options','Contact Date Reminder Options',NULL,NULL,1,1,1),
+ (77,'wysiwyg_presets','WYSIWYG Editor Presets',NULL,NULL,1,1,0),
+ (78,'relative_date_filters','Relative Date Filters',NULL,NULL,1,1,0),
+ (79,'pledge_status','Pledge Status',NULL,NULL,1,1,1),
+ (80,'contribution_recur_status','Recurring Contribution Status',NULL,NULL,1,1,1),
+ (81,'environment','Environment',NULL,NULL,1,1,0),
+ (82,'activity_default_assignee','Activity default assignee',NULL,NULL,1,1,0),
+ (83,'entity_batch_extends','Entity Batch Extends',NULL,NULL,1,1,0),
+ (84,'languages','Languages','List of Languages',NULL,1,1,0),
+ (85,'encounter_medium','Encounter Medium','Encounter medium for case activities (e.g. In Person, By Phone, etc.)',NULL,1,1,0),
+ (86,'msg_tpl_workflow_case','Message Template Workflow for Cases','Message Template Workflow for Cases',NULL,1,1,0),
+ (87,'msg_tpl_workflow_contribution','Message Template Workflow for Contributions','Message Template Workflow for Contributions',NULL,1,1,0),
+ (88,'msg_tpl_workflow_event','Message Template Workflow for Events','Message Template Workflow for Events',NULL,1,1,0),
+ (89,'msg_tpl_workflow_friend','Message Template Workflow for Tell-a-Friend','Message Template Workflow for Tell-a-Friend',NULL,1,1,0),
+ (90,'msg_tpl_workflow_membership','Message Template Workflow for Memberships','Message Template Workflow for Memberships',NULL,1,1,0),
+ (91,'msg_tpl_workflow_meta','Message Template Workflow for Meta Templates','Message Template Workflow for Meta Templates',NULL,1,1,0),
+ (92,'msg_tpl_workflow_pledge','Message Template Workflow for Pledges','Message Template Workflow for Pledges',NULL,1,1,0),
+ (93,'msg_tpl_workflow_uf','Message Template Workflow for Profiles','Message Template Workflow for Profiles',NULL,1,1,0),
+ (94,'msg_tpl_workflow_petition','Message Template Workflow for Petition','Message Template Workflow for Petition',NULL,1,1,0),
+ (95,'soft_credit_type','Soft Credit Types',NULL,NULL,1,1,0);
 /*!40000 ALTER TABLE `civicrm_option_group` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -5896,747 +5843,731 @@ INSERT INTO `civicrm_option_value` (`id`, `option_group_id`, `label`, `value`, `
  (129,16,'Memberships','8','CiviMember',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
  (130,16,'Events','9','CiviEvent',NULL,0,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
  (131,16,'Cases','10','CiviCase',NULL,0,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (132,16,'Grants','11','CiviGrant',NULL,0,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (133,16,'Pledges','13','CiviPledge',NULL,0,NULL,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (134,16,'Mailings','14','CiviMail',NULL,0,NULL,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (135,17,'Show Smart Groups on Demand','1','showondemand',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (136,17,'Always Show Smart Groups','2','alwaysshow',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (137,17,'Hide Smart Groups','3','hide',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (138,18,'Custom Data','1','CustomData',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (139,18,'Address','2','Address',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (140,18,'Communication Preferences','3','CommunicationPreferences',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (141,18,'Notes','4','Notes',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (142,18,'Demographics','5','Demographics',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (143,18,'Tags and Groups','6','TagsAndGroups',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (144,18,'Email','7','Email',NULL,1,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (145,18,'Phone','8','Phone',NULL,1,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (146,18,'Instant Messenger','9','IM',NULL,1,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (147,18,'Open ID','10','OpenID',NULL,1,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (148,18,'Website','11','Website',NULL,1,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (149,18,'Prefix','12','Prefix',NULL,2,NULL,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (150,18,'Formal Title','13','Formal Title',NULL,2,NULL,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (151,18,'First Name','14','First Name',NULL,2,NULL,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (152,18,'Middle Name','15','Middle Name',NULL,2,NULL,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (153,18,'Last Name','16','Last Name',NULL,2,NULL,16,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (154,18,'Suffix','17','Suffix',NULL,2,NULL,17,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (155,19,'Address Fields','1','location',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (156,19,'Custom Fields','2','custom',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (157,19,'Activities','3','activity',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (158,19,'Relationships','4','relationship',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (159,19,'Notes','5','notes',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (160,19,'Change Log','6','changeLog',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (161,19,'Contributions','7','CiviContribute',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (162,19,'Memberships','8','CiviMember',NULL,0,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (163,19,'Events','9','CiviEvent',NULL,0,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (164,19,'Cases','10','CiviCase',NULL,0,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (165,19,'Grants','12','CiviGrant',NULL,0,NULL,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (166,19,'Demographics','13','demographics',NULL,0,NULL,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (167,19,'Pledges','15','CiviPledge',NULL,0,NULL,17,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (168,19,'Contact Type','16','contactType',NULL,0,NULL,18,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (169,19,'Groups','17','groups',NULL,0,NULL,19,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (170,19,'Tags','18','tags',NULL,0,NULL,20,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (171,19,'Mailing','19','CiviMail',NULL,0,NULL,21,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (172,20,'Groups','1','Groups',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (173,20,'Contributions','2','CiviContribute',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (174,20,'Memberships','3','CiviMember',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (175,20,'Events','4','CiviEvent',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (176,20,'My Contacts / Organizations','5','Permissioned Orgs',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (177,20,'Pledges','7','CiviPledge',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (178,20,'Personal Campaign Pages','8','PCP',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (179,20,'Assigned Activities','9','Assigned Activities',NULL,0,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (180,20,'Invoices / Credit Notes','10','Invoices / Credit Notes',NULL,0,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (181,45,'Email Address','2','email',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (182,45,'Phone','3','phone',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (183,45,'Street Address','4','street_address',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (184,45,'City','5','city',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (185,45,'State/Province','6','state_province',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (186,45,'Country','7','country',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (187,45,'Postal Code','8','postal_code',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (188,46,'Email Address','2','email',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (189,46,'Phone','3','phone',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (190,46,'Street Address','4','street_address',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (191,46,'City','5','city',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (192,46,'State/Province','6','state_province',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (193,46,'Country','7','country',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (194,46,'Postal Code','8','postal_code',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (195,21,'Street Address','1','street_address',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (196,21,'Supplemental Address 1','2','supplemental_address_1',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (197,21,'Supplemental Address 2','3','supplemental_address_2',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (198,21,'Supplemental Address 3','4','supplemental_address_3',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (199,21,'City','5','city',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (200,21,'Postal Code','6','postal_code',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (201,21,'Postal Code Suffix','7','postal_code_suffix',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (202,21,'County','8','county',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (203,21,'State/Province','9','state_province',NULL,0,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (204,21,'Country','10','country',NULL,0,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (205,21,'Latitude','11','geo_code_1',NULL,0,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (206,21,'Longitude','12','geo_code_2',NULL,0,NULL,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (207,21,'Address Name','13','address_name',NULL,0,NULL,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (208,21,'Street Address Parsing','14','street_address_parsing',NULL,0,NULL,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (209,22,'Access Control','1','Access Control',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (210,22,'Mailing List','2','Mailing List',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (211,23,'Submitted','1','Submitted',NULL,0,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (212,23,'Eligible','2','Eligible',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (213,23,'Ineligible','3','Ineligible',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (214,23,'Paid','4','Paid',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (215,23,'Awaiting Information','5','Awaiting Information',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (216,23,'Withdrawn','6','Withdrawn',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (217,23,'Approved for Payment','7','Approved for Payment',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (218,25,'CRM_Contact_Form_Search_Custom_Sample','1','CRM_Contact_Form_Search_Custom_Sample',NULL,0,NULL,1,'Household Name and State',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (219,25,'CRM_Contact_Form_Search_Custom_ContributionAggregate','2','CRM_Contact_Form_Search_Custom_ContributionAggregate',NULL,0,NULL,2,'Contribution Aggregate',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (220,25,'CRM_Contact_Form_Search_Custom_Group','4','CRM_Contact_Form_Search_Custom_Group',NULL,0,NULL,4,'Include / Exclude Search',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (221,25,'CRM_Contact_Form_Search_Custom_PostalMailing','5','CRM_Contact_Form_Search_Custom_PostalMailing',NULL,0,NULL,5,'Postal Mailing',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (222,25,'CRM_Contact_Form_Search_Custom_Proximity','6','CRM_Contact_Form_Search_Custom_Proximity',NULL,0,NULL,6,'Proximity Search',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (223,25,'CRM_Contact_Form_Search_Custom_EventAggregate','7','CRM_Contact_Form_Search_Custom_EventAggregate',NULL,0,NULL,7,'Event Aggregate',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (224,25,'CRM_Contact_Form_Search_Custom_ActivitySearch','8','CRM_Contact_Form_Search_Custom_ActivitySearch',NULL,0,NULL,8,'Activity Search',0,0,0,NULL,NULL,NULL,NULL,NULL),
- (225,25,'CRM_Contact_Form_Search_Custom_PriceSet','9','CRM_Contact_Form_Search_Custom_PriceSet',NULL,0,NULL,9,'Price Set Details for Event Participants',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (226,25,'CRM_Contact_Form_Search_Custom_ZipCodeRange','10','CRM_Contact_Form_Search_Custom_ZipCodeRange',NULL,0,NULL,10,'Zip Code Range',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (227,25,'CRM_Contact_Form_Search_Custom_DateAdded','11','CRM_Contact_Form_Search_Custom_DateAdded',NULL,0,NULL,11,'Date Added to CiviCRM',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (228,25,'CRM_Contact_Form_Search_Custom_MultipleValues','12','CRM_Contact_Form_Search_Custom_MultipleValues',NULL,0,NULL,12,'Custom Group Multiple Values Listing',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (229,25,'CRM_Contact_Form_Search_Custom_ContribSYBNT','13','CRM_Contact_Form_Search_Custom_ContribSYBNT',NULL,0,NULL,13,'Contributions made in Year X and not Year Y',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (230,25,'CRM_Contact_Form_Search_Custom_TagContributions','14','CRM_Contact_Form_Search_Custom_TagContributions',NULL,0,NULL,14,'Find Contribution Amounts by Tag',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (231,25,'CRM_Contact_Form_Search_Custom_FullText','15','CRM_Contact_Form_Search_Custom_FullText',NULL,0,NULL,15,'Full-text Search',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (232,41,'Constituent Report (Summary)','contact/summary','CRM_Report_Form_Contact_Summary',NULL,0,NULL,1,'Provides a list of address and telephone information for constituent records in your system.',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (233,41,'Constituent Report (Detail)','contact/detail','CRM_Report_Form_Contact_Detail',NULL,0,NULL,2,'Provides contact-related information on contributions, memberships, events and activities.',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (234,41,'Activity Details Report','activity','CRM_Report_Form_Activity',NULL,0,NULL,3,'Provides a list of constituent activity including activity statistics for one/all contacts during a given date range(required)',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (235,41,'Walk / Phone List Report','walklist','CRM_Report_Form_Walklist_Walklist',NULL,0,NULL,4,'Provides a detailed report for your walk/phonelist for targeted contacts',0,0,0,NULL,NULL,NULL,NULL,NULL),
- (236,41,'Current Employer Report','contact/currentEmployer','CRM_Report_Form_Contact_CurrentEmployer',NULL,0,NULL,5,'Provides detail list of employer employee relationships along with employment details Ex Join Date',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (237,41,'Contribution Summary Report','contribute/summary','CRM_Report_Form_Contribute_Summary',NULL,0,NULL,6,'Groups and totals contributions by criteria including contact, time period, financial type, contributor location, etc.',0,0,1,2,NULL,NULL,NULL,NULL),
- (238,41,'Contribution Detail Report','contribute/detail','CRM_Report_Form_Contribute_Detail',NULL,0,NULL,7,'Lists specific contributions by criteria including contact, time period, financial type, contributor location, etc. Contribution summary report points to this report for contribution details.',0,0,1,2,NULL,NULL,NULL,NULL),
- (239,41,'Repeat Contributions Report','contribute/repeat','CRM_Report_Form_Contribute_Repeat',NULL,0,NULL,8,'Given two date ranges, shows contacts who contributed in both the date ranges with the amount contributed in each and the percentage increase / decrease.',0,0,1,2,NULL,NULL,NULL,NULL),
- (240,41,'Contributions by Organization Report','contribute/organizationSummary','CRM_Report_Form_Contribute_OrganizationSummary',NULL,0,NULL,9,'Displays a detailed list of contributions grouped by organization, which includes contributions made by employees for the organisation.',0,0,1,2,NULL,NULL,NULL,NULL),
- (241,41,'Contributions by Household Report','contribute/householdSummary','CRM_Report_Form_Contribute_HouseholdSummary',NULL,0,NULL,10,'Displays a detailed list of contributions grouped by household which includes contributions made by members of the household.',0,0,1,2,NULL,NULL,NULL,NULL),
- (242,41,'Top Donors Report','contribute/topDonor','CRM_Report_Form_Contribute_TopDonor',NULL,0,NULL,11,'Provides a list of the top donors during a time period you define. You can include as many donors as you want (for example, top 100 of your donors).',0,0,1,2,NULL,NULL,NULL,NULL),
- (243,41,'SYBUNT Report','contribute/sybunt','CRM_Report_Form_Contribute_Sybunt',NULL,0,NULL,12,'SYBUNT means some year(s) but not this year. Provides a list of constituents who donated at some time in the history of your organization but did not donate during the time period you specify.',0,0,1,2,NULL,NULL,NULL,NULL),
- (244,41,'LYBUNT Report','contribute/lybunt','CRM_Report_Form_Contribute_Lybunt',NULL,0,NULL,13,'LYBUNT means last year but not this year. Provides a list of constituents who donated last year but did not donate during the time period you specify as the current year.',0,0,1,2,NULL,NULL,NULL,NULL),
- (245,41,'Soft Credit Report','contribute/softcredit','CRM_Report_Form_Contribute_SoftCredit',NULL,0,NULL,14,'Shows contributions made by contacts that have been soft-credited to other contacts.',0,0,1,2,NULL,NULL,NULL,NULL),
- (246,41,'Membership Report (Summary)','member/summary','CRM_Report_Form_Member_Summary',NULL,0,NULL,15,'Provides a summary of memberships by type and join date.',0,0,1,3,NULL,NULL,NULL,NULL),
- (247,41,'Membership Report (Detail)','member/detail','CRM_Report_Form_Member_Detail',NULL,0,NULL,16,'Provides a list of members along with their membership status and membership details (Join Date, Start Date, End Date). Can also display contributions (payments) associated with each membership.',0,0,1,3,NULL,NULL,NULL,NULL),
- (248,41,'Membership Report (Lapsed)','member/lapse','CRM_Report_Form_Member_Lapse',NULL,0,NULL,17,'Provides a list of memberships that lapsed or will lapse before the date you specify.',0,0,1,3,NULL,NULL,NULL,NULL),
- (249,41,'Event Participant Report (List)','event/participantListing','CRM_Report_Form_Event_ParticipantListing',NULL,0,NULL,18,'Provides lists of participants for an event.',0,0,1,1,NULL,NULL,NULL,NULL),
- (250,41,'Event Income Report (Summary)','event/summary','CRM_Report_Form_Event_Summary',NULL,0,NULL,19,'Provides an overview of event income. You can include key information such as event ID, registration, attendance, and income generated to help you determine the success of an event.',0,0,1,1,NULL,NULL,NULL,NULL),
- (251,41,'Event Income Report (Detail)','event/income','CRM_Report_Form_Event_Income',NULL,0,NULL,20,'Helps you to analyze the income generated by an event. The report can include details by participant type, status and payment method.',0,0,1,1,NULL,NULL,NULL,NULL),
- (252,41,'Pledge Detail Report','pledge/detail','CRM_Report_Form_Pledge_Detail',NULL,0,NULL,21,'List of pledges including amount pledged, pledge status, next payment date, balance due, total amount paid etc.',0,0,1,6,NULL,NULL,NULL,NULL),
- (253,41,'Pledged but not Paid Report','pledge/pbnp','CRM_Report_Form_Pledge_Pbnp',NULL,0,NULL,22,'Pledged but not Paid Report',0,0,1,6,NULL,NULL,NULL,NULL),
- (254,41,'Relationship Report','contact/relationship','CRM_Report_Form_Contact_Relationship',NULL,0,NULL,23,'Relationship Report',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (255,41,'Case Summary Report','case/summary','CRM_Report_Form_Case_Summary',NULL,0,NULL,24,'Provides a summary of cases and their duration by date range, status, staff member and / or case role.',0,0,1,7,NULL,NULL,NULL,NULL),
- (256,41,'Case Time Spent Report','case/timespent','CRM_Report_Form_Case_TimeSpent',NULL,0,NULL,25,'Aggregates time spent on case and / or non-case activities by activity type and contact.',0,0,1,7,NULL,NULL,NULL,NULL),
- (257,41,'Contact Demographics Report','case/demographics','CRM_Report_Form_Case_Demographics',NULL,0,NULL,26,'Demographic breakdown for case clients (and or non-case contacts) in your database. Includes custom contact fields.',0,0,1,7,NULL,NULL,NULL,NULL),
- (258,41,'Database Log Report','contact/log','CRM_Report_Form_Contact_Log',NULL,0,NULL,27,'Log of contact and activity records created or updated in a given date range.',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (259,41,'Activity Summary Report','activitySummary','CRM_Report_Form_ActivitySummary',NULL,0,NULL,28,'Shows activity statistics by type / date',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (260,41,'Bookkeeping Transactions Report','contribute/bookkeeping','CRM_Report_Form_Contribute_Bookkeeping',NULL,0,0,29,'Shows Bookkeeping Transactions Report',0,0,1,2,NULL,NULL,NULL,NULL),
- (261,41,'Grant Report (Detail)','grant/detail','CRM_Report_Form_Grant_Detail',NULL,0,0,30,'Grant Report Detail',0,0,1,5,NULL,NULL,NULL,NULL),
- (262,41,'Participant list Count Report','event/participantlist','CRM_Report_Form_Event_ParticipantListCount',NULL,0,0,31,'Shows the Participant list with Participant Count.',0,0,1,1,NULL,NULL,NULL,NULL),
- (263,41,'Income Count Summary Report','event/incomesummary','CRM_Report_Form_Event_IncomeCountSummary',NULL,0,0,32,'Shows the Income Summary of events with Count.',0,0,1,1,NULL,NULL,NULL,NULL),
- (264,41,'Case Detail Report','case/detail','CRM_Report_Form_Case_Detail',NULL,0,0,33,'Case Details',0,0,1,7,NULL,NULL,NULL,NULL),
- (265,41,'Mail Bounce Report','Mailing/bounce','CRM_Report_Form_Mailing_Bounce',NULL,0,NULL,34,'Bounce Report for mailings',0,0,1,4,NULL,NULL,NULL,NULL),
- (266,41,'Mail Summary Report','Mailing/summary','CRM_Report_Form_Mailing_Summary',NULL,0,NULL,35,'Summary statistics for mailings',0,0,1,4,NULL,NULL,NULL,NULL),
- (267,41,'Mail Opened Report','Mailing/opened','CRM_Report_Form_Mailing_Opened',NULL,0,NULL,36,'Display contacts who opened emails from a mailing',0,0,1,4,NULL,NULL,NULL,NULL),
- (268,41,'Mail Click-Through Report','Mailing/clicks','CRM_Report_Form_Mailing_Clicks',NULL,0,NULL,37,'Display clicks from each mailing',0,0,1,4,NULL,NULL,NULL,NULL),
- (269,41,'Contact Logging Report (Summary)','logging/contact/summary','CRM_Report_Form_Contact_LoggingSummary',NULL,0,NULL,38,'Contact modification report for the logging infrastructure (summary).',0,0,0,NULL,NULL,NULL,NULL,NULL),
- (270,41,'Contact Logging Report (Detail)','logging/contact/detail','CRM_Report_Form_Contact_LoggingDetail',NULL,0,NULL,39,'Contact modification report for the logging infrastructure (detail).',0,0,0,NULL,NULL,NULL,NULL,NULL),
- (271,41,'Grant Report (Statistics)','grant/statistics','CRM_Report_Form_Grant_Statistics',NULL,0,NULL,42,'Shows statistics for Grants.',0,0,1,5,NULL,NULL,NULL,NULL),
- (272,41,'Survey Report (Detail)','survey/detail','CRM_Report_Form_Campaign_SurveyDetails',NULL,0,NULL,43,'Detailed report for canvassing, phone-banking, walk lists or other surveys.',0,0,1,9,NULL,NULL,NULL,NULL),
- (273,41,'Personal Campaign Page Report','contribute/pcp','CRM_Report_Form_Contribute_PCP',NULL,0,NULL,44,'Summarizes amount raised and number of contributors for each Personal Campaign Page.',0,0,1,2,NULL,NULL,NULL,NULL),
- (274,41,'Pledge Summary Report','pledge/summary','CRM_Report_Form_Pledge_Summary',NULL,0,NULL,45,'Groups and totals pledges by criteria including contact, time period, pledge status, location, etc.',0,0,1,6,NULL,NULL,NULL,NULL),
- (275,41,'Contribution Aggregate by Relationship','contribute/history','CRM_Report_Form_Contribute_History',NULL,0,NULL,46,'List contact\'s donation history, grouped by year, along with contributions attributed to any of the contact\'s related contacts.',0,0,1,2,NULL,NULL,NULL,NULL),
- (276,41,'Mail Detail Report','mailing/detail','CRM_Report_Form_Mailing_Detail',NULL,0,NULL,47,'Provides reporting on Intended and Successful Deliveries, Unsubscribes and Opt-outs, Replies and Forwards.',0,0,1,4,NULL,NULL,NULL,NULL),
- (277,41,'Contribution and Membership Details','member/contributionDetail','CRM_Report_Form_Member_ContributionDetail',NULL,0,NULL,48,'Contribution details for any type of contribution, plus associated membership information for contributions which are in payment for memberships.',0,0,1,3,NULL,NULL,NULL,NULL),
- (278,41,'Recurring Contributions Report','contribute/recur','CRM_Report_Form_Contribute_Recur',NULL,0,NULL,49,'Provides information about the status of recurring contributions',0,0,1,2,NULL,NULL,NULL,NULL),
- (279,41,'Recurring Contributions Summary','contribute/recursummary','CRM_Report_Form_Contribute_RecurSummary',NULL,0,NULL,49,'Provides simple summary for each payment instrument for which there are recurring contributions (e.g. Credit Card, Standing Order, Direct Debit, etc., NULL), showing within a given date range.',0,0,1,2,NULL,NULL,NULL,NULL),
- (280,41,'Deferred Revenue Details','contribute/deferredrevenue','CRM_Report_Form_Contribute_DeferredRevenue',NULL,0,NULL,50,'Deferred Revenue Details Report',0,0,1,2,NULL,NULL,NULL,NULL),
- (281,26,'Scheduled','1','Scheduled',NULL,0,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (282,26,'Completed','2','Completed',NULL,1,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (283,26,'Cancelled','3','Cancelled',NULL,2,NULL,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (284,26,'Left Message','4','Left Message',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (285,26,'Unreachable','5','Unreachable',NULL,2,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (286,26,'Not Required','6','Not Required',NULL,2,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (287,26,'Available','7','Available',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (288,26,'No-show','8','No_show',NULL,2,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (289,28,'Ongoing','1','Open','Opened',0,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (290,28,'Resolved','2','Closed','Closed',0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (291,28,'Urgent','3','Urgent','Opened',0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (292,29,'Name Only','1','Name Only',NULL,0,0,1,'CRM_Event_Page_ParticipantListing_Name',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (293,29,'Name and Email','2','Name and Email',NULL,0,0,2,'CRM_Event_Page_ParticipantListing_NameAndEmail',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (294,29,'Name, Status and Register Date','3','Name, Status and Register Date',NULL,0,0,3,'CRM_Event_Page_ParticipantListing_NameStatusAndDate',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (295,30,'jpg','1','jpg',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (296,30,'jpeg','2','jpeg',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (297,30,'png','3','png',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (298,30,'gif','4','gif',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (299,30,'txt','5','txt',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (300,30,'pdf','6','pdf',NULL,0,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (301,30,'doc','7','doc',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (302,30,'xls','8','xls',NULL,0,0,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (303,30,'rtf','9','rtf',NULL,0,0,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (304,30,'csv','10','csv',NULL,0,0,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (305,30,'ppt','11','ppt',NULL,0,0,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (306,30,'docx','12','docx',NULL,0,0,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (307,30,'xlsx','13','xlsx',NULL,0,0,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (308,30,'odt','14','odt',NULL,0,0,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (309,30,'ics','15','ics',NULL,0,0,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (310,30,'pptx','16','pptx',NULL,0,0,16,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (311,33,'Textarea','1','Textarea',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (312,33,'CKEditor 4','2','CKEditor',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (313,32,'Search Builder','1','Search Builder',NULL,0,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (314,32,'Import Contact','2','Import Contact',NULL,0,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (315,32,'Import Activity','3','Import Activity',NULL,0,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (316,32,'Import Contribution','4','Import Contribution',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (317,32,'Import Membership','5','Import Membership',NULL,0,0,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (318,32,'Import Participant','6','Import Participant',NULL,0,0,6,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (319,32,'Export Contact','7','Export Contact',NULL,0,0,7,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (320,32,'Export Contribution','8','Export Contribution',NULL,0,0,8,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (321,32,'Export Membership','9','Export Membership',NULL,0,0,9,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (322,32,'Export Participant','10','Export Participant',NULL,0,0,10,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (323,32,'Export Pledge','11','Export Pledge',NULL,0,0,11,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (324,32,'Export Case','12','Export Case',NULL,0,0,12,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (325,32,'Export Grant','13','Export Grant',NULL,0,0,13,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (326,32,'Export Activity','14','Export Activity',NULL,0,0,14,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (327,34,'day','day','day',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (328,34,'week','week','week',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (329,34,'month','month','month',NULL,0,NULL,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (330,34,'year','year','year',NULL,0,NULL,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (331,35,'Phone','1','Phone',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (332,35,'Mobile','2','Mobile',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (333,35,'Fax','3','Fax',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (334,35,'Pager','4','Pager',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (335,35,'Voicemail','5','Voicemail',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (336,36,'Participant Role','1','ParticipantRole',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (337,36,'Participant Event Name','2','ParticipantEventName',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (338,36,'Participant Event Type','3','ParticipantEventType',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (339,37,'Public','1','public',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (340,37,'Admin','2','admin',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (341,38,'IMAP','1','IMAP',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (342,38,'Maildir','2','Maildir',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (343,38,'POP3','3','POP3',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (344,38,'Localdir','4','Localdir',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (345,39,'Urgent','1','Urgent',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (346,39,'Normal','2','Normal',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (347,39,'Low','3','Low',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (348,40,'Vancouver','city_','city_',NULL,0,NULL,1,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (349,40,'/(19|20)(\\d{2})-(\\d{1,2})-(\\d{1,2})/','date_','date_',NULL,1,NULL,2,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (350,42,'Dear {contact.first_name}','1','Dear {contact.first_name}',NULL,1,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (351,42,'Dear {contact.prefix_id:label} {contact.first_name} {contact.last_name}','2','Dear {contact.prefix_id:label} {contact.first_name} {contact.last_name}',NULL,1,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (352,42,'Dear {contact.prefix_id:label} {contact.last_name}','3','Dear {contact.prefix_id:label} {contact.last_name}',NULL,1,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (353,42,'Customized','4','Customized',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (354,42,'Dear {contact.household_name}','5','Dear {contact.household_name}',NULL,2,1,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (355,43,'Dear {contact.first_name}','1','Dear {contact.first_name}',NULL,1,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (356,43,'Dear {contact.prefix_id:label} {contact.first_name} {contact.last_name}','2','Dear {contact.prefix_id:label} {contact.first_name} {contact.last_name}',NULL,1,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (357,43,'Dear {contact.prefix_id:label} {contact.last_name}','3','Dear {contact.prefix_id:label} {contact.last_name}',NULL,1,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (358,43,'Customized','4','Customized',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (359,43,'Dear {contact.household_name}','5','Dear {contact.household_name}',NULL,2,1,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (360,44,'{contact.prefix_id:label}{ }{contact.first_name}{ }{contact.middle_name}{ }{contact.last_name}{ }{contact.suffix_id:label}','1','{contact.prefix_id:label}{ }{contact.first_name}{ }{contact.middle_name}{ }{contact.last_name}{ }{contact.suffix_id:label}',NULL,1,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (361,44,'{contact.household_name}','2','{contact.household_name}',NULL,2,1,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (362,44,'{contact.organization_name}','3','{contact.organization_name}',NULL,3,1,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (363,44,'Customized','4','Customized',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (364,47,'Work','1','Work',NULL,0,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (365,47,'Main','2','Main',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (366,47,'Facebook','3','Facebook',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (367,47,'Instagram','5','Instagram',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (368,47,'LinkedIn','6','LinkedIn',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (369,47,'MySpace','7','MySpace',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (370,47,'Pinterest','8','Pinterest',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (371,47,'SnapChat','9','SnapChat',NULL,0,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (372,47,'Tumblr','10','Tumblr',NULL,0,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (373,47,'Twitter','11','Twitter',NULL,0,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (374,47,'Vine','12','Vine ',NULL,0,NULL,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (375,48,'Contacts','civicrm_contact','Contact',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (376,48,'Activities','civicrm_activity','Activity',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (377,48,'Cases','civicrm_case','Case',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (378,48,'Attachments','civicrm_file','File',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (379,49,'Contacts','civicrm_contact','Contact',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (380,49,'Relationships','civicrm_relationship','Relationship',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (381,49,'Participants','civicrm_participant','Participant',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (382,49,'Contributions','civicrm_contribution','Contribution',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (383,50,'USD ($)','USD','USD',NULL,0,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (384,50,'CAD ($)','CAD','CAD',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (385,50,'EUR (€)','EUR','EUR',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (386,50,'GBP (£)','GBP','GBP',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (387,50,'JPY (Â¥)','JPY','JPY',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (388,51,'Name Only','1','CRM_Event_Badge_Simple',NULL,0,0,1,'Simple Event Name Badge',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (389,51,'Name Tent','2','CRM_Event_Badge_NameTent',NULL,0,0,2,'Name Tent',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (390,51,'With Logo','3','CRM_Event_Badge_Logo',NULL,0,0,3,'You can set your own background image',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (391,51,'5395 with Logo','4','CRM_Event_Badge_Logo5395',NULL,0,0,4,'Avery 5395 compatible labels with logo (4 up by 2, 59.2mm x 85.7mm)',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (392,52,'None','0','None',NULL,0,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (393,52,'Author Only','1','Author Only',NULL,0,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (394,53,'Direct Mail','1','Direct Mail',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (395,53,'Referral Program','2','Referral Program',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (396,53,'Constituent Engagement','3','Constituent Engagement',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (397,54,'Planned','1','Planned',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (398,54,'In Progress','2','In Progress',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (399,54,'Completed','3','Completed',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (400,54,'Cancelled','4','Cancelled',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (401,57,'1','1','1',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (402,57,'2','2','2',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (403,57,'3','3','3',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (404,57,'4','4','4',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (405,57,'5','5','5',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (406,59,'Letter','{\"metric\":\"in\",\"width\":8.5,\"height\":11}','letter',NULL,NULL,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (407,59,'Legal','{\"metric\":\"in\",\"width\":8.5,\"height\":14}','legal',NULL,NULL,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (408,59,'Ledger','{\"metric\":\"in\",\"width\":17,\"height\":11}','ledger',NULL,NULL,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (409,59,'Tabloid','{\"metric\":\"in\",\"width\":11,\"height\":17}','tabloid',NULL,NULL,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (410,59,'Executive','{\"metric\":\"in\",\"width\":7.25,\"height\":10.5}','executive',NULL,NULL,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (411,59,'Folio','{\"metric\":\"in\",\"width\":8.5,\"height\":13}','folio',NULL,NULL,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (412,59,'Envelope #9','{\"metric\":\"pt\",\"width\":638.93,\"height\":278.93}','envelope-9',NULL,NULL,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (413,59,'Envelope #10','{\"metric\":\"pt\",\"width\":684,\"height\":297}','envelope-10',NULL,NULL,0,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (414,59,'Envelope #11','{\"metric\":\"pt\",\"width\":747,\"height\":324}','envelope-11',NULL,NULL,0,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (415,59,'Envelope #12','{\"metric\":\"pt\",\"width\":792,\"height\":342}','envelope-12',NULL,NULL,0,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (416,59,'Envelope #14','{\"metric\":\"pt\",\"width\":828,\"height\":360}','envelope-14',NULL,NULL,0,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (417,59,'Envelope ISO B4','{\"metric\":\"pt\",\"width\":1000.63,\"height\":708.66}','envelope-b4',NULL,NULL,0,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (418,59,'Envelope ISO B5','{\"metric\":\"pt\",\"width\":708.66,\"height\":498.9}','envelope-b5',NULL,NULL,0,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (419,59,'Envelope ISO B6','{\"metric\":\"pt\",\"width\":498.9,\"height\":354.33}','envelope-b6',NULL,NULL,0,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (420,59,'Envelope ISO C3','{\"metric\":\"pt\",\"width\":1298.27,\"height\":918.42}','envelope-c3',NULL,NULL,0,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (421,59,'Envelope ISO C4','{\"metric\":\"pt\",\"width\":918.42,\"height\":649.13}','envelope-c4',NULL,NULL,0,16,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (422,59,'Envelope ISO C5','{\"metric\":\"pt\",\"width\":649.13,\"height\":459.21}','envelope-c5',NULL,NULL,0,17,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (423,59,'Envelope ISO C6','{\"metric\":\"pt\",\"width\":459.21,\"height\":323.15}','envelope-c6',NULL,NULL,0,18,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (424,59,'Envelope ISO DL','{\"metric\":\"pt\",\"width\":623.622,\"height\":311.811}','envelope-dl',NULL,NULL,0,19,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (425,59,'ISO A0','{\"metric\":\"pt\",\"width\":2383.94,\"height\":3370.39}','a0',NULL,NULL,0,20,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (426,59,'ISO A1','{\"metric\":\"pt\",\"width\":1683.78,\"height\":2383.94}','a1',NULL,NULL,0,21,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (427,59,'ISO A2','{\"metric\":\"pt\",\"width\":1190.55,\"height\":1683.78}','a2',NULL,NULL,0,22,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (428,59,'ISO A3','{\"metric\":\"pt\",\"width\":841.89,\"height\":1190.55}','a3',NULL,NULL,0,23,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (429,59,'ISO A4','{\"metric\":\"pt\",\"width\":595.28,\"height\":841.89}','a4',NULL,NULL,0,24,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (430,59,'ISO A5','{\"metric\":\"pt\",\"width\":419.53,\"height\":595.28}','a5',NULL,NULL,0,25,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (431,59,'ISO A6','{\"metric\":\"pt\",\"width\":297.64,\"height\":419.53}','a6',NULL,NULL,0,26,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (432,59,'ISO A7','{\"metric\":\"pt\",\"width\":209.76,\"height\":297.64}','a7',NULL,NULL,0,27,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (433,59,'ISO A8','{\"metric\":\"pt\",\"width\":147.4,\"height\":209.76}','a8',NULL,NULL,0,28,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (434,59,'ISO A9','{\"metric\":\"pt\",\"width\":104.88,\"height\":147.4}','a9',NULL,NULL,0,29,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (435,59,'ISO A10','{\"metric\":\"pt\",\"width\":73.7,\"height\":104.88}','a10',NULL,NULL,0,30,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (436,59,'ISO B0','{\"metric\":\"pt\",\"width\":2834.65,\"height\":4008.19}','b0',NULL,NULL,0,31,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (437,59,'ISO B1','{\"metric\":\"pt\",\"width\":2004.09,\"height\":2834.65}','b1',NULL,NULL,0,32,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (438,59,'ISO B2','{\"metric\":\"pt\",\"width\":1417.32,\"height\":2004.09}','b2',NULL,NULL,0,33,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (439,59,'ISO B3','{\"metric\":\"pt\",\"width\":1000.63,\"height\":1417.32}','b3',NULL,NULL,0,34,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (440,59,'ISO B4','{\"metric\":\"pt\",\"width\":708.66,\"height\":1000.63}','b4',NULL,NULL,0,35,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (441,59,'ISO B5','{\"metric\":\"pt\",\"width\":498.9,\"height\":708.66}','b5',NULL,NULL,0,36,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (442,59,'ISO B6','{\"metric\":\"pt\",\"width\":354.33,\"height\":498.9}','b6',NULL,NULL,0,37,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (443,59,'ISO B7','{\"metric\":\"pt\",\"width\":249.45,\"height\":354.33}','b7',NULL,NULL,0,38,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (444,59,'ISO B8','{\"metric\":\"pt\",\"width\":175.75,\"height\":249.45}','b8',NULL,NULL,0,39,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (445,59,'ISO B9','{\"metric\":\"pt\",\"width\":124.72,\"height\":175.75}','b9',NULL,NULL,0,40,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (446,59,'ISO B10','{\"metric\":\"pt\",\"width\":87.87,\"height\":124.72}','b10',NULL,NULL,0,41,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (447,59,'ISO C0','{\"metric\":\"pt\",\"width\":2599.37,\"height\":3676.54}','c0',NULL,NULL,0,42,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (448,59,'ISO C1','{\"metric\":\"pt\",\"width\":1836.85,\"height\":2599.37}','c1',NULL,NULL,0,43,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (449,59,'ISO C2','{\"metric\":\"pt\",\"width\":1298.27,\"height\":1836.85}','c2',NULL,NULL,0,44,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (450,59,'ISO C3','{\"metric\":\"pt\",\"width\":918.43,\"height\":1298.27}','c3',NULL,NULL,0,45,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (451,59,'ISO C4','{\"metric\":\"pt\",\"width\":649.13,\"height\":918.43}','c4',NULL,NULL,0,46,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (452,59,'ISO C5','{\"metric\":\"pt\",\"width\":459.21,\"height\":649.13}','c5',NULL,NULL,0,47,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (453,59,'ISO C6','{\"metric\":\"pt\",\"width\":323.15,\"height\":459.21}','c6',NULL,NULL,0,48,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (454,59,'ISO C7','{\"metric\":\"pt\",\"width\":229.61,\"height\":323.15}','c7',NULL,NULL,0,49,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (455,59,'ISO C8','{\"metric\":\"pt\",\"width\":161.57,\"height\":229.61}','c8',NULL,NULL,0,50,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (456,59,'ISO C9','{\"metric\":\"pt\",\"width\":113.39,\"height\":161.57}','c9',NULL,NULL,0,51,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (457,59,'ISO C10','{\"metric\":\"pt\",\"width\":79.37,\"height\":113.39}','c10',NULL,NULL,0,52,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (458,59,'ISO RA0','{\"metric\":\"pt\",\"width\":2437.8,\"height\":3458.27}','ra0',NULL,NULL,0,53,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (459,59,'ISO RA1','{\"metric\":\"pt\",\"width\":1729.13,\"height\":2437.8}','ra1',NULL,NULL,0,54,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (460,59,'ISO RA2','{\"metric\":\"pt\",\"width\":1218.9,\"height\":1729.13}','ra2',NULL,NULL,0,55,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (461,59,'ISO RA3','{\"metric\":\"pt\",\"width\":864.57,\"height\":1218.9}','ra3',NULL,NULL,0,56,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (462,59,'ISO RA4','{\"metric\":\"pt\",\"width\":609.45,\"height\":864.57}','ra4',NULL,NULL,0,57,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (463,59,'ISO SRA0','{\"metric\":\"pt\",\"width\":2551.18,\"height\":3628.35}','sra0',NULL,NULL,0,58,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (464,59,'ISO SRA1','{\"metric\":\"pt\",\"width\":1814.17,\"height\":2551.18}','sra1',NULL,NULL,0,59,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (465,59,'ISO SRA2','{\"metric\":\"pt\",\"width\":1275.59,\"height\":1814.17}','sra2',NULL,NULL,0,60,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (466,59,'ISO SRA3','{\"metric\":\"pt\",\"width\":907.09,\"height\":1275.59}','sra3',NULL,NULL,0,61,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (467,59,'ISO SRA4','{\"metric\":\"pt\",\"width\":637.8,\"height\":907.09}','sra4',NULL,NULL,0,62,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (468,62,'Activity Assignees','1','Activity Assignees',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (469,62,'Activity Source','2','Activity Source',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (470,62,'Activity Targets','3','Activity Targets',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (471,72,'Asset','1','Asset',NULL,0,0,1,'Things you own',0,1,1,2,NULL,NULL,NULL,NULL),
- (472,72,'Liability','2','Liability',NULL,0,0,2,'Things you owe, like a grant still to be disbursed',0,1,1,2,NULL,NULL,NULL,NULL),
- (473,72,'Revenue','3','Revenue',NULL,0,1,3,'Income from contributions and sales of tickets and memberships',0,1,1,2,NULL,NULL,NULL,NULL),
- (474,72,'Cost of Sales','4','Cost of Sales',NULL,0,0,4,'Costs incurred to get revenue, e.g. premiums for donations, dinner for a fundraising dinner ticket',0,1,1,2,NULL,NULL,NULL,NULL),
- (475,72,'Expenses','5','Expenses',NULL,0,0,5,'Things that are paid for that are consumable, e.g. grants disbursed',0,1,1,2,NULL,NULL,NULL,NULL),
- (476,63,'Income Account is','1','Income Account is',NULL,0,1,1,'Income Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (477,63,'Credit/Contra Revenue Account is','2','Credit/Contra Revenue Account is',NULL,0,0,2,'Credit/Contra Revenue Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (478,63,'Accounts Receivable Account is','3','Accounts Receivable Account is',NULL,0,0,3,'Accounts Receivable Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (479,63,'Credit Liability Account is','4','Credit Liability Account is',NULL,0,0,4,'Credit Liability Account is',0,1,0,2,NULL,NULL,NULL,NULL),
- (480,63,'Expense Account is','5','Expense Account is',NULL,0,0,5,'Expense Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (481,63,'Asset Account is','6','Asset Account is',NULL,0,0,6,'Asset Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (482,63,'Cost of Sales Account is','7','Cost of Sales Account is',NULL,0,0,7,'Cost of Sales Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (483,63,'Premiums Inventory Account is','8','Premiums Inventory Account is',NULL,0,0,8,'Premiums Inventory Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (484,63,'Discounts Account is','9','Discounts Account is',NULL,0,0,9,'Discounts Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (485,63,'Sales Tax Account is','10','Sales Tax Account is',NULL,0,0,10,'Sales Tax Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (486,63,'Chargeback Account is','11','Chargeback Account is',NULL,0,0,11,'Chargeback Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (487,63,'Deferred Revenue Account is','12','Deferred Revenue Account is',NULL,0,0,12,'Deferred Revenue Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (488,64,'Participant Role','1','participant_role',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (489,65,'Morning Sessions','1','Morning Sessions',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (490,65,'Evening Sessions','2','Evening Sessions',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (491,66,'Contribution','1','Contribution',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (492,66,'Membership','2','Membership',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (493,66,'Pledge Payment','3','Pledge Payment',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (494,68,'Open','1','Open',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (495,68,'Closed','2','Closed',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (496,68,'Data Entry','3','Data Entry',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (497,68,'Reopened','4','Reopened',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (498,68,'Exported','5','Exported',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (499,67,'Manual Batch','1','Manual Batch',NULL,0,0,1,'Manual Batch',0,1,1,2,NULL,NULL,NULL,NULL),
- (500,67,'Automatic Batch','2','Automatic Batch',NULL,0,0,2,'Automatic Batch',0,1,1,2,NULL,NULL,NULL,NULL),
- (501,73,'Paid','1','Paid',NULL,0,0,1,'Paid',0,1,1,2,NULL,NULL,NULL,NULL),
- (502,73,'Partially paid','2','Partially paid',NULL,0,0,2,'Partially paid',0,1,1,2,NULL,NULL,NULL,NULL),
- (503,73,'Unpaid','3','Unpaid',NULL,0,0,1,'Unpaid',0,1,1,2,NULL,NULL,NULL,NULL),
- (504,69,'http','1','http',NULL,NULL,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (505,69,'xml','2','xml',NULL,NULL,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (506,69,'smtp','3','smtp',NULL,NULL,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (507,71,'Renewal Reminder (non-auto-renew memberships only)','1','Renewal Reminder (non-auto-renew memberships only)',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (508,71,'Auto-renew Memberships Only','2','Auto-renew Memberships Only',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (509,71,'Reminder for Both','3','Reminder for Both',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (510,74,'Event Badge','1','Event Badge',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (511,75,'Avery 5395','{\"name\":\"Avery 5395\",\"paper-size\":\"a4\",\"metric\":\"mm\",\"lMargin\":15,\"tMargin\":26,\"NX\":2,\"NY\":4,\"SpaceX\":10,\"SpaceY\":5,\"width\":83,\"height\":57,\"font-size\":12,\"orientation\":\"portrait\",\"font-name\":\"helvetica\",\"font-style\":\"\",\"lPadding\":3,\"tPadding\":3}','Avery 5395',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (512,75,'A6 Badge Portrait 150x106','{\"paper-size\":\"a4\",\"orientation\":\"landscape\",\"font-name\":\"times\",\"font-size\":6,\"font-style\":\"\",\"NX\":2,\"NY\":1,\"metric\":\"mm\",\"lMargin\":25,\"tMargin\":27,\"SpaceX\":0,\"SpaceY\":35,\"width\":106,\"height\":150,\"lPadding\":5,\"tPadding\":5}','A6 Badge Portrait 150x106',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (513,75,'Fattorini Name Badge 100x65','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"times\",\"font-size\":6,\"font-style\":\"\",\"NX\":2,\"NY\":4,\"metric\":\"mm\",\"lMargin\":6,\"tMargin\":19,\"SpaceX\":0,\"SpaceY\":0,\"width\":100,\"height\":65,\"lPadding\":0,\"tPadding\":0}','Fattorini Name Badge 100x65',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (514,75,'Hanging Badge 3-3/4\" x 4-3\"/4','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"times\",\"font-size\":6,\"font-style\":\"\",\"NX\":2,\"NY\":2,\"metric\":\"mm\",\"lMargin\":10,\"tMargin\":28,\"SpaceX\":0,\"SpaceY\":0,\"width\":96,\"height\":121,\"lPadding\":5,\"tPadding\":5}','Hanging Badge 3-3/4\" x 4-3\"/4',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (515,61,'Avery 3475','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":10,\"font-style\":\"\",\"metric\":\"mm\",\"lMargin\":0,\"tMargin\":5,\"NX\":3,\"NY\":8,\"SpaceX\":0,\"SpaceY\":0,\"width\":70,\"height\":36,\"lPadding\":5.08,\"tPadding\":5.08}','3475','Avery',NULL,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (516,61,'Avery 5160','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.21975,\"tMargin\":0.5,\"NX\":3,\"NY\":10,\"SpaceX\":0.14,\"SpaceY\":0,\"width\":2.5935,\"height\":1,\"lPadding\":0.20,\"tPadding\":0.20}','5160','Avery',NULL,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (517,61,'Avery 5161','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.175,\"tMargin\":0.5,\"NX\":2,\"NY\":10,\"SpaceX\":0.15625,\"SpaceY\":0,\"width\":4,\"height\":1,\"lPadding\":0.20,\"tPadding\":0.20}','5161','Avery',NULL,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (518,61,'Avery 5162','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.1525,\"tMargin\":0.88,\"NX\":2,\"NY\":7,\"SpaceX\":0.195,\"SpaceY\":0,\"width\":4,\"height\":1.33,\"lPadding\":0.20,\"tPadding\":0.20}','5162','Avery',NULL,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (519,61,'Avery 5163','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.18,\"tMargin\":0.5,\"NX\":2,\"NY\":5,\"SpaceX\":0.14,\"SpaceY\":0,\"width\":4,\"height\":2,\"lPadding\":0.20,\"tPadding\":0.20}','5163','Avery',NULL,0,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (520,61,'Avery 5164','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":12,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.156,\"tMargin\":0.5,\"NX\":2,\"NY\":3,\"SpaceX\":0.1875,\"SpaceY\":0,\"width\":4,\"height\":3.33,\"lPadding\":0.20,\"tPadding\":0.20}','5164','Avery',NULL,0,6,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (521,61,'Avery 8600','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"mm\",\"lMargin\":7.1,\"tMargin\":19,\"NX\":3,\"NY\":10,\"SpaceX\":9.5,\"SpaceY\":3.1,\"width\":66.6,\"height\":25.4,\"lPadding\":5.08,\"tPadding\":5.08}','8600','Avery',NULL,0,7,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (522,61,'Avery L7160','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":9,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.28,\"tMargin\":0.6,\"NX\":3,\"NY\":7,\"SpaceX\":0.1,\"SpaceY\":0,\"width\":2.5,\"height\":1.5,\"lPadding\":0.20,\"tPadding\":0.20}','L7160','Avery',NULL,0,8,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (523,61,'Avery L7161','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":9,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.28,\"tMargin\":0.35,\"NX\":3,\"NY\":6,\"SpaceX\":0.1,\"SpaceY\":0,\"width\":2.5,\"height\":1.83,\"lPadding\":0.20,\"tPadding\":0.20}','L7161','Avery',NULL,0,9,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (524,61,'Avery L7162','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":9,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.18,\"tMargin\":0.51,\"NX\":2,\"NY\":8,\"SpaceX\":0.1,\"SpaceY\":0,\"width\":3.9,\"height\":1.33,\"lPadding\":0.20,\"tPadding\":0.20}','L7162','Avery',NULL,0,10,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (525,61,'Avery L7163','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":9,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.18,\"tMargin\":0.6,\"NX\":2,\"NY\":7,\"SpaceX\":0.1,\"SpaceY\":0,\"width\":3.9,\"height\":1.5,\"lPadding\":0.20,\"tPadding\":0.20}','L7163','Avery',NULL,0,11,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (526,76,'Formal','1','formal',NULL,0,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (527,76,'Familiar','2','familiar',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (528,77,'Email','Email','Email',NULL,0,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (529,77,'SMS','SMS','SMS',NULL,0,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (530,77,'User Preference','User_Preference','User Preference',NULL,0,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (531,78,'Actual date only','1','Actual date only',NULL,NULL,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (532,78,'Each anniversary','2','Each anniversary',NULL,NULL,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (533,79,'Default','1','default',NULL,NULL,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (534,79,'CiviMail','2','civimail',NULL,NULL,0,2,NULL,0,1,1,4,NULL,NULL,NULL,NULL),
- (535,79,'CiviEvent','3','civievent',NULL,NULL,0,3,NULL,0,1,1,1,NULL,NULL,NULL,NULL),
- (536,83,'Production','Production','Production',NULL,NULL,1,1,'Production Environment',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (537,83,'Staging','Staging','Staging',NULL,NULL,0,2,'Staging Environment',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (538,83,'Development','Development','Development',NULL,NULL,0,3,'Development Environment',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (539,80,'Today','this.day','this.day',NULL,NULL,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (540,80,'This week','this.week','this.week',NULL,NULL,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (541,80,'This calendar month','this.month','this.month',NULL,NULL,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (542,80,'This quarter','this.quarter','this.quarter',NULL,NULL,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (543,80,'This fiscal year','this.fiscal_year','this.fiscal_year',NULL,NULL,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (544,80,'This calendar year','this.year','this.year',NULL,NULL,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (545,80,'Yesterday','previous.day','previous.day',NULL,NULL,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (546,80,'Previous week','previous.week','previous.week',NULL,NULL,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (547,80,'Previous calendar month','previous.month','previous.month',NULL,NULL,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (548,80,'Previous quarter','previous.quarter','previous.quarter',NULL,NULL,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (549,80,'Previous fiscal year','previous.fiscal_year','previous.fiscal_year',NULL,NULL,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (550,80,'Previous calendar year','previous.year','previous.year',NULL,NULL,NULL,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (551,80,'Last 7 days including today','ending.week','ending.week',NULL,NULL,NULL,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (552,80,'Last 30 days including today','ending_30.day','ending.month',NULL,NULL,NULL,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (553,80,'Last 60 days including today','ending_60.day','ending_2.month',NULL,NULL,NULL,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (554,80,'Last 90 days including today','ending_90.day','ending.quarter',NULL,NULL,NULL,16,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (555,80,'Last 12 months including today','ending.year','ending.year',NULL,NULL,NULL,17,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (556,80,'Last 2 years including today','ending_2.year','ending_2.year',NULL,NULL,NULL,18,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (557,80,'Last 3 years including today','ending_3.year','ending_3.year',NULL,NULL,NULL,19,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (558,80,'Tomorrow','starting.day','starting.day',NULL,NULL,NULL,20,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (559,80,'Next week','next.week','next.week',NULL,NULL,NULL,21,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (560,80,'Next calendar month','next.month','next.month',NULL,NULL,NULL,22,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (561,80,'Next quarter','next.quarter','next.quarter',NULL,NULL,NULL,23,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (562,80,'Next fiscal year','next.fiscal_year','next.fiscal_year',NULL,NULL,NULL,24,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (563,80,'Next calendar year','next.year','next.year',NULL,NULL,NULL,25,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (564,80,'Next 7 days including today','starting.week','starting.week',NULL,NULL,NULL,26,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (565,80,'Next 30 days including today','starting.month','starting.month',NULL,NULL,NULL,27,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (566,80,'Next 60 days including today','starting_2.month','starting_2.month',NULL,NULL,NULL,28,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (567,80,'Next 90 days including today','starting.quarter','starting.quarter',NULL,NULL,NULL,29,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (568,80,'Next 12 months including today','starting.year','starting.year',NULL,NULL,NULL,30,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (569,80,'Current week to-date','current.week','current.week',NULL,NULL,NULL,31,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (570,80,'Current calendar month to-date','current.month','current.month',NULL,NULL,NULL,32,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (571,80,'Current quarter to-date','current.quarter','current.quarter',NULL,NULL,NULL,33,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (572,80,'Current calendar year to-date','current.year','current.year',NULL,NULL,NULL,34,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (573,80,'To end of yesterday','earlier.day','earlier.day',NULL,NULL,NULL,35,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (574,80,'To end of previous week','earlier.week','earlier.week',NULL,NULL,NULL,36,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (575,80,'To end of previous calendar month','earlier.month','earlier.month',NULL,NULL,NULL,37,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (576,80,'To end of previous quarter','earlier.quarter','earlier.quarter',NULL,NULL,NULL,38,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (577,80,'To end of previous calendar year','earlier.year','earlier.year',NULL,NULL,NULL,39,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (578,80,'From start of current day','greater.day','greater.day',NULL,NULL,NULL,40,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (579,80,'From start of current week','greater.week','greater.week',NULL,NULL,NULL,41,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (580,80,'From start of current calendar month','greater.month','greater.month',NULL,NULL,NULL,42,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (581,80,'From start of current quarter','greater.quarter','greater.quarter',NULL,NULL,NULL,43,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (582,80,'From start of current calendar year','greater.year','greater.year',NULL,NULL,NULL,44,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (583,80,'To end of current week','less.week','less.week',NULL,NULL,NULL,45,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (584,80,'To end of current calendar month','less.month','less.month',NULL,NULL,NULL,46,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (585,80,'To end of current quarter','less.quarter','less.quarter',NULL,NULL,NULL,47,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (586,80,'To end of current calendar year','less.year','less.year',NULL,NULL,NULL,48,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (587,80,'Previous 2 days','previous_2.day','previous_2.day',NULL,NULL,NULL,49,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (588,80,'Previous 2 weeks','previous_2.week','previous_2.week',NULL,NULL,NULL,50,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (589,80,'Previous 2 calendar months','previous_2.month','previous_2.month',NULL,NULL,NULL,51,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (590,80,'Previous 2 quarters','previous_2.quarter','previous_2.quarter',NULL,NULL,NULL,52,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (591,80,'Previous 2 calendar years','previous_2.year','previous_2.year',NULL,NULL,NULL,53,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (592,80,'Day prior to yesterday','previous_before.day','previous_before.day',NULL,NULL,NULL,54,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (593,80,'Week prior to previous week','previous_before.week','previous_before.week',NULL,NULL,NULL,55,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (594,80,'Month prior to previous calendar month','previous_before.month','previous_before.month',NULL,NULL,NULL,56,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (595,80,'Quarter prior to previous quarter','previous_before.quarter','previous_before.quarter',NULL,NULL,NULL,57,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (596,80,'Year prior to previous calendar year','previous_before.year','previous_before.year',NULL,NULL,NULL,58,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (597,80,'From end of previous week','greater_previous.week','greater_previous.week',NULL,NULL,NULL,59,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (598,80,'From end of previous calendar month','greater_previous.month','greater_previous.month',NULL,NULL,NULL,60,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (599,80,'From end of previous quarter','greater_previous.quarter','greater_previous.quarter',NULL,NULL,NULL,61,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (600,80,'From end of previous calendar year','greater_previous.year','greater_previous.year',NULL,NULL,NULL,62,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (601,81,'Completed','1','Completed',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (602,81,'Pending','2','Pending',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (603,81,'Cancelled','3','Cancelled',NULL,0,NULL,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (604,81,'In Progress','5','In Progress',NULL,0,NULL,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (605,81,'Overdue','6','Overdue',NULL,0,NULL,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (606,82,'Completed','1','Completed',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (607,82,'Pending','2','Pending',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (608,82,'Cancelled','3','Cancelled',NULL,0,NULL,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (609,82,'Failed','4','Failed',NULL,0,NULL,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (610,82,'In Progress','5','In Progress',NULL,0,NULL,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (611,82,'Overdue','6','Overdue',NULL,0,NULL,6,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (612,82,'Processing','7','Processing',NULL,0,NULL,7,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (613,82,'Failing','8','Failing',NULL,0,NULL,8,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (614,84,'None','1','NONE',NULL,0,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (615,84,'By relationship to case client','2','BY_RELATIONSHIP',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (616,84,'Specific contact','3','SPECIFIC_CONTACT',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (617,84,'User creating the case','4','USER_CREATING_THE_CASE',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (618,85,'Financial Transactions','civicrm_financial_trxn','civicrm_financial_trxn',NULL,0,1,1,NULL,0,0,1,2,NULL,NULL,NULL,NULL),
- (619,31,'\"FIXME\" <info@EXAMPLE.ORG>','1','\"FIXME\" <info@EXAMPLE.ORG>',NULL,0,1,1,'Default domain email address and from name.',0,0,1,NULL,1,NULL,NULL,NULL),
- (620,24,'Emergency','1','Emergency',NULL,0,1,1,NULL,0,0,1,NULL,1,NULL,NULL,NULL),
- (621,24,'Family Support','2','Family Support',NULL,0,NULL,2,NULL,0,0,1,NULL,1,NULL,NULL,NULL),
- (622,24,'General Protection','3','General Protection',NULL,0,NULL,3,NULL,0,0,1,NULL,1,NULL,NULL,NULL),
- (623,24,'Impunity','4','Impunity',NULL,0,NULL,4,NULL,0,0,1,NULL,1,NULL,NULL,NULL),
- (624,56,'Approved','1','Approved',NULL,0,1,1,NULL,0,1,1,4,1,NULL,NULL,NULL),
- (625,56,'Rejected','2','Rejected',NULL,0,0,2,NULL,0,1,1,4,1,NULL,NULL,NULL),
- (626,56,'None','3','None',NULL,0,0,3,NULL,0,1,1,4,1,NULL,NULL,NULL),
- (627,58,'Survey','Survey','civicrm_survey',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (628,58,'Cases','Case','civicrm_case',NULL,0,NULL,2,'CRM_Case_PseudoConstant::caseType;',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (629,86,'Abkhaz','ab','ab_GE',NULL,0,0,1,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (630,86,'Afar','aa','aa_ET',NULL,0,0,2,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (631,86,'Afrikaans','af','af_ZA',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (632,86,'Akan','ak','ak_GH',NULL,0,0,4,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (633,86,'Albanian','sq','sq_AL',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (634,86,'Amharic','am','am_ET',NULL,0,0,6,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (635,86,'Arabic','ar','ar_EG',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (636,86,'Aragonese','an','an_ES',NULL,0,0,8,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (637,86,'Armenian','hy','hy_AM',NULL,0,0,9,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (638,86,'Assamese','as','as_IN',NULL,0,0,10,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (639,86,'Avaric','av','av_RU',NULL,0,0,11,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (640,86,'Avestan','ae','ae_XX',NULL,0,0,12,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (641,86,'Aymara','ay','ay_BO',NULL,0,0,13,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (642,86,'Azerbaijani','az','az_AZ',NULL,0,0,14,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (643,86,'Bambara','bm','bm_ML',NULL,0,0,15,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (644,86,'Bashkir','ba','ba_RU',NULL,0,0,16,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (645,86,'Basque','eu','eu_ES',NULL,0,0,17,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (646,86,'Belarusian','be','be_BY',NULL,0,0,18,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (647,86,'Bengali','bn','bn_BD',NULL,0,0,19,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (648,86,'Bihari','bh','bh_IN',NULL,0,0,20,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (649,86,'Bislama','bi','bi_VU',NULL,0,0,21,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (650,86,'Bosnian','bs','bs_BA',NULL,0,0,22,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (651,86,'Breton','br','br_FR',NULL,0,0,23,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (652,86,'Bulgarian','bg','bg_BG',NULL,0,0,24,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (653,86,'Burmese','my','my_MM',NULL,0,0,25,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (654,86,'Catalan; Valencian','ca','ca_ES',NULL,0,0,26,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (655,86,'Chamorro','ch','ch_GU',NULL,0,0,27,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (656,86,'Chechen','ce','ce_RU',NULL,0,0,28,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (657,86,'Chichewa; Chewa; Nyanja','ny','ny_MW',NULL,0,0,29,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (658,86,'Chinese (China)','zh','zh_CN',NULL,0,0,30,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (659,86,'Chinese (Taiwan)','zh','zh_TW',NULL,0,0,31,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (660,86,'Chuvash','cv','cv_RU',NULL,0,0,32,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (661,86,'Cornish','kw','kw_GB',NULL,0,0,33,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (662,86,'Corsican','co','co_FR',NULL,0,0,34,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (663,86,'Cree','cr','cr_CA',NULL,0,0,35,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (664,86,'Croatian','hr','hr_HR',NULL,0,0,36,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (665,86,'Czech','cs','cs_CZ',NULL,0,0,37,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (666,86,'Danish','da','da_DK',NULL,0,0,38,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (667,86,'Divehi; Dhivehi; Maldivian;','dv','dv_MV',NULL,0,0,39,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (668,86,'Dutch (Netherlands)','nl','nl_NL',NULL,0,0,40,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (669,86,'Dutch (Belgium)','nl','nl_BE',NULL,0,0,41,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (670,86,'Dzongkha','dz','dz_BT',NULL,0,0,42,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (671,86,'English (Australia)','en','en_AU',NULL,0,0,43,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (672,86,'English (Canada)','en','en_CA',NULL,0,0,44,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (673,86,'English (United Kingdom)','en','en_GB',NULL,0,0,45,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (674,86,'English (United States)','en','en_US',NULL,0,1,46,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (675,86,'Esperanto','eo','eo_XX',NULL,0,0,47,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (676,86,'Estonian','et','et_EE',NULL,0,0,48,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (677,86,'Ewe','ee','ee_GH',NULL,0,0,49,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (678,86,'Faroese','fo','fo_FO',NULL,0,0,50,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (679,86,'Fijian','fj','fj_FJ',NULL,0,0,51,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (680,86,'Finnish','fi','fi_FI',NULL,0,0,52,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (681,86,'French (Canada)','fr','fr_CA',NULL,0,0,53,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (682,86,'French (France)','fr','fr_FR',NULL,0,0,54,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (683,86,'Fula; Fulah; Pulaar; Pular','ff','ff_SN',NULL,0,0,55,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (684,86,'Galician','gl','gl_ES',NULL,0,0,56,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (685,86,'Georgian','ka','ka_GE',NULL,0,0,57,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (686,86,'German','de','de_DE',NULL,0,0,58,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (687,86,'German (Swiss)','de','de_CH',NULL,0,0,59,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (688,86,'Greek, Modern','el','el_GR',NULL,0,0,60,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (689,86,'Guarani­','gn','gn_PY',NULL,0,0,61,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (690,86,'Gujarati','gu','gu_IN',NULL,0,0,62,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (691,86,'Haitian; Haitian Creole','ht','ht_HT',NULL,0,0,63,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (692,86,'Hausa','ha','ha_NG',NULL,0,0,64,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (693,86,'Hebrew (modern)','he','he_IL',NULL,0,0,65,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (694,86,'Herero','hz','hz_NA',NULL,0,0,66,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (695,86,'Hindi','hi','hi_IN',NULL,0,0,67,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (696,86,'Hiri Motu','ho','ho_PG',NULL,0,0,68,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (697,86,'Hungarian','hu','hu_HU',NULL,0,0,69,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (698,86,'Interlingua','ia','ia_XX',NULL,0,0,70,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (699,86,'Indonesian','id','id_ID',NULL,0,0,71,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (700,86,'Interlingue','ie','ie_XX',NULL,0,0,72,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (701,86,'Irish','ga','ga_IE',NULL,0,0,73,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (702,86,'Igbo','ig','ig_NG',NULL,0,0,74,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (703,86,'Inupiaq','ik','ik_US',NULL,0,0,75,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (704,86,'Ido','io','io_XX',NULL,0,0,76,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (705,86,'Icelandic','is','is_IS',NULL,0,0,77,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (706,86,'Italian','it','it_IT',NULL,0,0,78,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (707,86,'Inuktitut','iu','iu_CA',NULL,0,0,79,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (708,86,'Japanese','ja','ja_JP',NULL,0,0,80,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (709,86,'Javanese','jv','jv_ID',NULL,0,0,81,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (710,86,'Kalaallisut, Greenlandic','kl','kl_GL',NULL,0,0,82,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (711,86,'Kannada','kn','kn_IN',NULL,0,0,83,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (712,86,'Kanuri','kr','kr_NE',NULL,0,0,84,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (713,86,'Kashmiri','ks','ks_IN',NULL,0,0,85,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (714,86,'Kazakh','kk','kk_KZ',NULL,0,0,86,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (715,86,'Khmer','km','km_KH',NULL,0,0,87,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (716,86,'Kikuyu, Gikuyu','ki','ki_KE',NULL,0,0,88,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (717,86,'Kinyarwanda','rw','rw_RW',NULL,0,0,89,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (718,86,'Kirghiz, Kyrgyz','ky','ky_KG',NULL,0,0,90,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (719,86,'Komi','kv','kv_RU',NULL,0,0,91,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (720,86,'Kongo','kg','kg_CD',NULL,0,0,92,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (721,86,'Korean','ko','ko_KR',NULL,0,0,93,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (722,86,'Kurdish','ku','ku_IQ',NULL,0,0,94,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (723,86,'Kwanyama, Kuanyama','kj','kj_NA',NULL,0,0,95,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (724,86,'Latin','la','la_VA',NULL,0,0,96,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (725,86,'Luxembourgish, Letzeburgesch','lb','lb_LU',NULL,0,0,97,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (726,86,'Luganda','lg','lg_UG',NULL,0,0,98,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (727,86,'Limburgish, Limburgan, Limburger','li','li_NL',NULL,0,0,99,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (728,86,'Lingala','ln','ln_CD',NULL,0,0,100,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (729,86,'Lao','lo','lo_LA',NULL,0,0,101,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (730,86,'Lithuanian','lt','lt_LT',NULL,0,0,102,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (731,86,'Luba-Katanga','lu','lu_CD',NULL,0,0,103,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (732,86,'Latvian','lv','lv_LV',NULL,0,0,104,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (733,86,'Manx','gv','gv_IM',NULL,0,0,105,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (734,86,'Macedonian','mk','mk_MK',NULL,0,0,106,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (735,86,'Malagasy','mg','mg_MG',NULL,0,0,107,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (736,86,'Malay','ms','ms_MY',NULL,0,0,108,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (737,86,'Malayalam','ml','ml_IN',NULL,0,0,109,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (738,86,'Maltese','mt','mt_MT',NULL,0,0,110,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (739,86,'Māori','mi','mi_NZ',NULL,0,0,111,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (740,86,'Marathi','mr','mr_IN',NULL,0,0,112,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (741,86,'Marshallese','mh','mh_MH',NULL,0,0,113,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (742,86,'Mongolian','mn','mn_MN',NULL,0,0,114,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (743,86,'Nauru','na','na_NR',NULL,0,0,115,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (744,86,'Navajo, Navaho','nv','nv_US',NULL,0,0,116,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (745,86,'Norwegian Bokmål','nb','nb_NO',NULL,0,0,117,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (746,86,'North Ndebele','nd','nd_ZW',NULL,0,0,118,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (747,86,'Nepali','ne','ne_NP',NULL,0,0,119,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (748,86,'Ndonga','ng','ng_NA',NULL,0,0,120,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (749,86,'Norwegian Nynorsk','nn','nn_NO',NULL,0,0,121,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (750,86,'Norwegian','no','no_NO',NULL,0,0,122,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (751,86,'Nuosu','ii','ii_CN',NULL,0,0,123,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (752,86,'South Ndebele','nr','nr_ZA',NULL,0,0,124,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (753,86,'Occitan (after 1500)','oc','oc_FR',NULL,0,0,125,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (754,86,'Ojibwa','oj','oj_CA',NULL,0,0,126,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (755,86,'Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic','cu','cu_BG',NULL,0,0,127,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (756,86,'Oromo','om','om_ET',NULL,0,0,128,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (757,86,'Oriya','or','or_IN',NULL,0,0,129,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (758,86,'Ossetian, Ossetic','os','os_GE',NULL,0,0,130,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (759,86,'Panjabi, Punjabi','pa','pa_IN',NULL,0,0,131,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (760,86,'Pali','pi','pi_KH',NULL,0,0,132,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (761,86,'Persian (Iran)','fa','fa_IR',NULL,0,0,133,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (762,86,'Polish','pl','pl_PL',NULL,0,0,134,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (763,86,'Pashto, Pushto','ps','ps_AF',NULL,0,0,135,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (764,86,'Portuguese (Brazil)','pt','pt_BR',NULL,0,0,136,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (765,86,'Portuguese (Portugal)','pt','pt_PT',NULL,0,0,137,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (766,86,'Quechua','qu','qu_PE',NULL,0,0,138,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (767,86,'Romansh','rm','rm_CH',NULL,0,0,139,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (768,86,'Kirundi','rn','rn_BI',NULL,0,0,140,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (769,86,'Romanian, Moldavian, Moldovan','ro','ro_RO',NULL,0,0,141,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (770,86,'Russian','ru','ru_RU',NULL,0,0,142,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (771,86,'Sanskrit','sa','sa_IN',NULL,0,0,143,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (772,86,'Sardinian','sc','sc_IT',NULL,0,0,144,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (773,86,'Sindhi','sd','sd_IN',NULL,0,0,145,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (774,86,'Northern Sami','se','se_NO',NULL,0,0,146,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (775,86,'Samoan','sm','sm_WS',NULL,0,0,147,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (776,86,'Sango','sg','sg_CF',NULL,0,0,148,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (777,86,'Serbian','sr','sr_RS',NULL,0,0,149,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (778,86,'Scottish Gaelic; Gaelic','gd','gd_GB',NULL,0,0,150,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (779,86,'Shona','sn','sn_ZW',NULL,0,0,151,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (780,86,'Sinhala, Sinhalese','si','si_LK',NULL,0,0,152,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (781,86,'Slovak','sk','sk_SK',NULL,0,0,153,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (782,86,'Slovene','sl','sl_SI',NULL,0,0,154,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (783,86,'Somali','so','so_SO',NULL,0,0,155,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (784,86,'Southern Sotho','st','st_ZA',NULL,0,0,156,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (785,86,'Spanish; Castilian (Spain)','es','es_ES',NULL,0,0,157,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (786,86,'Spanish; Castilian (Mexico)','es','es_MX',NULL,0,0,158,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (787,86,'Spanish; Castilian (Puerto Rico)','es','es_PR',NULL,0,0,159,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (788,86,'Sundanese','su','su_ID',NULL,0,0,160,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (789,86,'Swahili','sw','sw_TZ',NULL,0,0,161,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (790,86,'Swati','ss','ss_ZA',NULL,0,0,162,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (791,86,'Swedish','sv','sv_SE',NULL,0,0,163,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (792,86,'Tamil','ta','ta_IN',NULL,0,0,164,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (793,86,'Telugu','te','te_IN',NULL,0,0,165,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (794,86,'Tajik','tg','tg_TJ',NULL,0,0,166,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (795,86,'Thai','th','th_TH',NULL,0,0,167,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (796,86,'Tigrinya','ti','ti_ET',NULL,0,0,168,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (797,86,'Tibetan Standard, Tibetan, Central','bo','bo_CN',NULL,0,0,169,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (798,86,'Turkmen','tk','tk_TM',NULL,0,0,170,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (799,86,'Tagalog','tl','tl_PH',NULL,0,0,171,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (800,86,'Tswana','tn','tn_ZA',NULL,0,0,172,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (801,86,'Tonga (Tonga Islands)','to','to_TO',NULL,0,0,173,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (802,86,'Turkish','tr','tr_TR',NULL,0,0,174,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (803,86,'Tsonga','ts','ts_ZA',NULL,0,0,175,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (804,86,'Tatar','tt','tt_RU',NULL,0,0,176,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (805,86,'Twi','tw','tw_GH',NULL,0,0,177,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (806,86,'Tahitian','ty','ty_PF',NULL,0,0,178,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (807,86,'Uighur, Uyghur','ug','ug_CN',NULL,0,0,179,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (808,86,'Ukrainian','uk','uk_UA',NULL,0,0,180,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (809,86,'Urdu','ur','ur_PK',NULL,0,0,181,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (810,86,'Uzbek','uz','uz_UZ',NULL,0,0,182,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (811,86,'Venda','ve','ve_ZA',NULL,0,0,183,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (812,86,'Vietnamese','vi','vi_VN',NULL,0,0,184,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (813,86,'Volapük','vo','vo_XX',NULL,0,0,185,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (814,86,'Walloon','wa','wa_BE',NULL,0,0,186,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (815,86,'Welsh','cy','cy_GB',NULL,0,0,187,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (816,86,'Wolof','wo','wo_SN',NULL,0,0,188,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (817,86,'Western Frisian','fy','fy_NL',NULL,0,0,189,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (818,86,'Xhosa','xh','xh_ZA',NULL,0,0,190,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (819,86,'Yiddish','yi','yi_US',NULL,0,0,191,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (820,86,'Yoruba','yo','yo_NG',NULL,0,0,192,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (821,86,'Zhuang, Chuang','za','za_CN',NULL,0,0,193,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (822,86,'Zulu','zu','zu_ZA',NULL,0,0,194,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (823,87,'In Person','1','in_person',NULL,0,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (824,87,'Phone','2','phone',NULL,0,1,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (825,87,'Email','3','email',NULL,0,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (826,87,'Fax','4','fax',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (827,87,'Letter Mail','5','letter_mail',NULL,0,0,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (828,88,'Cases - Send Copy of an Activity','1','case_activity',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (829,89,'Contributions - Duplicate Organization Alert','1','contribution_dupalert',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (830,89,'Contributions - Receipt (off-line)','2','contribution_offline_receipt',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (831,89,'Contributions - Receipt (on-line)','3','contribution_online_receipt',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (832,89,'Contributions - Invoice','4','contribution_invoice_receipt',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (833,89,'Contributions - Recurring Start and End Notification','5','contribution_recurring_notify',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (834,89,'Contributions - Recurring Cancellation Notification','6','contribution_recurring_cancelled',NULL,0,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (835,89,'Contributions - Recurring Billing Updates','7','contribution_recurring_billing',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (836,89,'Contributions - Recurring Updates','8','contribution_recurring_edit',NULL,0,0,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (837,89,'Personal Campaign Pages - Admin Notification','9','pcp_notify',NULL,0,0,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (838,89,'Personal Campaign Pages - Supporter Status Change Notification','10','pcp_status_change',NULL,0,0,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (839,89,'Personal Campaign Pages - Supporter Welcome','11','pcp_supporter_notify',NULL,0,0,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (840,89,'Personal Campaign Pages - Owner Notification','12','pcp_owner_notify',NULL,0,0,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (841,89,'Additional Payment Receipt or Refund Notification','13','payment_or_refund_notification',NULL,0,0,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (842,90,'Events - Registration Confirmation and Receipt (off-line)','1','event_offline_receipt',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (843,90,'Events - Registration Confirmation and Receipt (on-line)','2','event_online_receipt',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (844,90,'Events - Receipt only','3','event_registration_receipt',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (845,90,'Events - Registration Cancellation Notice','4','participant_cancelled',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (846,90,'Events - Registration Confirmation Invite','5','participant_confirm',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (847,90,'Events - Pending Registration Expiration Notice','6','participant_expired',NULL,0,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (848,90,'Events - Registration Transferred Notice','7','participant_transferred',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (849,91,'Tell-a-Friend Email','1','friend',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (850,92,'Memberships - Signup and Renewal Receipts (off-line)','1','membership_offline_receipt',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (851,92,'Memberships - Receipt (on-line)','2','membership_online_receipt',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (852,92,'Memberships - Auto-renew Cancellation Notification','3','membership_autorenew_cancelled',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (853,92,'Memberships - Auto-renew Billing Updates','4','membership_autorenew_billing',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (854,93,'Test-drive - Receipt Header','1','test_preview',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (855,94,'Pledges - Acknowledgement','1','pledge_acknowledge',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (856,94,'Pledges - Payment Reminder','2','pledge_reminder',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (857,95,'Profiles - Admin Notification','1','uf_notify',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (858,96,'Petition - signature added','1','petition_sign',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (859,96,'Petition - need verification','2','petition_confirmation_needed',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (860,97,'In Honor of','1','in_honor_of',NULL,0,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (861,97,'In Memory of','2','in_memory_of',NULL,0,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (862,97,'Solicited','3','solicited',NULL,0,1,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (863,97,'Household','4','household',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (864,97,'Workplace Giving','5','workplace',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (865,97,'Foundation Affiliate','6','foundation_affiliate',NULL,0,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (866,97,'3rd-party Service','7','3rd-party_service',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (867,97,'Donor-advised Fund','8','donor-advised_fund',NULL,0,0,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (868,97,'Matched Gift','9','matched_gift',NULL,0,0,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (869,97,'Personal Campaign Page','10','pcp',NULL,0,0,10,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (870,97,'Gift','11','gift',NULL,0,0,11,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (871,2,'Interview','55','Interview',NULL,0,NULL,55,'Conduct a phone or in person interview.',0,0,1,NULL,NULL,NULL,'fa-comment-o',NULL),
- (872,8,'Advisory Board','3','Advisory Board',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL);
+ (132,16,'Pledges','13','CiviPledge',NULL,0,NULL,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (133,16,'Mailings','14','CiviMail',NULL,0,NULL,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (134,17,'Show Smart Groups on Demand','1','showondemand',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (135,17,'Always Show Smart Groups','2','alwaysshow',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (136,17,'Hide Smart Groups','3','hide',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (137,18,'Custom Data','1','CustomData',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (138,18,'Address','2','Address',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (139,18,'Communication Preferences','3','CommunicationPreferences',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (140,18,'Notes','4','Notes',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (141,18,'Demographics','5','Demographics',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (142,18,'Tags and Groups','6','TagsAndGroups',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (143,18,'Email','7','Email',NULL,1,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (144,18,'Phone','8','Phone',NULL,1,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (145,18,'Instant Messenger','9','IM',NULL,1,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (146,18,'Open ID','10','OpenID',NULL,1,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (147,18,'Website','11','Website',NULL,1,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (148,18,'Prefix','12','Prefix',NULL,2,NULL,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (149,18,'Formal Title','13','Formal Title',NULL,2,NULL,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (150,18,'First Name','14','First Name',NULL,2,NULL,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (151,18,'Middle Name','15','Middle Name',NULL,2,NULL,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (152,18,'Last Name','16','Last Name',NULL,2,NULL,16,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (153,18,'Suffix','17','Suffix',NULL,2,NULL,17,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (154,19,'Address Fields','1','location',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (155,19,'Custom Fields','2','custom',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (156,19,'Activities','3','activity',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (157,19,'Relationships','4','relationship',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (158,19,'Notes','5','notes',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (159,19,'Change Log','6','changeLog',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (160,19,'Contributions','7','CiviContribute',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (161,19,'Memberships','8','CiviMember',NULL,0,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (162,19,'Events','9','CiviEvent',NULL,0,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (163,19,'Cases','10','CiviCase',NULL,0,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (164,19,'Demographics','13','demographics',NULL,0,NULL,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (165,19,'Pledges','15','CiviPledge',NULL,0,NULL,17,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (166,19,'Contact Type','16','contactType',NULL,0,NULL,18,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (167,19,'Groups','17','groups',NULL,0,NULL,19,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (168,19,'Tags','18','tags',NULL,0,NULL,20,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (169,19,'Mailing','19','CiviMail',NULL,0,NULL,21,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (170,20,'Groups','1','Groups',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (171,20,'Contributions','2','CiviContribute',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (172,20,'Memberships','3','CiviMember',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (173,20,'Events','4','CiviEvent',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (174,20,'My Contacts / Organizations','5','Permissioned Orgs',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (175,20,'Pledges','7','CiviPledge',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (176,20,'Personal Campaign Pages','8','PCP',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (177,20,'Assigned Activities','9','Assigned Activities',NULL,0,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (178,20,'Invoices / Credit Notes','10','Invoices / Credit Notes',NULL,0,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (179,43,'Email Address','2','email',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (180,43,'Phone','3','phone',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (181,43,'Street Address','4','street_address',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (182,43,'City','5','city',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (183,43,'State/Province','6','state_province',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (184,43,'Country','7','country',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (185,43,'Postal Code','8','postal_code',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (186,44,'Email Address','2','email',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (187,44,'Phone','3','phone',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (188,44,'Street Address','4','street_address',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (189,44,'City','5','city',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (190,44,'State/Province','6','state_province',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (191,44,'Country','7','country',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (192,44,'Postal Code','8','postal_code',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (193,21,'Street Address','1','street_address',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (194,21,'Supplemental Address 1','2','supplemental_address_1',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (195,21,'Supplemental Address 2','3','supplemental_address_2',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (196,21,'Supplemental Address 3','4','supplemental_address_3',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (197,21,'City','5','city',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (198,21,'Postal Code','6','postal_code',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (199,21,'Postal Code Suffix','7','postal_code_suffix',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (200,21,'County','8','county',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (201,21,'State/Province','9','state_province',NULL,0,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (202,21,'Country','10','country',NULL,0,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (203,21,'Latitude','11','geo_code_1',NULL,0,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (204,21,'Longitude','12','geo_code_2',NULL,0,NULL,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (205,21,'Address Name','13','address_name',NULL,0,NULL,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (206,21,'Street Address Parsing','14','street_address_parsing',NULL,0,NULL,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (207,22,'Access Control','1','Access Control',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (208,22,'Mailing List','2','Mailing List',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (209,23,'CRM_Contact_Form_Search_Custom_Sample','1','CRM_Contact_Form_Search_Custom_Sample',NULL,0,NULL,1,'Household Name and State',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (210,23,'CRM_Contact_Form_Search_Custom_ContributionAggregate','2','CRM_Contact_Form_Search_Custom_ContributionAggregate',NULL,0,NULL,2,'Contribution Aggregate',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (211,23,'CRM_Contact_Form_Search_Custom_Group','4','CRM_Contact_Form_Search_Custom_Group',NULL,0,NULL,4,'Include / Exclude Search',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (212,23,'CRM_Contact_Form_Search_Custom_PostalMailing','5','CRM_Contact_Form_Search_Custom_PostalMailing',NULL,0,NULL,5,'Postal Mailing',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (213,23,'CRM_Contact_Form_Search_Custom_Proximity','6','CRM_Contact_Form_Search_Custom_Proximity',NULL,0,NULL,6,'Proximity Search',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (214,23,'CRM_Contact_Form_Search_Custom_EventAggregate','7','CRM_Contact_Form_Search_Custom_EventAggregate',NULL,0,NULL,7,'Event Aggregate',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (215,23,'CRM_Contact_Form_Search_Custom_ActivitySearch','8','CRM_Contact_Form_Search_Custom_ActivitySearch',NULL,0,NULL,8,'Activity Search',0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (216,23,'CRM_Contact_Form_Search_Custom_PriceSet','9','CRM_Contact_Form_Search_Custom_PriceSet',NULL,0,NULL,9,'Price Set Details for Event Participants',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (217,23,'CRM_Contact_Form_Search_Custom_ZipCodeRange','10','CRM_Contact_Form_Search_Custom_ZipCodeRange',NULL,0,NULL,10,'Zip Code Range',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (218,23,'CRM_Contact_Form_Search_Custom_DateAdded','11','CRM_Contact_Form_Search_Custom_DateAdded',NULL,0,NULL,11,'Date Added to CiviCRM',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (219,23,'CRM_Contact_Form_Search_Custom_MultipleValues','12','CRM_Contact_Form_Search_Custom_MultipleValues',NULL,0,NULL,12,'Custom Group Multiple Values Listing',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (220,23,'CRM_Contact_Form_Search_Custom_ContribSYBNT','13','CRM_Contact_Form_Search_Custom_ContribSYBNT',NULL,0,NULL,13,'Contributions made in Year X and not Year Y',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (221,23,'CRM_Contact_Form_Search_Custom_TagContributions','14','CRM_Contact_Form_Search_Custom_TagContributions',NULL,0,NULL,14,'Find Contribution Amounts by Tag',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (222,23,'CRM_Contact_Form_Search_Custom_FullText','15','CRM_Contact_Form_Search_Custom_FullText',NULL,0,NULL,15,'Full-text Search',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (223,39,'Constituent Report (Summary)','contact/summary','CRM_Report_Form_Contact_Summary',NULL,0,NULL,1,'Provides a list of address and telephone information for constituent records in your system.',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (224,39,'Constituent Report (Detail)','contact/detail','CRM_Report_Form_Contact_Detail',NULL,0,NULL,2,'Provides contact-related information on contributions, memberships, events and activities.',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (225,39,'Activity Details Report','activity','CRM_Report_Form_Activity',NULL,0,NULL,3,'Provides a list of constituent activity including activity statistics for one/all contacts during a given date range(required)',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (226,39,'Walk / Phone List Report','walklist','CRM_Report_Form_Walklist_Walklist',NULL,0,NULL,4,'Provides a detailed report for your walk/phonelist for targeted contacts',0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (227,39,'Current Employer Report','contact/currentEmployer','CRM_Report_Form_Contact_CurrentEmployer',NULL,0,NULL,5,'Provides detail list of employer employee relationships along with employment details Ex Join Date',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (228,39,'Contribution Summary Report','contribute/summary','CRM_Report_Form_Contribute_Summary',NULL,0,NULL,6,'Groups and totals contributions by criteria including contact, time period, financial type, contributor location, etc.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (229,39,'Contribution Detail Report','contribute/detail','CRM_Report_Form_Contribute_Detail',NULL,0,NULL,7,'Lists specific contributions by criteria including contact, time period, financial type, contributor location, etc. Contribution summary report points to this report for contribution details.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (230,39,'Repeat Contributions Report','contribute/repeat','CRM_Report_Form_Contribute_Repeat',NULL,0,NULL,8,'Given two date ranges, shows contacts who contributed in both the date ranges with the amount contributed in each and the percentage increase / decrease.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (231,39,'Contributions by Organization Report','contribute/organizationSummary','CRM_Report_Form_Contribute_OrganizationSummary',NULL,0,NULL,9,'Displays a detailed list of contributions grouped by organization, which includes contributions made by employees for the organisation.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (232,39,'Contributions by Household Report','contribute/householdSummary','CRM_Report_Form_Contribute_HouseholdSummary',NULL,0,NULL,10,'Displays a detailed list of contributions grouped by household which includes contributions made by members of the household.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (233,39,'Top Donors Report','contribute/topDonor','CRM_Report_Form_Contribute_TopDonor',NULL,0,NULL,11,'Provides a list of the top donors during a time period you define. You can include as many donors as you want (for example, top 100 of your donors).',0,0,1,2,NULL,NULL,NULL,NULL),
+ (234,39,'SYBUNT Report','contribute/sybunt','CRM_Report_Form_Contribute_Sybunt',NULL,0,NULL,12,'SYBUNT means some year(s) but not this year. Provides a list of constituents who donated at some time in the history of your organization but did not donate during the time period you specify.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (235,39,'LYBUNT Report','contribute/lybunt','CRM_Report_Form_Contribute_Lybunt',NULL,0,NULL,13,'LYBUNT means last year but not this year. Provides a list of constituents who donated last year but did not donate during the time period you specify as the current year.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (236,39,'Soft Credit Report','contribute/softcredit','CRM_Report_Form_Contribute_SoftCredit',NULL,0,NULL,14,'Shows contributions made by contacts that have been soft-credited to other contacts.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (237,39,'Membership Report (Summary)','member/summary','CRM_Report_Form_Member_Summary',NULL,0,NULL,15,'Provides a summary of memberships by type and join date.',0,0,1,3,NULL,NULL,NULL,NULL),
+ (238,39,'Membership Report (Detail)','member/detail','CRM_Report_Form_Member_Detail',NULL,0,NULL,16,'Provides a list of members along with their membership status and membership details (Join Date, Start Date, End Date). Can also display contributions (payments) associated with each membership.',0,0,1,3,NULL,NULL,NULL,NULL),
+ (239,39,'Membership Report (Lapsed)','member/lapse','CRM_Report_Form_Member_Lapse',NULL,0,NULL,17,'Provides a list of memberships that lapsed or will lapse before the date you specify.',0,0,1,3,NULL,NULL,NULL,NULL),
+ (240,39,'Event Participant Report (List)','event/participantListing','CRM_Report_Form_Event_ParticipantListing',NULL,0,NULL,18,'Provides lists of participants for an event.',0,0,1,1,NULL,NULL,NULL,NULL),
+ (241,39,'Event Income Report (Summary)','event/summary','CRM_Report_Form_Event_Summary',NULL,0,NULL,19,'Provides an overview of event income. You can include key information such as event ID, registration, attendance, and income generated to help you determine the success of an event.',0,0,1,1,NULL,NULL,NULL,NULL),
+ (242,39,'Event Income Report (Detail)','event/income','CRM_Report_Form_Event_Income',NULL,0,NULL,20,'Helps you to analyze the income generated by an event. The report can include details by participant type, status and payment method.',0,0,1,1,NULL,NULL,NULL,NULL),
+ (243,39,'Pledge Detail Report','pledge/detail','CRM_Report_Form_Pledge_Detail',NULL,0,NULL,21,'List of pledges including amount pledged, pledge status, next payment date, balance due, total amount paid etc.',0,0,1,6,NULL,NULL,NULL,NULL),
+ (244,39,'Pledged but not Paid Report','pledge/pbnp','CRM_Report_Form_Pledge_Pbnp',NULL,0,NULL,22,'Pledged but not Paid Report',0,0,1,6,NULL,NULL,NULL,NULL),
+ (245,39,'Relationship Report','contact/relationship','CRM_Report_Form_Contact_Relationship',NULL,0,NULL,23,'Relationship Report',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (246,39,'Case Summary Report','case/summary','CRM_Report_Form_Case_Summary',NULL,0,NULL,24,'Provides a summary of cases and their duration by date range, status, staff member and / or case role.',0,0,1,7,NULL,NULL,NULL,NULL),
+ (247,39,'Case Time Spent Report','case/timespent','CRM_Report_Form_Case_TimeSpent',NULL,0,NULL,25,'Aggregates time spent on case and / or non-case activities by activity type and contact.',0,0,1,7,NULL,NULL,NULL,NULL),
+ (248,39,'Contact Demographics Report','case/demographics','CRM_Report_Form_Case_Demographics',NULL,0,NULL,26,'Demographic breakdown for case clients (and or non-case contacts) in your database. Includes custom contact fields.',0,0,1,7,NULL,NULL,NULL,NULL),
+ (249,39,'Database Log Report','contact/log','CRM_Report_Form_Contact_Log',NULL,0,NULL,27,'Log of contact and activity records created or updated in a given date range.',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (250,39,'Activity Summary Report','activitySummary','CRM_Report_Form_ActivitySummary',NULL,0,NULL,28,'Shows activity statistics by type / date',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (251,39,'Bookkeeping Transactions Report','contribute/bookkeeping','CRM_Report_Form_Contribute_Bookkeeping',NULL,0,0,29,'Shows Bookkeeping Transactions Report',0,0,1,2,NULL,NULL,NULL,NULL),
+ (252,39,'Participant list Count Report','event/participantlist','CRM_Report_Form_Event_ParticipantListCount',NULL,0,0,31,'Shows the Participant list with Participant Count.',0,0,1,1,NULL,NULL,NULL,NULL),
+ (253,39,'Income Count Summary Report','event/incomesummary','CRM_Report_Form_Event_IncomeCountSummary',NULL,0,0,32,'Shows the Income Summary of events with Count.',0,0,1,1,NULL,NULL,NULL,NULL),
+ (254,39,'Case Detail Report','case/detail','CRM_Report_Form_Case_Detail',NULL,0,0,33,'Case Details',0,0,1,7,NULL,NULL,NULL,NULL),
+ (255,39,'Mail Bounce Report','Mailing/bounce','CRM_Report_Form_Mailing_Bounce',NULL,0,NULL,34,'Bounce Report for mailings',0,0,1,4,NULL,NULL,NULL,NULL),
+ (256,39,'Mail Summary Report','Mailing/summary','CRM_Report_Form_Mailing_Summary',NULL,0,NULL,35,'Summary statistics for mailings',0,0,1,4,NULL,NULL,NULL,NULL),
+ (257,39,'Mail Opened Report','Mailing/opened','CRM_Report_Form_Mailing_Opened',NULL,0,NULL,36,'Display contacts who opened emails from a mailing',0,0,1,4,NULL,NULL,NULL,NULL),
+ (258,39,'Mail Click-Through Report','Mailing/clicks','CRM_Report_Form_Mailing_Clicks',NULL,0,NULL,37,'Display clicks from each mailing',0,0,1,4,NULL,NULL,NULL,NULL),
+ (259,39,'Contact Logging Report (Summary)','logging/contact/summary','CRM_Report_Form_Contact_LoggingSummary',NULL,0,NULL,38,'Contact modification report for the logging infrastructure (summary).',0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (260,39,'Contact Logging Report (Detail)','logging/contact/detail','CRM_Report_Form_Contact_LoggingDetail',NULL,0,NULL,39,'Contact modification report for the logging infrastructure (detail).',0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (261,39,'Survey Report (Detail)','survey/detail','CRM_Report_Form_Campaign_SurveyDetails',NULL,0,NULL,43,'Detailed report for canvassing, phone-banking, walk lists or other surveys.',0,0,1,9,NULL,NULL,NULL,NULL),
+ (262,39,'Personal Campaign Page Report','contribute/pcp','CRM_Report_Form_Contribute_PCP',NULL,0,NULL,44,'Summarizes amount raised and number of contributors for each Personal Campaign Page.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (263,39,'Pledge Summary Report','pledge/summary','CRM_Report_Form_Pledge_Summary',NULL,0,NULL,45,'Groups and totals pledges by criteria including contact, time period, pledge status, location, etc.',0,0,1,6,NULL,NULL,NULL,NULL),
+ (264,39,'Contribution Aggregate by Relationship','contribute/history','CRM_Report_Form_Contribute_History',NULL,0,NULL,46,'List contact\'s donation history, grouped by year, along with contributions attributed to any of the contact\'s related contacts.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (265,39,'Mail Detail Report','mailing/detail','CRM_Report_Form_Mailing_Detail',NULL,0,NULL,47,'Provides reporting on Intended and Successful Deliveries, Unsubscribes and Opt-outs, Replies and Forwards.',0,0,1,4,NULL,NULL,NULL,NULL),
+ (266,39,'Contribution and Membership Details','member/contributionDetail','CRM_Report_Form_Member_ContributionDetail',NULL,0,NULL,48,'Contribution details for any type of contribution, plus associated membership information for contributions which are in payment for memberships.',0,0,1,3,NULL,NULL,NULL,NULL),
+ (267,39,'Recurring Contributions Report','contribute/recur','CRM_Report_Form_Contribute_Recur',NULL,0,NULL,49,'Provides information about the status of recurring contributions',0,0,1,2,NULL,NULL,NULL,NULL),
+ (268,39,'Recurring Contributions Summary','contribute/recursummary','CRM_Report_Form_Contribute_RecurSummary',NULL,0,NULL,49,'Provides simple summary for each payment instrument for which there are recurring contributions (e.g. Credit Card, Standing Order, Direct Debit, etc., NULL), showing within a given date range.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (269,39,'Deferred Revenue Details','contribute/deferredrevenue','CRM_Report_Form_Contribute_DeferredRevenue',NULL,0,NULL,50,'Deferred Revenue Details Report',0,0,1,2,NULL,NULL,NULL,NULL),
+ (270,24,'Scheduled','1','Scheduled',NULL,0,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (271,24,'Completed','2','Completed',NULL,1,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (272,24,'Cancelled','3','Cancelled',NULL,2,NULL,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (273,24,'Left Message','4','Left Message',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (274,24,'Unreachable','5','Unreachable',NULL,2,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (275,24,'Not Required','6','Not Required',NULL,2,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (276,24,'Available','7','Available',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (277,24,'No-show','8','No_show',NULL,2,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (278,26,'Ongoing','1','Open','Opened',0,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (279,26,'Resolved','2','Closed','Closed',0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (280,26,'Urgent','3','Urgent','Opened',0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (281,27,'Name Only','1','Name Only',NULL,0,0,1,'CRM_Event_Page_ParticipantListing_Name',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (282,27,'Name and Email','2','Name and Email',NULL,0,0,2,'CRM_Event_Page_ParticipantListing_NameAndEmail',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (283,27,'Name, Status and Register Date','3','Name, Status and Register Date',NULL,0,0,3,'CRM_Event_Page_ParticipantListing_NameStatusAndDate',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (284,28,'jpg','1','jpg',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (285,28,'jpeg','2','jpeg',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (286,28,'png','3','png',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (287,28,'gif','4','gif',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (288,28,'txt','5','txt',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (289,28,'pdf','6','pdf',NULL,0,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (290,28,'doc','7','doc',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (291,28,'xls','8','xls',NULL,0,0,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (292,28,'rtf','9','rtf',NULL,0,0,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (293,28,'csv','10','csv',NULL,0,0,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (294,28,'ppt','11','ppt',NULL,0,0,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (295,28,'docx','12','docx',NULL,0,0,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (296,28,'xlsx','13','xlsx',NULL,0,0,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (297,28,'odt','14','odt',NULL,0,0,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (298,28,'ics','15','ics',NULL,0,0,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (299,28,'pptx','16','pptx',NULL,0,0,16,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (300,31,'Textarea','1','Textarea',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (301,31,'CKEditor 4','2','CKEditor',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (302,30,'Search Builder','1','Search Builder',NULL,0,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (303,30,'Import Contact','2','Import Contact',NULL,0,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (304,30,'Import Activity','3','Import Activity',NULL,0,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (305,30,'Import Contribution','4','Import Contribution',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (306,30,'Import Membership','5','Import Membership',NULL,0,0,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (307,30,'Import Participant','6','Import Participant',NULL,0,0,6,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (308,30,'Export Contact','7','Export Contact',NULL,0,0,7,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (309,30,'Export Contribution','8','Export Contribution',NULL,0,0,8,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (310,30,'Export Membership','9','Export Membership',NULL,0,0,9,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (311,30,'Export Participant','10','Export Participant',NULL,0,0,10,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (312,30,'Export Pledge','11','Export Pledge',NULL,0,0,11,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (313,30,'Export Case','12','Export Case',NULL,0,0,12,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (314,30,'Export Activity','14','Export Activity',NULL,0,0,14,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (315,32,'day','day','day',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (316,32,'week','week','week',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (317,32,'month','month','month',NULL,0,NULL,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (318,32,'year','year','year',NULL,0,NULL,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (319,33,'Phone','1','Phone',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (320,33,'Mobile','2','Mobile',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (321,33,'Fax','3','Fax',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (322,33,'Pager','4','Pager',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (323,33,'Voicemail','5','Voicemail',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (324,34,'Participant Role','1','ParticipantRole',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (325,34,'Participant Event Name','2','ParticipantEventName',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (326,34,'Participant Event Type','3','ParticipantEventType',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (327,35,'Public','1','public',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (328,35,'Admin','2','admin',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (329,36,'IMAP','1','IMAP',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (330,36,'Maildir','2','Maildir',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (331,36,'POP3','3','POP3',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (332,36,'Localdir','4','Localdir',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (333,37,'Urgent','1','Urgent',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (334,37,'Normal','2','Normal',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (335,37,'Low','3','Low',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (336,38,'Vancouver','city_','city_',NULL,0,NULL,1,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (337,38,'/(19|20)(\\d{2})-(\\d{1,2})-(\\d{1,2})/','date_','date_',NULL,1,NULL,2,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (338,40,'Dear {contact.first_name}','1','Dear {contact.first_name}',NULL,1,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (339,40,'Dear {contact.prefix_id:label} {contact.first_name} {contact.last_name}','2','Dear {contact.prefix_id:label} {contact.first_name} {contact.last_name}',NULL,1,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (340,40,'Dear {contact.prefix_id:label} {contact.last_name}','3','Dear {contact.prefix_id:label} {contact.last_name}',NULL,1,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (341,40,'Customized','4','Customized',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (342,40,'Dear {contact.household_name}','5','Dear {contact.household_name}',NULL,2,1,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (343,41,'Dear {contact.first_name}','1','Dear {contact.first_name}',NULL,1,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (344,41,'Dear {contact.prefix_id:label} {contact.first_name} {contact.last_name}','2','Dear {contact.prefix_id:label} {contact.first_name} {contact.last_name}',NULL,1,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (345,41,'Dear {contact.prefix_id:label} {contact.last_name}','3','Dear {contact.prefix_id:label} {contact.last_name}',NULL,1,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (346,41,'Customized','4','Customized',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (347,41,'Dear {contact.household_name}','5','Dear {contact.household_name}',NULL,2,1,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (348,42,'{contact.prefix_id:label}{ }{contact.first_name}{ }{contact.middle_name}{ }{contact.last_name}{ }{contact.suffix_id:label}','1','{contact.prefix_id:label}{ }{contact.first_name}{ }{contact.middle_name}{ }{contact.last_name}{ }{contact.suffix_id:label}',NULL,1,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (349,42,'{contact.household_name}','2','{contact.household_name}',NULL,2,1,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (350,42,'{contact.organization_name}','3','{contact.organization_name}',NULL,3,1,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (351,42,'Customized','4','Customized',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (352,45,'Work','1','Work',NULL,0,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (353,45,'Main','2','Main',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (354,45,'Facebook','3','Facebook',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (355,45,'Instagram','5','Instagram',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (356,45,'LinkedIn','6','LinkedIn',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (357,45,'MySpace','7','MySpace',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (358,45,'Pinterest','8','Pinterest',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (359,45,'SnapChat','9','SnapChat',NULL,0,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (360,45,'Tumblr','10','Tumblr',NULL,0,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (361,45,'Twitter','11','Twitter',NULL,0,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (362,45,'Vine','12','Vine ',NULL,0,NULL,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (363,46,'Contacts','civicrm_contact','Contact',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (364,46,'Activities','civicrm_activity','Activity',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (365,46,'Cases','civicrm_case','Case',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (366,46,'Attachments','civicrm_file','File',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (367,47,'Contacts','civicrm_contact','Contact',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (368,47,'Relationships','civicrm_relationship','Relationship',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (369,47,'Participants','civicrm_participant','Participant',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (370,47,'Contributions','civicrm_contribution','Contribution',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (371,48,'USD ($)','USD','USD',NULL,0,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (372,48,'CAD ($)','CAD','CAD',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (373,48,'EUR (€)','EUR','EUR',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (374,48,'GBP (£)','GBP','GBP',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (375,48,'JPY (Â¥)','JPY','JPY',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (376,49,'Name Only','1','CRM_Event_Badge_Simple',NULL,0,0,1,'Simple Event Name Badge',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (377,49,'Name Tent','2','CRM_Event_Badge_NameTent',NULL,0,0,2,'Name Tent',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (378,49,'With Logo','3','CRM_Event_Badge_Logo',NULL,0,0,3,'You can set your own background image',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (379,49,'5395 with Logo','4','CRM_Event_Badge_Logo5395',NULL,0,0,4,'Avery 5395 compatible labels with logo (4 up by 2, 59.2mm x 85.7mm)',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (380,50,'None','0','None',NULL,0,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (381,50,'Author Only','1','Author Only',NULL,0,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (382,51,'Direct Mail','1','Direct Mail',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (383,51,'Referral Program','2','Referral Program',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (384,51,'Constituent Engagement','3','Constituent Engagement',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (385,52,'Planned','1','Planned',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (386,52,'In Progress','2','In Progress',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (387,52,'Completed','3','Completed',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (388,52,'Cancelled','4','Cancelled',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (389,55,'1','1','1',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (390,55,'2','2','2',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (391,55,'3','3','3',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (392,55,'4','4','4',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (393,55,'5','5','5',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (394,57,'Letter','{\"metric\":\"in\",\"width\":8.5,\"height\":11}','letter',NULL,NULL,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (395,57,'Legal','{\"metric\":\"in\",\"width\":8.5,\"height\":14}','legal',NULL,NULL,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (396,57,'Ledger','{\"metric\":\"in\",\"width\":17,\"height\":11}','ledger',NULL,NULL,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (397,57,'Tabloid','{\"metric\":\"in\",\"width\":11,\"height\":17}','tabloid',NULL,NULL,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (398,57,'Executive','{\"metric\":\"in\",\"width\":7.25,\"height\":10.5}','executive',NULL,NULL,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (399,57,'Folio','{\"metric\":\"in\",\"width\":8.5,\"height\":13}','folio',NULL,NULL,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (400,57,'Envelope #9','{\"metric\":\"pt\",\"width\":638.93,\"height\":278.93}','envelope-9',NULL,NULL,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (401,57,'Envelope #10','{\"metric\":\"pt\",\"width\":684,\"height\":297}','envelope-10',NULL,NULL,0,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (402,57,'Envelope #11','{\"metric\":\"pt\",\"width\":747,\"height\":324}','envelope-11',NULL,NULL,0,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (403,57,'Envelope #12','{\"metric\":\"pt\",\"width\":792,\"height\":342}','envelope-12',NULL,NULL,0,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (404,57,'Envelope #14','{\"metric\":\"pt\",\"width\":828,\"height\":360}','envelope-14',NULL,NULL,0,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (405,57,'Envelope ISO B4','{\"metric\":\"pt\",\"width\":1000.63,\"height\":708.66}','envelope-b4',NULL,NULL,0,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (406,57,'Envelope ISO B5','{\"metric\":\"pt\",\"width\":708.66,\"height\":498.9}','envelope-b5',NULL,NULL,0,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (407,57,'Envelope ISO B6','{\"metric\":\"pt\",\"width\":498.9,\"height\":354.33}','envelope-b6',NULL,NULL,0,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (408,57,'Envelope ISO C3','{\"metric\":\"pt\",\"width\":1298.27,\"height\":918.42}','envelope-c3',NULL,NULL,0,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (409,57,'Envelope ISO C4','{\"metric\":\"pt\",\"width\":918.42,\"height\":649.13}','envelope-c4',NULL,NULL,0,16,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (410,57,'Envelope ISO C5','{\"metric\":\"pt\",\"width\":649.13,\"height\":459.21}','envelope-c5',NULL,NULL,0,17,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (411,57,'Envelope ISO C6','{\"metric\":\"pt\",\"width\":459.21,\"height\":323.15}','envelope-c6',NULL,NULL,0,18,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (412,57,'Envelope ISO DL','{\"metric\":\"pt\",\"width\":623.622,\"height\":311.811}','envelope-dl',NULL,NULL,0,19,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (413,57,'ISO A0','{\"metric\":\"pt\",\"width\":2383.94,\"height\":3370.39}','a0',NULL,NULL,0,20,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (414,57,'ISO A1','{\"metric\":\"pt\",\"width\":1683.78,\"height\":2383.94}','a1',NULL,NULL,0,21,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (415,57,'ISO A2','{\"metric\":\"pt\",\"width\":1190.55,\"height\":1683.78}','a2',NULL,NULL,0,22,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (416,57,'ISO A3','{\"metric\":\"pt\",\"width\":841.89,\"height\":1190.55}','a3',NULL,NULL,0,23,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (417,57,'ISO A4','{\"metric\":\"pt\",\"width\":595.28,\"height\":841.89}','a4',NULL,NULL,0,24,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (418,57,'ISO A5','{\"metric\":\"pt\",\"width\":419.53,\"height\":595.28}','a5',NULL,NULL,0,25,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (419,57,'ISO A6','{\"metric\":\"pt\",\"width\":297.64,\"height\":419.53}','a6',NULL,NULL,0,26,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (420,57,'ISO A7','{\"metric\":\"pt\",\"width\":209.76,\"height\":297.64}','a7',NULL,NULL,0,27,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (421,57,'ISO A8','{\"metric\":\"pt\",\"width\":147.4,\"height\":209.76}','a8',NULL,NULL,0,28,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (422,57,'ISO A9','{\"metric\":\"pt\",\"width\":104.88,\"height\":147.4}','a9',NULL,NULL,0,29,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (423,57,'ISO A10','{\"metric\":\"pt\",\"width\":73.7,\"height\":104.88}','a10',NULL,NULL,0,30,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (424,57,'ISO B0','{\"metric\":\"pt\",\"width\":2834.65,\"height\":4008.19}','b0',NULL,NULL,0,31,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (425,57,'ISO B1','{\"metric\":\"pt\",\"width\":2004.09,\"height\":2834.65}','b1',NULL,NULL,0,32,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (426,57,'ISO B2','{\"metric\":\"pt\",\"width\":1417.32,\"height\":2004.09}','b2',NULL,NULL,0,33,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (427,57,'ISO B3','{\"metric\":\"pt\",\"width\":1000.63,\"height\":1417.32}','b3',NULL,NULL,0,34,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (428,57,'ISO B4','{\"metric\":\"pt\",\"width\":708.66,\"height\":1000.63}','b4',NULL,NULL,0,35,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (429,57,'ISO B5','{\"metric\":\"pt\",\"width\":498.9,\"height\":708.66}','b5',NULL,NULL,0,36,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (430,57,'ISO B6','{\"metric\":\"pt\",\"width\":354.33,\"height\":498.9}','b6',NULL,NULL,0,37,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (431,57,'ISO B7','{\"metric\":\"pt\",\"width\":249.45,\"height\":354.33}','b7',NULL,NULL,0,38,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (432,57,'ISO B8','{\"metric\":\"pt\",\"width\":175.75,\"height\":249.45}','b8',NULL,NULL,0,39,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (433,57,'ISO B9','{\"metric\":\"pt\",\"width\":124.72,\"height\":175.75}','b9',NULL,NULL,0,40,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (434,57,'ISO B10','{\"metric\":\"pt\",\"width\":87.87,\"height\":124.72}','b10',NULL,NULL,0,41,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (435,57,'ISO C0','{\"metric\":\"pt\",\"width\":2599.37,\"height\":3676.54}','c0',NULL,NULL,0,42,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (436,57,'ISO C1','{\"metric\":\"pt\",\"width\":1836.85,\"height\":2599.37}','c1',NULL,NULL,0,43,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (437,57,'ISO C2','{\"metric\":\"pt\",\"width\":1298.27,\"height\":1836.85}','c2',NULL,NULL,0,44,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (438,57,'ISO C3','{\"metric\":\"pt\",\"width\":918.43,\"height\":1298.27}','c3',NULL,NULL,0,45,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (439,57,'ISO C4','{\"metric\":\"pt\",\"width\":649.13,\"height\":918.43}','c4',NULL,NULL,0,46,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (440,57,'ISO C5','{\"metric\":\"pt\",\"width\":459.21,\"height\":649.13}','c5',NULL,NULL,0,47,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (441,57,'ISO C6','{\"metric\":\"pt\",\"width\":323.15,\"height\":459.21}','c6',NULL,NULL,0,48,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (442,57,'ISO C7','{\"metric\":\"pt\",\"width\":229.61,\"height\":323.15}','c7',NULL,NULL,0,49,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (443,57,'ISO C8','{\"metric\":\"pt\",\"width\":161.57,\"height\":229.61}','c8',NULL,NULL,0,50,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (444,57,'ISO C9','{\"metric\":\"pt\",\"width\":113.39,\"height\":161.57}','c9',NULL,NULL,0,51,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (445,57,'ISO C10','{\"metric\":\"pt\",\"width\":79.37,\"height\":113.39}','c10',NULL,NULL,0,52,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (446,57,'ISO RA0','{\"metric\":\"pt\",\"width\":2437.8,\"height\":3458.27}','ra0',NULL,NULL,0,53,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (447,57,'ISO RA1','{\"metric\":\"pt\",\"width\":1729.13,\"height\":2437.8}','ra1',NULL,NULL,0,54,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (448,57,'ISO RA2','{\"metric\":\"pt\",\"width\":1218.9,\"height\":1729.13}','ra2',NULL,NULL,0,55,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (449,57,'ISO RA3','{\"metric\":\"pt\",\"width\":864.57,\"height\":1218.9}','ra3',NULL,NULL,0,56,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (450,57,'ISO RA4','{\"metric\":\"pt\",\"width\":609.45,\"height\":864.57}','ra4',NULL,NULL,0,57,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (451,57,'ISO SRA0','{\"metric\":\"pt\",\"width\":2551.18,\"height\":3628.35}','sra0',NULL,NULL,0,58,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (452,57,'ISO SRA1','{\"metric\":\"pt\",\"width\":1814.17,\"height\":2551.18}','sra1',NULL,NULL,0,59,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (453,57,'ISO SRA2','{\"metric\":\"pt\",\"width\":1275.59,\"height\":1814.17}','sra2',NULL,NULL,0,60,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (454,57,'ISO SRA3','{\"metric\":\"pt\",\"width\":907.09,\"height\":1275.59}','sra3',NULL,NULL,0,61,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (455,57,'ISO SRA4','{\"metric\":\"pt\",\"width\":637.8,\"height\":907.09}','sra4',NULL,NULL,0,62,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (456,60,'Activity Assignees','1','Activity Assignees',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (457,60,'Activity Source','2','Activity Source',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (458,60,'Activity Targets','3','Activity Targets',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (459,70,'Asset','1','Asset',NULL,0,0,1,'Things you own',0,1,1,2,NULL,NULL,NULL,NULL),
+ (460,70,'Liability','2','Liability',NULL,0,0,2,'Things you owe, like a grant still to be disbursed',0,1,1,2,NULL,NULL,NULL,NULL),
+ (461,70,'Revenue','3','Revenue',NULL,0,1,3,'Income from contributions and sales of tickets and memberships',0,1,1,2,NULL,NULL,NULL,NULL),
+ (462,70,'Cost of Sales','4','Cost of Sales',NULL,0,0,4,'Costs incurred to get revenue, e.g. premiums for donations, dinner for a fundraising dinner ticket',0,1,1,2,NULL,NULL,NULL,NULL),
+ (463,70,'Expenses','5','Expenses',NULL,0,0,5,'Things that are paid for that are consumable, e.g. grants disbursed',0,1,1,2,NULL,NULL,NULL,NULL),
+ (464,61,'Income Account is','1','Income Account is',NULL,0,1,1,'Income Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (465,61,'Credit/Contra Revenue Account is','2','Credit/Contra Revenue Account is',NULL,0,0,2,'Credit/Contra Revenue Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (466,61,'Accounts Receivable Account is','3','Accounts Receivable Account is',NULL,0,0,3,'Accounts Receivable Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (467,61,'Credit Liability Account is','4','Credit Liability Account is',NULL,0,0,4,'Credit Liability Account is',0,1,0,2,NULL,NULL,NULL,NULL),
+ (468,61,'Expense Account is','5','Expense Account is',NULL,0,0,5,'Expense Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (469,61,'Asset Account is','6','Asset Account is',NULL,0,0,6,'Asset Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (470,61,'Cost of Sales Account is','7','Cost of Sales Account is',NULL,0,0,7,'Cost of Sales Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (471,61,'Premiums Inventory Account is','8','Premiums Inventory Account is',NULL,0,0,8,'Premiums Inventory Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (472,61,'Discounts Account is','9','Discounts Account is',NULL,0,0,9,'Discounts Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (473,61,'Sales Tax Account is','10','Sales Tax Account is',NULL,0,0,10,'Sales Tax Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (474,61,'Chargeback Account is','11','Chargeback Account is',NULL,0,0,11,'Chargeback Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (475,61,'Deferred Revenue Account is','12','Deferred Revenue Account is',NULL,0,0,12,'Deferred Revenue Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (476,62,'Participant Role','1','participant_role',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (477,63,'Morning Sessions','1','Morning Sessions',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (478,63,'Evening Sessions','2','Evening Sessions',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (479,64,'Contribution','1','Contribution',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (480,64,'Membership','2','Membership',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (481,64,'Pledge Payment','3','Pledge Payment',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (482,66,'Open','1','Open',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (483,66,'Closed','2','Closed',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (484,66,'Data Entry','3','Data Entry',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (485,66,'Reopened','4','Reopened',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (486,66,'Exported','5','Exported',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (487,65,'Manual Batch','1','Manual Batch',NULL,0,0,1,'Manual Batch',0,1,1,2,NULL,NULL,NULL,NULL),
+ (488,65,'Automatic Batch','2','Automatic Batch',NULL,0,0,2,'Automatic Batch',0,1,1,2,NULL,NULL,NULL,NULL),
+ (489,71,'Paid','1','Paid',NULL,0,0,1,'Paid',0,1,1,2,NULL,NULL,NULL,NULL),
+ (490,71,'Partially paid','2','Partially paid',NULL,0,0,2,'Partially paid',0,1,1,2,NULL,NULL,NULL,NULL),
+ (491,71,'Unpaid','3','Unpaid',NULL,0,0,1,'Unpaid',0,1,1,2,NULL,NULL,NULL,NULL),
+ (492,67,'http','1','http',NULL,NULL,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (493,67,'xml','2','xml',NULL,NULL,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (494,67,'smtp','3','smtp',NULL,NULL,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (495,69,'Renewal Reminder (non-auto-renew memberships only)','1','Renewal Reminder (non-auto-renew memberships only)',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (496,69,'Auto-renew Memberships Only','2','Auto-renew Memberships Only',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (497,69,'Reminder for Both','3','Reminder for Both',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (498,72,'Event Badge','1','Event Badge',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (499,73,'Avery 5395','{\"name\":\"Avery 5395\",\"paper-size\":\"a4\",\"metric\":\"mm\",\"lMargin\":15,\"tMargin\":26,\"NX\":2,\"NY\":4,\"SpaceX\":10,\"SpaceY\":5,\"width\":83,\"height\":57,\"font-size\":12,\"orientation\":\"portrait\",\"font-name\":\"helvetica\",\"font-style\":\"\",\"lPadding\":3,\"tPadding\":3}','Avery 5395',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (500,73,'A6 Badge Portrait 150x106','{\"paper-size\":\"a4\",\"orientation\":\"landscape\",\"font-name\":\"times\",\"font-size\":6,\"font-style\":\"\",\"NX\":2,\"NY\":1,\"metric\":\"mm\",\"lMargin\":25,\"tMargin\":27,\"SpaceX\":0,\"SpaceY\":35,\"width\":106,\"height\":150,\"lPadding\":5,\"tPadding\":5}','A6 Badge Portrait 150x106',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (501,73,'Fattorini Name Badge 100x65','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"times\",\"font-size\":6,\"font-style\":\"\",\"NX\":2,\"NY\":4,\"metric\":\"mm\",\"lMargin\":6,\"tMargin\":19,\"SpaceX\":0,\"SpaceY\":0,\"width\":100,\"height\":65,\"lPadding\":0,\"tPadding\":0}','Fattorini Name Badge 100x65',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (502,73,'Hanging Badge 3-3/4\" x 4-3\"/4','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"times\",\"font-size\":6,\"font-style\":\"\",\"NX\":2,\"NY\":2,\"metric\":\"mm\",\"lMargin\":10,\"tMargin\":28,\"SpaceX\":0,\"SpaceY\":0,\"width\":96,\"height\":121,\"lPadding\":5,\"tPadding\":5}','Hanging Badge 3-3/4\" x 4-3\"/4',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (503,59,'Avery 3475','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":10,\"font-style\":\"\",\"metric\":\"mm\",\"lMargin\":0,\"tMargin\":5,\"NX\":3,\"NY\":8,\"SpaceX\":0,\"SpaceY\":0,\"width\":70,\"height\":36,\"lPadding\":5.08,\"tPadding\":5.08}','3475','Avery',NULL,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (504,59,'Avery 5160','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.21975,\"tMargin\":0.5,\"NX\":3,\"NY\":10,\"SpaceX\":0.14,\"SpaceY\":0,\"width\":2.5935,\"height\":1,\"lPadding\":0.20,\"tPadding\":0.20}','5160','Avery',NULL,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (505,59,'Avery 5161','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.175,\"tMargin\":0.5,\"NX\":2,\"NY\":10,\"SpaceX\":0.15625,\"SpaceY\":0,\"width\":4,\"height\":1,\"lPadding\":0.20,\"tPadding\":0.20}','5161','Avery',NULL,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (506,59,'Avery 5162','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.1525,\"tMargin\":0.88,\"NX\":2,\"NY\":7,\"SpaceX\":0.195,\"SpaceY\":0,\"width\":4,\"height\":1.33,\"lPadding\":0.20,\"tPadding\":0.20}','5162','Avery',NULL,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (507,59,'Avery 5163','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.18,\"tMargin\":0.5,\"NX\":2,\"NY\":5,\"SpaceX\":0.14,\"SpaceY\":0,\"width\":4,\"height\":2,\"lPadding\":0.20,\"tPadding\":0.20}','5163','Avery',NULL,0,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (508,59,'Avery 5164','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":12,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.156,\"tMargin\":0.5,\"NX\":2,\"NY\":3,\"SpaceX\":0.1875,\"SpaceY\":0,\"width\":4,\"height\":3.33,\"lPadding\":0.20,\"tPadding\":0.20}','5164','Avery',NULL,0,6,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (509,59,'Avery 8600','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"mm\",\"lMargin\":7.1,\"tMargin\":19,\"NX\":3,\"NY\":10,\"SpaceX\":9.5,\"SpaceY\":3.1,\"width\":66.6,\"height\":25.4,\"lPadding\":5.08,\"tPadding\":5.08}','8600','Avery',NULL,0,7,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (510,59,'Avery L7160','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":9,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.28,\"tMargin\":0.6,\"NX\":3,\"NY\":7,\"SpaceX\":0.1,\"SpaceY\":0,\"width\":2.5,\"height\":1.5,\"lPadding\":0.20,\"tPadding\":0.20}','L7160','Avery',NULL,0,8,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (511,59,'Avery L7161','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":9,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.28,\"tMargin\":0.35,\"NX\":3,\"NY\":6,\"SpaceX\":0.1,\"SpaceY\":0,\"width\":2.5,\"height\":1.83,\"lPadding\":0.20,\"tPadding\":0.20}','L7161','Avery',NULL,0,9,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (512,59,'Avery L7162','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":9,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.18,\"tMargin\":0.51,\"NX\":2,\"NY\":8,\"SpaceX\":0.1,\"SpaceY\":0,\"width\":3.9,\"height\":1.33,\"lPadding\":0.20,\"tPadding\":0.20}','L7162','Avery',NULL,0,10,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (513,59,'Avery L7163','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":9,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.18,\"tMargin\":0.6,\"NX\":2,\"NY\":7,\"SpaceX\":0.1,\"SpaceY\":0,\"width\":3.9,\"height\":1.5,\"lPadding\":0.20,\"tPadding\":0.20}','L7163','Avery',NULL,0,11,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (514,74,'Formal','1','formal',NULL,0,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (515,74,'Familiar','2','familiar',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (516,75,'Email','Email','Email',NULL,0,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (517,75,'SMS','SMS','SMS',NULL,0,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (518,75,'User Preference','User_Preference','User Preference',NULL,0,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (519,76,'Actual date only','1','Actual date only',NULL,NULL,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (520,76,'Each anniversary','2','Each anniversary',NULL,NULL,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (521,77,'Default','1','default',NULL,NULL,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (522,77,'CiviMail','2','civimail',NULL,NULL,0,2,NULL,0,1,1,4,NULL,NULL,NULL,NULL),
+ (523,77,'CiviEvent','3','civievent',NULL,NULL,0,3,NULL,0,1,1,1,NULL,NULL,NULL,NULL),
+ (524,81,'Production','Production','Production',NULL,NULL,1,1,'Production Environment',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (525,81,'Staging','Staging','Staging',NULL,NULL,0,2,'Staging Environment',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (526,81,'Development','Development','Development',NULL,NULL,0,3,'Development Environment',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (527,78,'Today','this.day','this.day',NULL,NULL,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (528,78,'This week','this.week','this.week',NULL,NULL,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (529,78,'This calendar month','this.month','this.month',NULL,NULL,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (530,78,'This quarter','this.quarter','this.quarter',NULL,NULL,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (531,78,'This fiscal year','this.fiscal_year','this.fiscal_year',NULL,NULL,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (532,78,'This calendar year','this.year','this.year',NULL,NULL,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (533,78,'Yesterday','previous.day','previous.day',NULL,NULL,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (534,78,'Previous week','previous.week','previous.week',NULL,NULL,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (535,78,'Previous calendar month','previous.month','previous.month',NULL,NULL,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (536,78,'Previous quarter','previous.quarter','previous.quarter',NULL,NULL,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (537,78,'Previous fiscal year','previous.fiscal_year','previous.fiscal_year',NULL,NULL,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (538,78,'Previous calendar year','previous.year','previous.year',NULL,NULL,NULL,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (539,78,'Last 7 days including today','ending.week','ending.week',NULL,NULL,NULL,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (540,78,'Last 30 days including today','ending_30.day','ending.month',NULL,NULL,NULL,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (541,78,'Last 60 days including today','ending_60.day','ending_2.month',NULL,NULL,NULL,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (542,78,'Last 90 days including today','ending_90.day','ending.quarter',NULL,NULL,NULL,16,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (543,78,'Last 12 months including today','ending.year','ending.year',NULL,NULL,NULL,17,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (544,78,'Last 2 years including today','ending_2.year','ending_2.year',NULL,NULL,NULL,18,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (545,78,'Last 3 years including today','ending_3.year','ending_3.year',NULL,NULL,NULL,19,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (546,78,'Tomorrow','starting.day','starting.day',NULL,NULL,NULL,20,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (547,78,'Next week','next.week','next.week',NULL,NULL,NULL,21,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (548,78,'Next calendar month','next.month','next.month',NULL,NULL,NULL,22,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (549,78,'Next quarter','next.quarter','next.quarter',NULL,NULL,NULL,23,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (550,78,'Next fiscal year','next.fiscal_year','next.fiscal_year',NULL,NULL,NULL,24,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (551,78,'Next calendar year','next.year','next.year',NULL,NULL,NULL,25,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (552,78,'Next 7 days including today','starting.week','starting.week',NULL,NULL,NULL,26,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (553,78,'Next 30 days including today','starting.month','starting.month',NULL,NULL,NULL,27,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (554,78,'Next 60 days including today','starting_2.month','starting_2.month',NULL,NULL,NULL,28,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (555,78,'Next 90 days including today','starting.quarter','starting.quarter',NULL,NULL,NULL,29,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (556,78,'Next 12 months including today','starting.year','starting.year',NULL,NULL,NULL,30,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (557,78,'Current week to-date','current.week','current.week',NULL,NULL,NULL,31,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (558,78,'Current calendar month to-date','current.month','current.month',NULL,NULL,NULL,32,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (559,78,'Current quarter to-date','current.quarter','current.quarter',NULL,NULL,NULL,33,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (560,78,'Current calendar year to-date','current.year','current.year',NULL,NULL,NULL,34,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (561,78,'To end of yesterday','earlier.day','earlier.day',NULL,NULL,NULL,35,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (562,78,'To end of previous week','earlier.week','earlier.week',NULL,NULL,NULL,36,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (563,78,'To end of previous calendar month','earlier.month','earlier.month',NULL,NULL,NULL,37,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (564,78,'To end of previous quarter','earlier.quarter','earlier.quarter',NULL,NULL,NULL,38,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (565,78,'To end of previous calendar year','earlier.year','earlier.year',NULL,NULL,NULL,39,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (566,78,'From start of current day','greater.day','greater.day',NULL,NULL,NULL,40,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (567,78,'From start of current week','greater.week','greater.week',NULL,NULL,NULL,41,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (568,78,'From start of current calendar month','greater.month','greater.month',NULL,NULL,NULL,42,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (569,78,'From start of current quarter','greater.quarter','greater.quarter',NULL,NULL,NULL,43,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (570,78,'From start of current calendar year','greater.year','greater.year',NULL,NULL,NULL,44,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (571,78,'To end of current week','less.week','less.week',NULL,NULL,NULL,45,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (572,78,'To end of current calendar month','less.month','less.month',NULL,NULL,NULL,46,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (573,78,'To end of current quarter','less.quarter','less.quarter',NULL,NULL,NULL,47,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (574,78,'To end of current calendar year','less.year','less.year',NULL,NULL,NULL,48,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (575,78,'Previous 2 days','previous_2.day','previous_2.day',NULL,NULL,NULL,49,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (576,78,'Previous 2 weeks','previous_2.week','previous_2.week',NULL,NULL,NULL,50,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (577,78,'Previous 2 calendar months','previous_2.month','previous_2.month',NULL,NULL,NULL,51,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (578,78,'Previous 2 quarters','previous_2.quarter','previous_2.quarter',NULL,NULL,NULL,52,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (579,78,'Previous 2 calendar years','previous_2.year','previous_2.year',NULL,NULL,NULL,53,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (580,78,'Day prior to yesterday','previous_before.day','previous_before.day',NULL,NULL,NULL,54,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (581,78,'Week prior to previous week','previous_before.week','previous_before.week',NULL,NULL,NULL,55,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (582,78,'Month prior to previous calendar month','previous_before.month','previous_before.month',NULL,NULL,NULL,56,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (583,78,'Quarter prior to previous quarter','previous_before.quarter','previous_before.quarter',NULL,NULL,NULL,57,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (584,78,'Year prior to previous calendar year','previous_before.year','previous_before.year',NULL,NULL,NULL,58,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (585,78,'From end of previous week','greater_previous.week','greater_previous.week',NULL,NULL,NULL,59,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (586,78,'From end of previous calendar month','greater_previous.month','greater_previous.month',NULL,NULL,NULL,60,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (587,78,'From end of previous quarter','greater_previous.quarter','greater_previous.quarter',NULL,NULL,NULL,61,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (588,78,'From end of previous calendar year','greater_previous.year','greater_previous.year',NULL,NULL,NULL,62,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (589,79,'Completed','1','Completed',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (590,79,'Pending','2','Pending',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (591,79,'Cancelled','3','Cancelled',NULL,0,NULL,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (592,79,'In Progress','5','In Progress',NULL,0,NULL,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (593,79,'Overdue','6','Overdue',NULL,0,NULL,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (594,80,'Completed','1','Completed',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (595,80,'Pending','2','Pending',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (596,80,'Cancelled','3','Cancelled',NULL,0,NULL,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (597,80,'Failed','4','Failed',NULL,0,NULL,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (598,80,'In Progress','5','In Progress',NULL,0,NULL,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (599,80,'Overdue','6','Overdue',NULL,0,NULL,6,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (600,80,'Processing','7','Processing',NULL,0,NULL,7,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (601,80,'Failing','8','Failing',NULL,0,NULL,8,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (602,82,'None','1','NONE',NULL,0,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (603,82,'By relationship to case client','2','BY_RELATIONSHIP',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (604,82,'Specific contact','3','SPECIFIC_CONTACT',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (605,82,'User creating the case','4','USER_CREATING_THE_CASE',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (606,83,'Financial Transactions','civicrm_financial_trxn','civicrm_financial_trxn',NULL,0,1,1,NULL,0,0,1,2,NULL,NULL,NULL,NULL),
+ (607,29,'\"FIXME\" <info@EXAMPLE.ORG>','1','\"FIXME\" <info@EXAMPLE.ORG>',NULL,0,1,1,'Default domain email address and from name.',0,0,1,NULL,1,NULL,NULL,NULL),
+ (608,54,'Approved','1','Approved',NULL,0,1,1,NULL,0,1,1,4,1,NULL,NULL,NULL),
+ (609,54,'Rejected','2','Rejected',NULL,0,0,2,NULL,0,1,1,4,1,NULL,NULL,NULL),
+ (610,54,'None','3','None',NULL,0,0,3,NULL,0,1,1,4,1,NULL,NULL,NULL),
+ (611,56,'Survey','Survey','civicrm_survey',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (612,56,'Cases','Case','civicrm_case',NULL,0,NULL,2,'CRM_Case_PseudoConstant::caseType;',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (613,84,'Abkhaz','ab','ab_GE',NULL,0,0,1,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (614,84,'Afar','aa','aa_ET',NULL,0,0,2,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (615,84,'Afrikaans','af','af_ZA',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (616,84,'Akan','ak','ak_GH',NULL,0,0,4,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (617,84,'Albanian','sq','sq_AL',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (618,84,'Amharic','am','am_ET',NULL,0,0,6,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (619,84,'Arabic','ar','ar_EG',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (620,84,'Aragonese','an','an_ES',NULL,0,0,8,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (621,84,'Armenian','hy','hy_AM',NULL,0,0,9,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (622,84,'Assamese','as','as_IN',NULL,0,0,10,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (623,84,'Avaric','av','av_RU',NULL,0,0,11,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (624,84,'Avestan','ae','ae_XX',NULL,0,0,12,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (625,84,'Aymara','ay','ay_BO',NULL,0,0,13,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (626,84,'Azerbaijani','az','az_AZ',NULL,0,0,14,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (627,84,'Bambara','bm','bm_ML',NULL,0,0,15,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (628,84,'Bashkir','ba','ba_RU',NULL,0,0,16,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (629,84,'Basque','eu','eu_ES',NULL,0,0,17,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (630,84,'Belarusian','be','be_BY',NULL,0,0,18,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (631,84,'Bengali','bn','bn_BD',NULL,0,0,19,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (632,84,'Bihari','bh','bh_IN',NULL,0,0,20,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (633,84,'Bislama','bi','bi_VU',NULL,0,0,21,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (634,84,'Bosnian','bs','bs_BA',NULL,0,0,22,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (635,84,'Breton','br','br_FR',NULL,0,0,23,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (636,84,'Bulgarian','bg','bg_BG',NULL,0,0,24,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (637,84,'Burmese','my','my_MM',NULL,0,0,25,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (638,84,'Catalan; Valencian','ca','ca_ES',NULL,0,0,26,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (639,84,'Chamorro','ch','ch_GU',NULL,0,0,27,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (640,84,'Chechen','ce','ce_RU',NULL,0,0,28,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (641,84,'Chichewa; Chewa; Nyanja','ny','ny_MW',NULL,0,0,29,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (642,84,'Chinese (China)','zh','zh_CN',NULL,0,0,30,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (643,84,'Chinese (Taiwan)','zh','zh_TW',NULL,0,0,31,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (644,84,'Chuvash','cv','cv_RU',NULL,0,0,32,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (645,84,'Cornish','kw','kw_GB',NULL,0,0,33,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (646,84,'Corsican','co','co_FR',NULL,0,0,34,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (647,84,'Cree','cr','cr_CA',NULL,0,0,35,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (648,84,'Croatian','hr','hr_HR',NULL,0,0,36,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (649,84,'Czech','cs','cs_CZ',NULL,0,0,37,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (650,84,'Danish','da','da_DK',NULL,0,0,38,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (651,84,'Divehi; Dhivehi; Maldivian;','dv','dv_MV',NULL,0,0,39,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (652,84,'Dutch (Netherlands)','nl','nl_NL',NULL,0,0,40,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (653,84,'Dutch (Belgium)','nl','nl_BE',NULL,0,0,41,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (654,84,'Dzongkha','dz','dz_BT',NULL,0,0,42,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (655,84,'English (Australia)','en','en_AU',NULL,0,0,43,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (656,84,'English (Canada)','en','en_CA',NULL,0,0,44,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (657,84,'English (United Kingdom)','en','en_GB',NULL,0,0,45,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (658,84,'English (United States)','en','en_US',NULL,0,1,46,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (659,84,'Esperanto','eo','eo_XX',NULL,0,0,47,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (660,84,'Estonian','et','et_EE',NULL,0,0,48,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (661,84,'Ewe','ee','ee_GH',NULL,0,0,49,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (662,84,'Faroese','fo','fo_FO',NULL,0,0,50,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (663,84,'Fijian','fj','fj_FJ',NULL,0,0,51,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (664,84,'Finnish','fi','fi_FI',NULL,0,0,52,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (665,84,'French (Canada)','fr','fr_CA',NULL,0,0,53,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (666,84,'French (France)','fr','fr_FR',NULL,0,0,54,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (667,84,'Fula; Fulah; Pulaar; Pular','ff','ff_SN',NULL,0,0,55,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (668,84,'Galician','gl','gl_ES',NULL,0,0,56,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (669,84,'Georgian','ka','ka_GE',NULL,0,0,57,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (670,84,'German','de','de_DE',NULL,0,0,58,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (671,84,'German (Swiss)','de','de_CH',NULL,0,0,59,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (672,84,'Greek, Modern','el','el_GR',NULL,0,0,60,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (673,84,'Guarani­','gn','gn_PY',NULL,0,0,61,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (674,84,'Gujarati','gu','gu_IN',NULL,0,0,62,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (675,84,'Haitian; Haitian Creole','ht','ht_HT',NULL,0,0,63,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (676,84,'Hausa','ha','ha_NG',NULL,0,0,64,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (677,84,'Hebrew (modern)','he','he_IL',NULL,0,0,65,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (678,84,'Herero','hz','hz_NA',NULL,0,0,66,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (679,84,'Hindi','hi','hi_IN',NULL,0,0,67,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (680,84,'Hiri Motu','ho','ho_PG',NULL,0,0,68,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (681,84,'Hungarian','hu','hu_HU',NULL,0,0,69,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (682,84,'Interlingua','ia','ia_XX',NULL,0,0,70,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (683,84,'Indonesian','id','id_ID',NULL,0,0,71,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (684,84,'Interlingue','ie','ie_XX',NULL,0,0,72,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (685,84,'Irish','ga','ga_IE',NULL,0,0,73,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (686,84,'Igbo','ig','ig_NG',NULL,0,0,74,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (687,84,'Inupiaq','ik','ik_US',NULL,0,0,75,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (688,84,'Ido','io','io_XX',NULL,0,0,76,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (689,84,'Icelandic','is','is_IS',NULL,0,0,77,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (690,84,'Italian','it','it_IT',NULL,0,0,78,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (691,84,'Inuktitut','iu','iu_CA',NULL,0,0,79,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (692,84,'Japanese','ja','ja_JP',NULL,0,0,80,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (693,84,'Javanese','jv','jv_ID',NULL,0,0,81,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (694,84,'Kalaallisut, Greenlandic','kl','kl_GL',NULL,0,0,82,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (695,84,'Kannada','kn','kn_IN',NULL,0,0,83,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (696,84,'Kanuri','kr','kr_NE',NULL,0,0,84,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (697,84,'Kashmiri','ks','ks_IN',NULL,0,0,85,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (698,84,'Kazakh','kk','kk_KZ',NULL,0,0,86,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (699,84,'Khmer','km','km_KH',NULL,0,0,87,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (700,84,'Kikuyu, Gikuyu','ki','ki_KE',NULL,0,0,88,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (701,84,'Kinyarwanda','rw','rw_RW',NULL,0,0,89,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (702,84,'Kirghiz, Kyrgyz','ky','ky_KG',NULL,0,0,90,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (703,84,'Komi','kv','kv_RU',NULL,0,0,91,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (704,84,'Kongo','kg','kg_CD',NULL,0,0,92,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (705,84,'Korean','ko','ko_KR',NULL,0,0,93,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (706,84,'Kurdish','ku','ku_IQ',NULL,0,0,94,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (707,84,'Kwanyama, Kuanyama','kj','kj_NA',NULL,0,0,95,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (708,84,'Latin','la','la_VA',NULL,0,0,96,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (709,84,'Luxembourgish, Letzeburgesch','lb','lb_LU',NULL,0,0,97,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (710,84,'Luganda','lg','lg_UG',NULL,0,0,98,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (711,84,'Limburgish, Limburgan, Limburger','li','li_NL',NULL,0,0,99,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (712,84,'Lingala','ln','ln_CD',NULL,0,0,100,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (713,84,'Lao','lo','lo_LA',NULL,0,0,101,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (714,84,'Lithuanian','lt','lt_LT',NULL,0,0,102,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (715,84,'Luba-Katanga','lu','lu_CD',NULL,0,0,103,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (716,84,'Latvian','lv','lv_LV',NULL,0,0,104,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (717,84,'Manx','gv','gv_IM',NULL,0,0,105,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (718,84,'Macedonian','mk','mk_MK',NULL,0,0,106,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (719,84,'Malagasy','mg','mg_MG',NULL,0,0,107,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (720,84,'Malay','ms','ms_MY',NULL,0,0,108,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (721,84,'Malayalam','ml','ml_IN',NULL,0,0,109,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (722,84,'Maltese','mt','mt_MT',NULL,0,0,110,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (723,84,'Māori','mi','mi_NZ',NULL,0,0,111,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (724,84,'Marathi','mr','mr_IN',NULL,0,0,112,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (725,84,'Marshallese','mh','mh_MH',NULL,0,0,113,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (726,84,'Mongolian','mn','mn_MN',NULL,0,0,114,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (727,84,'Nauru','na','na_NR',NULL,0,0,115,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (728,84,'Navajo, Navaho','nv','nv_US',NULL,0,0,116,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (729,84,'Norwegian Bokmål','nb','nb_NO',NULL,0,0,117,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (730,84,'North Ndebele','nd','nd_ZW',NULL,0,0,118,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (731,84,'Nepali','ne','ne_NP',NULL,0,0,119,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (732,84,'Ndonga','ng','ng_NA',NULL,0,0,120,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (733,84,'Norwegian Nynorsk','nn','nn_NO',NULL,0,0,121,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (734,84,'Norwegian','no','no_NO',NULL,0,0,122,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (735,84,'Nuosu','ii','ii_CN',NULL,0,0,123,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (736,84,'South Ndebele','nr','nr_ZA',NULL,0,0,124,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (737,84,'Occitan (after 1500)','oc','oc_FR',NULL,0,0,125,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (738,84,'Ojibwa','oj','oj_CA',NULL,0,0,126,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (739,84,'Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic','cu','cu_BG',NULL,0,0,127,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (740,84,'Oromo','om','om_ET',NULL,0,0,128,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (741,84,'Oriya','or','or_IN',NULL,0,0,129,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (742,84,'Ossetian, Ossetic','os','os_GE',NULL,0,0,130,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (743,84,'Panjabi, Punjabi','pa','pa_IN',NULL,0,0,131,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (744,84,'Pali','pi','pi_KH',NULL,0,0,132,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (745,84,'Persian (Iran)','fa','fa_IR',NULL,0,0,133,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (746,84,'Polish','pl','pl_PL',NULL,0,0,134,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (747,84,'Pashto, Pushto','ps','ps_AF',NULL,0,0,135,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (748,84,'Portuguese (Brazil)','pt','pt_BR',NULL,0,0,136,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (749,84,'Portuguese (Portugal)','pt','pt_PT',NULL,0,0,137,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (750,84,'Quechua','qu','qu_PE',NULL,0,0,138,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (751,84,'Romansh','rm','rm_CH',NULL,0,0,139,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (752,84,'Kirundi','rn','rn_BI',NULL,0,0,140,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (753,84,'Romanian, Moldavian, Moldovan','ro','ro_RO',NULL,0,0,141,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (754,84,'Russian','ru','ru_RU',NULL,0,0,142,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (755,84,'Sanskrit','sa','sa_IN',NULL,0,0,143,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (756,84,'Sardinian','sc','sc_IT',NULL,0,0,144,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (757,84,'Sindhi','sd','sd_IN',NULL,0,0,145,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (758,84,'Northern Sami','se','se_NO',NULL,0,0,146,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (759,84,'Samoan','sm','sm_WS',NULL,0,0,147,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (760,84,'Sango','sg','sg_CF',NULL,0,0,148,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (761,84,'Serbian','sr','sr_RS',NULL,0,0,149,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (762,84,'Scottish Gaelic; Gaelic','gd','gd_GB',NULL,0,0,150,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (763,84,'Shona','sn','sn_ZW',NULL,0,0,151,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (764,84,'Sinhala, Sinhalese','si','si_LK',NULL,0,0,152,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (765,84,'Slovak','sk','sk_SK',NULL,0,0,153,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (766,84,'Slovene','sl','sl_SI',NULL,0,0,154,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (767,84,'Somali','so','so_SO',NULL,0,0,155,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (768,84,'Southern Sotho','st','st_ZA',NULL,0,0,156,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (769,84,'Spanish; Castilian (Spain)','es','es_ES',NULL,0,0,157,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (770,84,'Spanish; Castilian (Mexico)','es','es_MX',NULL,0,0,158,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (771,84,'Spanish; Castilian (Puerto Rico)','es','es_PR',NULL,0,0,159,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (772,84,'Sundanese','su','su_ID',NULL,0,0,160,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (773,84,'Swahili','sw','sw_TZ',NULL,0,0,161,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (774,84,'Swati','ss','ss_ZA',NULL,0,0,162,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (775,84,'Swedish','sv','sv_SE',NULL,0,0,163,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (776,84,'Tamil','ta','ta_IN',NULL,0,0,164,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (777,84,'Telugu','te','te_IN',NULL,0,0,165,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (778,84,'Tajik','tg','tg_TJ',NULL,0,0,166,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (779,84,'Thai','th','th_TH',NULL,0,0,167,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (780,84,'Tigrinya','ti','ti_ET',NULL,0,0,168,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (781,84,'Tibetan Standard, Tibetan, Central','bo','bo_CN',NULL,0,0,169,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (782,84,'Turkmen','tk','tk_TM',NULL,0,0,170,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (783,84,'Tagalog','tl','tl_PH',NULL,0,0,171,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (784,84,'Tswana','tn','tn_ZA',NULL,0,0,172,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (785,84,'Tonga (Tonga Islands)','to','to_TO',NULL,0,0,173,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (786,84,'Turkish','tr','tr_TR',NULL,0,0,174,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (787,84,'Tsonga','ts','ts_ZA',NULL,0,0,175,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (788,84,'Tatar','tt','tt_RU',NULL,0,0,176,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (789,84,'Twi','tw','tw_GH',NULL,0,0,177,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (790,84,'Tahitian','ty','ty_PF',NULL,0,0,178,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (791,84,'Uighur, Uyghur','ug','ug_CN',NULL,0,0,179,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (792,84,'Ukrainian','uk','uk_UA',NULL,0,0,180,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (793,84,'Urdu','ur','ur_PK',NULL,0,0,181,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (794,84,'Uzbek','uz','uz_UZ',NULL,0,0,182,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (795,84,'Venda','ve','ve_ZA',NULL,0,0,183,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (796,84,'Vietnamese','vi','vi_VN',NULL,0,0,184,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (797,84,'Volapük','vo','vo_XX',NULL,0,0,185,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (798,84,'Walloon','wa','wa_BE',NULL,0,0,186,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (799,84,'Welsh','cy','cy_GB',NULL,0,0,187,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (800,84,'Wolof','wo','wo_SN',NULL,0,0,188,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (801,84,'Western Frisian','fy','fy_NL',NULL,0,0,189,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (802,84,'Xhosa','xh','xh_ZA',NULL,0,0,190,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (803,84,'Yiddish','yi','yi_US',NULL,0,0,191,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (804,84,'Yoruba','yo','yo_NG',NULL,0,0,192,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (805,84,'Zhuang, Chuang','za','za_CN',NULL,0,0,193,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (806,84,'Zulu','zu','zu_ZA',NULL,0,0,194,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (807,85,'In Person','1','in_person',NULL,0,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (808,85,'Phone','2','phone',NULL,0,1,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (809,85,'Email','3','email',NULL,0,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (810,85,'Fax','4','fax',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (811,85,'Letter Mail','5','letter_mail',NULL,0,0,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (812,86,'Cases - Send Copy of an Activity','1','case_activity',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (813,87,'Contributions - Duplicate Organization Alert','1','contribution_dupalert',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (814,87,'Contributions - Receipt (off-line)','2','contribution_offline_receipt',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (815,87,'Contributions - Receipt (on-line)','3','contribution_online_receipt',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (816,87,'Contributions - Invoice','4','contribution_invoice_receipt',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (817,87,'Contributions - Recurring Start and End Notification','5','contribution_recurring_notify',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (818,87,'Contributions - Recurring Cancellation Notification','6','contribution_recurring_cancelled',NULL,0,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (819,87,'Contributions - Recurring Billing Updates','7','contribution_recurring_billing',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (820,87,'Contributions - Recurring Updates','8','contribution_recurring_edit',NULL,0,0,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (821,87,'Personal Campaign Pages - Admin Notification','9','pcp_notify',NULL,0,0,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (822,87,'Personal Campaign Pages - Supporter Status Change Notification','10','pcp_status_change',NULL,0,0,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (823,87,'Personal Campaign Pages - Supporter Welcome','11','pcp_supporter_notify',NULL,0,0,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (824,87,'Personal Campaign Pages - Owner Notification','12','pcp_owner_notify',NULL,0,0,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (825,87,'Additional Payment Receipt or Refund Notification','13','payment_or_refund_notification',NULL,0,0,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (826,88,'Events - Registration Confirmation and Receipt (off-line)','1','event_offline_receipt',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (827,88,'Events - Registration Confirmation and Receipt (on-line)','2','event_online_receipt',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (828,88,'Events - Receipt only','3','event_registration_receipt',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (829,88,'Events - Registration Cancellation Notice','4','participant_cancelled',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (830,88,'Events - Registration Confirmation Invite','5','participant_confirm',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (831,88,'Events - Pending Registration Expiration Notice','6','participant_expired',NULL,0,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (832,88,'Events - Registration Transferred Notice','7','participant_transferred',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (833,89,'Tell-a-Friend Email','1','friend',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (834,90,'Memberships - Signup and Renewal Receipts (off-line)','1','membership_offline_receipt',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (835,90,'Memberships - Receipt (on-line)','2','membership_online_receipt',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (836,90,'Memberships - Auto-renew Cancellation Notification','3','membership_autorenew_cancelled',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (837,90,'Memberships - Auto-renew Billing Updates','4','membership_autorenew_billing',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (838,91,'Test-drive - Receipt Header','1','test_preview',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (839,92,'Pledges - Acknowledgement','1','pledge_acknowledge',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (840,92,'Pledges - Payment Reminder','2','pledge_reminder',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (841,93,'Profiles - Admin Notification','1','uf_notify',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (842,94,'Petition - signature added','1','petition_sign',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (843,94,'Petition - need verification','2','petition_confirmation_needed',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (844,95,'In Honor of','1','in_honor_of',NULL,0,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (845,95,'In Memory of','2','in_memory_of',NULL,0,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (846,95,'Solicited','3','solicited',NULL,0,1,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (847,95,'Household','4','household',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (848,95,'Workplace Giving','5','workplace',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (849,95,'Foundation Affiliate','6','foundation_affiliate',NULL,0,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (850,95,'3rd-party Service','7','3rd-party_service',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (851,95,'Donor-advised Fund','8','donor-advised_fund',NULL,0,0,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (852,95,'Matched Gift','9','matched_gift',NULL,0,0,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (853,95,'Personal Campaign Page','10','pcp',NULL,0,0,10,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (854,95,'Gift','11','gift',NULL,0,0,11,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (855,2,'Interview','55','Interview',NULL,0,NULL,55,'Conduct a phone or in person interview.',0,0,1,NULL,NULL,NULL,'fa-comment-o',NULL),
+ (856,8,'Advisory Board','3','Advisory Board',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_option_value` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -6647,56 +6578,56 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_participant` WRITE;
 /*!40000 ALTER TABLE `civicrm_participant` DISABLE KEYS */;
 INSERT INTO `civicrm_participant` (`id`, `contact_id`, `event_id`, `status_id`, `role_id`, `register_date`, `source`, `fee_level`, `is_test`, `is_pay_later`, `fee_amount`, `registered_by_id`, `discount_id`, `fee_currency`, `campaign_id`, `discount_amount`, `cart_id`, `must_wait`, `transferred_to_contact_id`) VALUES
- (1,134,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (2,68,2,2,'2','2008-05-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (3,5,3,3,'3','2008-05-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (4,151,1,4,'4','2008-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (5,7,2,1,'1','2008-01-10 00:00:00','Check','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (6,58,3,2,'2','2008-03-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (7,175,1,3,'3','2009-07-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (8,154,2,4,'4','2009-03-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (9,16,3,1,'1','2008-02-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (10,117,1,2,'2','2008-02-01 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (11,71,2,3,'3','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (12,14,3,4,'4','2009-03-06 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (13,195,1,1,'2','2008-06-04 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (14,11,2,2,'3','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (15,66,3,4,'1','2008-07-04 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (16,144,1,4,'2','2009-01-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (17,158,2,2,'3','2008-01-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (18,73,3,3,'1','2009-03-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (19,184,1,2,'1','2008-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (20,149,2,4,'1','2009-01-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (21,150,3,1,'4','2008-03-25 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (22,87,1,2,'3','2009-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (23,152,2,4,'1','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (24,146,3,3,'1','2008-03-11 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (25,156,3,2,'2','2008-04-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (26,178,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (27,69,2,2,'2','2008-05-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (28,185,3,3,'3','2009-12-12 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (29,81,1,4,'4','2009-12-13 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (30,116,2,1,'1','2009-12-14 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (31,25,3,2,'2','2009-12-15 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (32,21,1,3,'3','2009-07-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (33,103,2,4,'4','2009-03-07 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (34,157,3,1,'1','2009-12-15 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (35,4,1,2,'2','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (36,128,2,3,'3','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (37,55,3,4,'4','2009-03-06 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (38,93,1,1,'2','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (39,72,2,2,'3','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (40,44,3,4,'1','2009-12-14 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (41,121,1,4,'2','2009-01-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (42,99,2,2,'3','2009-12-15 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (43,82,3,3,'1','2009-03-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (44,1,1,2,'1','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (45,129,2,4,'1','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (46,37,3,1,'4','2009-12-13 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (47,28,1,2,'3','2009-10-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (48,160,2,4,'1','2009-12-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (49,202,3,3,'1','2009-03-11 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (50,104,3,2,'2','2009-04-05 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL);
+ (1,156,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (2,60,2,2,'2','2008-05-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (3,178,3,3,'3','2008-05-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (4,100,1,4,'4','2008-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (5,119,2,1,'1','2008-01-10 00:00:00','Check','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (6,138,3,2,'2','2008-03-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (7,167,1,3,'3','2009-07-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (8,124,2,4,'4','2009-03-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (9,65,3,1,'1','2008-02-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (10,58,1,2,'2','2008-02-01 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (11,75,2,3,'3','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (12,182,3,4,'4','2009-03-06 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (13,51,1,1,'2','2008-06-04 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (14,150,2,2,'3','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (15,202,3,4,'1','2008-07-04 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (16,15,1,4,'2','2009-01-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (17,191,2,2,'3','2008-01-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (18,185,3,3,'1','2009-03-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (19,87,1,2,'1','2008-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (20,49,2,4,'1','2009-01-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (21,128,3,1,'4','2008-03-25 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (22,32,1,2,'3','2009-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (23,158,2,4,'1','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (24,63,3,3,'1','2008-03-11 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (25,181,3,2,'2','2008-04-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (26,31,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (27,25,2,2,'2','2008-05-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (28,157,3,3,'3','2009-12-12 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (29,123,1,4,'4','2009-12-13 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (30,44,2,1,'1','2009-12-14 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (31,89,3,2,'2','2009-12-15 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (32,132,1,3,'3','2009-07-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (33,151,2,4,'4','2009-03-07 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (34,48,3,1,'1','2009-12-15 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (35,200,1,2,'2','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (36,40,2,3,'3','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (37,20,3,4,'4','2009-03-06 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (38,42,1,1,'2','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (39,4,2,2,'3','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (40,29,3,4,'1','2009-12-14 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (41,113,1,4,'2','2009-01-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (42,168,2,2,'3','2009-12-15 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (43,22,3,3,'1','2009-03-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (44,194,1,2,'1','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (45,71,2,4,'1','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (46,61,3,1,'4','2009-12-13 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (47,189,1,2,'3','2009-10-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (48,88,2,4,'1','2009-12-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (49,172,3,3,'1','2009-03-11 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (50,99,3,2,'2','2009-04-05 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_participant` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -6707,56 +6638,56 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_participant_payment` WRITE;
 /*!40000 ALTER TABLE `civicrm_participant_payment` DISABLE KEYS */;
 INSERT INTO `civicrm_participant_payment` (`id`, `participant_id`, `contribution_id`) VALUES
- (1,44,63),
- (2,35,64),
+ (1,1,63),
+ (2,2,64),
  (3,3,65),
- (4,5,66),
- (5,14,67),
- (6,12,68),
- (7,9,69),
- (8,32,70),
- (9,31,71),
- (10,47,72),
- (11,46,73),
- (12,40,74),
- (13,37,75),
- (14,6,76),
+ (4,4,66),
+ (5,5,67),
+ (6,6,68),
+ (7,7,69),
+ (8,8,70),
+ (9,9,71),
+ (10,10,72),
+ (11,11,73),
+ (12,12,74),
+ (13,13,75),
+ (14,14,76),
  (15,15,77),
- (16,2,78),
- (17,27,79),
- (18,11,80),
- (19,39,81),
- (20,18,82),
- (21,29,83),
- (22,43,84),
- (23,22,85),
- (24,38,86),
- (25,42,87),
- (26,33,88),
- (27,50,89),
- (28,30,90),
- (29,10,91),
- (30,41,92),
- (31,36,93),
- (32,45,94),
- (33,1,95),
- (34,16,96),
- (35,24,97),
- (36,20,98),
- (37,21,99),
- (38,4,100),
- (39,23,101),
- (40,8,102),
- (41,25,103),
- (42,34,104),
- (43,17,105),
- (44,48,106),
- (45,7,107),
- (46,26,108),
- (47,19,109),
- (48,28,110),
- (49,13,111),
- (50,49,112);
+ (16,16,78),
+ (17,17,79),
+ (18,18,80),
+ (19,19,81),
+ (20,20,82),
+ (21,21,83),
+ (22,22,84),
+ (23,23,85),
+ (24,24,86),
+ (25,25,87),
+ (26,26,88),
+ (27,27,89),
+ (28,28,90),
+ (29,29,91),
+ (30,30,92),
+ (31,31,93),
+ (32,32,94),
+ (33,33,95),
+ (34,34,96),
+ (35,35,97),
+ (36,36,98),
+ (37,37,99),
+ (38,38,100),
+ (39,39,101),
+ (40,40,102),
+ (41,41,103),
+ (42,42,104),
+ (43,43,105),
+ (44,44,106),
+ (45,45,107),
+ (46,46,108),
+ (47,47,109),
+ (48,48,110),
+ (49,49,111),
+ (50,50,112);
 /*!40000 ALTER TABLE `civicrm_participant_payment` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -6830,7 +6761,7 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_pcp` WRITE;
 /*!40000 ALTER TABLE `civicrm_pcp` DISABLE KEYS */;
 INSERT INTO `civicrm_pcp` (`id`, `contact_id`, `status_id`, `title`, `intro_text`, `page_text`, `donate_link_text`, `page_id`, `page_type`, `pcp_block_id`, `is_thermometer`, `is_honor_roll`, `goal_amount`, `currency`, `is_active`, `is_notify`) VALUES
- (1,185,2,'My Personal Civi Fundraiser','I\'m on a mission to get all my friends and family to help support my favorite open-source civic sector CRM.','<p>Friends and family - please help build much needed infrastructure for the civic sector by supporting my personal campaign!</p>\r\n<p><a href=\"https://civicrm.org\">You can learn more about CiviCRM here</a>.</p>\r\n<p>Then click the <strong>Contribute Now</strong> button to go to our easy-to-use online contribution form.</p>','Contribute Now',1,'contribute',1,1,1,5000.00,'USD',1,1);
+ (1,125,2,'My Personal Civi Fundraiser','I\'m on a mission to get all my friends and family to help support my favorite open-source civic sector CRM.','<p>Friends and family - please help build much needed infrastructure for the civic sector by supporting my personal campaign!</p>\r\n<p><a href=\"https://civicrm.org\">You can learn more about CiviCRM here</a>.</p>\r\n<p>Then click the <strong>Contribute Now</strong> button to go to our easy-to-use online contribution form.</p>','Contribute Now',1,'contribute',1,1,1,5000.00,'USD',1,1);
 /*!40000 ALTER TABLE `civicrm_pcp` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -6852,165 +6783,166 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_phone` WRITE;
 /*!40000 ALTER TABLE `civicrm_phone` DISABLE KEYS */;
 INSERT INTO `civicrm_phone` (`id`, `contact_id`, `location_type_id`, `is_primary`, `is_billing`, `mobile_provider_id`, `phone`, `phone_ext`, `phone_numeric`, `phone_type_id`) VALUES
- (1,76,1,1,0,NULL,'395-7900',NULL,'3957900',1),
- (2,185,1,1,0,NULL,'(841) 427-7018',NULL,'8414277018',2),
- (3,192,1,1,0,NULL,'619-9896',NULL,'6199896',1),
- (4,192,1,0,0,NULL,'810-4755',NULL,'8104755',2),
- (5,100,1,1,0,NULL,'893-5476',NULL,'8935476',1),
- (6,170,1,1,0,NULL,'354-9908',NULL,'3549908',1),
- (7,148,1,1,0,NULL,'476-7740',NULL,'4767740',1),
- (8,148,1,0,0,NULL,'(500) 263-5335',NULL,'5002635335',1),
- (9,95,1,1,0,NULL,'201-1099',NULL,'2011099',2),
- (10,48,1,1,0,NULL,'(801) 709-9819',NULL,'8017099819',1),
- (11,12,1,1,0,NULL,'(395) 795-5308',NULL,'3957955308',2),
- (12,12,1,0,0,NULL,'503-3246',NULL,'5033246',1),
- (13,46,1,1,0,NULL,'708-8387',NULL,'7088387',2),
- (14,164,1,1,0,NULL,'(636) 542-2178',NULL,'6365422178',2),
- (15,164,1,0,0,NULL,'(276) 275-1152',NULL,'2762751152',2),
- (16,71,1,1,0,NULL,'(878) 720-2469',NULL,'8787202469',2),
- (17,71,1,0,0,NULL,'(508) 768-7496',NULL,'5087687496',1),
- (18,162,1,1,0,NULL,'441-8200',NULL,'4418200',2),
- (19,162,1,0,0,NULL,'(688) 365-6502',NULL,'6883656502',2),
- (20,197,1,1,0,NULL,'694-8012',NULL,'6948012',1),
- (21,200,1,1,0,NULL,'(673) 333-1569',NULL,'6733331569',1),
- (22,200,1,0,0,NULL,'(623) 525-5743',NULL,'6235255743',2),
- (23,7,1,1,0,NULL,'833-6908',NULL,'8336908',1),
- (24,111,1,1,0,NULL,'530-2290',NULL,'5302290',2),
- (25,111,1,0,0,NULL,'(681) 669-6496',NULL,'6816696496',1),
- (26,9,1,1,0,NULL,'(690) 890-7877',NULL,'6908907877',2),
- (27,9,1,0,0,NULL,'643-4339',NULL,'6434339',2),
- (28,147,1,1,0,NULL,'642-7930',NULL,'6427930',1),
- (29,112,1,1,0,NULL,'500-5067',NULL,'5005067',1),
- (30,112,1,0,0,NULL,'(624) 598-7368',NULL,'6245987368',1),
- (31,39,1,1,0,NULL,'(485) 224-1832',NULL,'4852241832',2),
- (32,39,1,0,0,NULL,'727-2760',NULL,'7272760',2),
- (33,157,1,1,0,NULL,'(565) 450-8560',NULL,'5654508560',2),
- (34,157,1,0,0,NULL,'783-8099',NULL,'7838099',2),
- (35,62,1,1,0,NULL,'333-8150',NULL,'3338150',2),
- (36,62,1,0,0,NULL,'(416) 417-1924',NULL,'4164171924',1),
- (37,180,1,1,0,NULL,'549-8124',NULL,'5498124',1),
- (38,118,1,1,0,NULL,'656-4215',NULL,'6564215',2),
- (39,194,1,1,0,NULL,'(326) 285-4897',NULL,'3262854897',2),
- (40,126,1,1,0,NULL,'879-2374',NULL,'8792374',1),
- (41,40,1,1,0,NULL,'225-8833',NULL,'2258833',1),
- (42,142,1,1,0,NULL,'(295) 280-6570',NULL,'2952806570',2),
- (43,174,1,1,0,NULL,'569-6563',NULL,'5696563',1),
- (44,174,1,0,0,NULL,'568-3358',NULL,'5683358',1),
- (45,80,1,1,0,NULL,'551-7973',NULL,'5517973',1),
- (46,198,1,1,0,NULL,'(402) 208-4090',NULL,'4022084090',2),
- (47,198,1,0,0,NULL,'(557) 404-7342',NULL,'5574047342',1),
- (48,149,1,1,0,NULL,'437-6924',NULL,'4376924',1),
- (49,96,1,1,0,NULL,'(821) 343-3351',NULL,'8213433351',2),
- (50,4,1,1,0,NULL,'432-3642',NULL,'4323642',2),
- (51,4,1,0,0,NULL,'767-3617',NULL,'7673617',2),
- (52,49,1,1,0,NULL,'603-2323',NULL,'6032323',2),
- (53,14,1,1,0,NULL,'(530) 782-1782',NULL,'5307821782',1),
- (54,70,1,1,0,NULL,'265-5864',NULL,'2655864',1),
- (55,30,1,1,0,NULL,'(831) 768-6647',NULL,'8317686647',1),
- (56,54,1,1,0,NULL,'(230) 820-8926',NULL,'2308208926',2),
- (57,54,1,0,0,NULL,'(839) 298-8715',NULL,'8392988715',2),
- (58,63,1,1,0,NULL,'432-5853',NULL,'4325853',1),
- (59,168,1,1,0,NULL,'(410) 518-7294',NULL,'4105187294',1),
- (60,60,1,1,0,NULL,'544-5347',NULL,'5445347',1),
- (61,60,1,0,0,NULL,'736-7898',NULL,'7367898',2),
- (62,92,1,1,0,NULL,'841-1924',NULL,'8411924',1),
- (63,92,1,0,0,NULL,'527-7438',NULL,'5277438',2),
- (64,138,1,1,0,NULL,'(288) 758-1582',NULL,'2887581582',2),
- (65,83,1,1,0,NULL,'833-3606',NULL,'8333606',1),
- (66,13,1,1,0,NULL,'(680) 396-5638',NULL,'6803965638',1),
- (67,13,1,0,0,NULL,'(254) 642-3708',NULL,'2546423708',2),
- (68,105,1,1,0,NULL,'(286) 717-8979',NULL,'2867178979',2),
- (69,135,1,1,0,NULL,'332-6738',NULL,'3326738',1),
- (70,135,1,0,0,NULL,'(588) 311-7901',NULL,'5883117901',2),
- (71,20,1,1,0,NULL,'(551) 758-3916',NULL,'5517583916',1),
- (72,20,1,0,0,NULL,'406-8908',NULL,'4068908',2),
- (73,161,1,1,0,NULL,'(671) 674-2405',NULL,'6716742405',1),
- (74,161,1,0,0,NULL,'480-9859',NULL,'4809859',1),
- (75,110,1,1,0,NULL,'(278) 553-6399',NULL,'2785536399',1),
- (76,122,1,1,0,NULL,'(298) 838-1223',NULL,'2988381223',2),
- (77,156,1,1,0,NULL,'895-9050',NULL,'8959050',2),
- (78,156,1,0,0,NULL,'685-3844',NULL,'6853844',2),
- (79,143,1,1,0,NULL,'(572) 869-6758',NULL,'5728696758',1),
- (80,143,1,0,0,NULL,'761-3566',NULL,'7613566',1),
- (81,146,1,1,0,NULL,'811-5842',NULL,'8115842',2),
- (82,82,1,1,0,NULL,'(782) 661-9322',NULL,'7826619322',2),
- (83,165,1,1,0,NULL,'585-1806',NULL,'5851806',2),
- (84,190,1,1,0,NULL,'(475) 868-4745',NULL,'4758684745',2),
- (85,59,1,1,0,NULL,'682-1804',NULL,'6821804',1),
- (86,59,1,0,0,NULL,'(500) 377-7145',NULL,'5003777145',1),
- (87,72,1,1,0,NULL,'805-3789',NULL,'8053789',2),
- (88,72,1,0,0,NULL,'865-5776',NULL,'8655776',1),
- (89,108,1,1,0,NULL,'566-1525',NULL,'5661525',1),
- (90,81,1,1,0,NULL,'(212) 235-1154',NULL,'2122351154',2),
- (91,81,1,0,0,NULL,'(701) 568-4421',NULL,'7015684421',1),
- (92,65,1,1,0,NULL,'666-9026',NULL,'6669026',1),
- (93,65,1,0,0,NULL,'622-8022',NULL,'6228022',1),
- (94,189,1,1,0,NULL,'(404) 333-6178',NULL,'4043336178',1),
- (95,88,1,1,0,NULL,'(355) 430-7465',NULL,'3554307465',1),
- (96,196,1,1,0,NULL,'(697) 797-1137',NULL,'6977971137',1),
- (97,196,1,0,0,NULL,'540-3823',NULL,'5403823',2),
- (98,136,1,1,0,NULL,'(217) 216-1317',NULL,'2172161317',2),
- (99,134,1,1,0,NULL,'257-4038',NULL,'2574038',1),
- (100,154,1,1,0,NULL,'793-5265',NULL,'7935265',1),
- (101,77,1,1,0,NULL,'(630) 708-4065',NULL,'6307084065',1),
- (102,77,1,0,0,NULL,'851-6074',NULL,'8516074',2),
- (103,193,1,1,0,NULL,'727-8942',NULL,'7278942',2),
- (104,193,1,0,0,NULL,'(461) 225-4193',NULL,'4612254193',2),
- (105,55,1,1,0,NULL,'(865) 292-6121',NULL,'8652926121',2),
- (106,182,1,1,0,NULL,'217-6647',NULL,'2176647',1),
- (107,53,1,1,0,NULL,'(849) 703-8907',NULL,'8497038907',2),
- (108,53,1,0,0,NULL,'(329) 780-3779',NULL,'3297803779',1),
- (109,114,1,1,0,NULL,'(636) 421-6125',NULL,'6364216125',1),
- (110,114,1,0,0,NULL,'(266) 846-2248',NULL,'2668462248',2),
- (111,125,1,1,0,NULL,'712-2299',NULL,'7122299',1),
- (112,139,1,1,0,NULL,'221-5875',NULL,'2215875',2),
- (113,24,1,1,0,NULL,'(798) 282-8769',NULL,'7982828769',2),
- (114,85,1,1,0,NULL,'(797) 665-9265',NULL,'7976659265',1),
- (115,85,1,0,0,NULL,'(211) 438-2583',NULL,'2114382583',1),
- (116,133,1,1,0,NULL,'775-2400',NULL,'7752400',2),
- (117,155,1,1,0,NULL,'(432) 691-4755',NULL,'4326914755',1),
- (118,123,1,1,0,NULL,'(588) 592-7384',NULL,'5885927384',2),
- (119,123,1,0,0,NULL,'(460) 792-3509',NULL,'4607923509',2),
- (120,86,1,1,0,NULL,'(575) 848-7805',NULL,'5758487805',1),
- (121,117,1,1,0,NULL,'305-8190',NULL,'3058190',1),
- (122,16,1,1,0,NULL,'(678) 733-2896',NULL,'6787332896',1),
- (123,26,1,1,0,NULL,'238-1577',NULL,'2381577',1),
- (124,6,1,1,0,NULL,'311-8589',NULL,'3118589',1),
- (125,181,1,1,0,NULL,'(224) 546-8473',NULL,'2245468473',2),
- (126,181,1,0,0,NULL,'(718) 650-9675',NULL,'7186509675',1),
- (127,199,1,1,0,NULL,'842-5958',NULL,'8425958',2),
- (128,31,1,1,0,NULL,'796-8860',NULL,'7968860',2),
- (129,179,1,1,0,NULL,'584-7252',NULL,'5847252',1),
- (130,179,1,0,0,NULL,'(409) 431-6971',NULL,'4094316971',2),
- (131,145,1,1,0,NULL,'(884) 834-2839',NULL,'8848342839',1),
- (132,145,1,0,0,NULL,'(475) 760-9952',NULL,'4757609952',2),
- (133,74,1,1,0,NULL,'(668) 412-5694',NULL,'6684125694',1),
- (134,41,1,1,0,NULL,'762-5540',NULL,'7625540',1),
- (135,191,1,1,0,NULL,'373-9188',NULL,'3739188',2),
- (136,159,1,1,0,NULL,'(624) 607-6652',NULL,'6246076652',1),
- (137,5,1,1,0,NULL,'(574) 438-5402',NULL,'5744385402',1),
- (138,5,1,0,0,NULL,'(213) 878-7271',NULL,'2138787271',1),
- (139,152,1,1,0,NULL,'837-3423',NULL,'8373423',2),
- (140,152,1,0,0,NULL,'718-1485',NULL,'7181485',2),
- (141,140,1,1,0,NULL,'(363) 371-1709',NULL,'3633711709',2),
- (142,99,1,1,0,NULL,'(232) 315-3792',NULL,'2323153792',1),
- (143,99,1,0,0,NULL,'373-4601',NULL,'3734601',2),
- (144,3,1,1,0,NULL,'(691) 748-8491',NULL,'6917488491',2),
- (145,3,1,0,0,NULL,'628-9325',NULL,'6289325',1),
- (146,22,1,1,0,NULL,'(533) 661-6102',NULL,'5336616102',1),
- (147,29,1,1,0,NULL,'363-8403',NULL,'3638403',2),
- (148,29,1,0,0,NULL,'(675) 374-5900',NULL,'6753745900',2),
- (149,66,1,1,0,NULL,'317-7506',NULL,'3177506',2),
- (150,66,1,0,0,NULL,'(273) 818-6517',NULL,'2738186517',2),
- (151,175,1,1,0,NULL,'340-9881',NULL,'3409881',1),
- (152,38,1,1,0,NULL,'240-7674',NULL,'2407674',2),
- (153,160,1,1,0,NULL,'(364) 579-3189',NULL,'3645793189',2),
- (154,160,1,0,0,NULL,'(492) 237-2053',NULL,'4922372053',2),
- (155,137,1,1,0,NULL,'(885) 424-3382',NULL,'8854243382',2),
- (156,104,1,1,0,NULL,'(412) 578-9266',NULL,'4125789266',1),
- (157,NULL,1,0,0,NULL,'204 222-1000',NULL,'2042221000',1),
- (158,NULL,1,0,0,NULL,'204 223-1000',NULL,'2042231000',1),
- (159,NULL,1,0,0,NULL,'303 323-1000',NULL,'3033231000',1);
+ (1,125,1,1,0,NULL,'205-1925',NULL,'2051925',2),
+ (2,177,1,1,0,NULL,'(393) 519-5367',NULL,'3935195367',2),
+ (3,104,1,1,0,NULL,'239-9519',NULL,'2399519',2),
+ (4,104,1,0,0,NULL,'(836) 229-6000',NULL,'8362296000',1),
+ (5,55,1,1,0,NULL,'(398) 666-9777',NULL,'3986669777',2),
+ (6,116,1,1,0,NULL,'(335) 340-9235',NULL,'3353409235',1),
+ (7,182,1,1,0,NULL,'(723) 253-4301',NULL,'7232534301',2),
+ (8,76,1,1,0,NULL,'426-7997',NULL,'4267997',2),
+ (9,76,1,0,0,NULL,'688-1783',NULL,'6881783',2),
+ (10,121,1,1,0,NULL,'(233) 495-2899',NULL,'2334952899',2),
+ (11,99,1,1,0,NULL,'375-1050',NULL,'3751050',1),
+ (12,199,1,1,0,NULL,'(510) 234-7677',NULL,'5102347677',2),
+ (13,28,1,1,0,NULL,'239-8746',NULL,'2398746',1),
+ (14,201,1,1,0,NULL,'478-1025',NULL,'4781025',1),
+ (15,201,1,0,0,NULL,'(525) 607-6919',NULL,'5256076919',1),
+ (16,200,1,1,0,NULL,'(608) 435-5386',NULL,'6084355386',2),
+ (17,200,1,0,0,NULL,'(738) 502-6462',NULL,'7385026462',2),
+ (18,9,1,1,0,NULL,'643-2669',NULL,'6432669',2),
+ (19,9,1,0,0,NULL,'536-8816',NULL,'5368816',2),
+ (20,105,1,1,0,NULL,'(772) 297-1150',NULL,'7722971150',2),
+ (21,119,1,1,0,NULL,'(742) 826-1709',NULL,'7428261709',2),
+ (22,122,1,1,0,NULL,'(768) 873-9154',NULL,'7688739154',1),
+ (23,127,1,1,0,NULL,'581-4661',NULL,'5814661',1),
+ (24,127,1,0,0,NULL,'(628) 832-7312',NULL,'6288327312',1),
+ (25,115,1,1,0,NULL,'(556) 692-8908',NULL,'5566928908',1),
+ (26,117,1,1,0,NULL,'404-9679',NULL,'4049679',2),
+ (27,117,1,0,0,NULL,'(800) 479-5740',NULL,'8004795740',1),
+ (28,79,1,1,0,NULL,'(357) 365-7663',NULL,'3573657663',1),
+ (29,179,1,1,0,NULL,'(295) 417-8262',NULL,'2954178262',2),
+ (30,179,1,0,0,NULL,'455-7052',NULL,'4557052',1),
+ (31,131,1,1,0,NULL,'552-5853',NULL,'5525853',2),
+ (32,52,1,1,0,NULL,'(286) 567-2974',NULL,'2865672974',1),
+ (33,52,1,0,0,NULL,'749-4789',NULL,'7494789',1),
+ (34,72,1,1,0,NULL,'(890) 380-6947',NULL,'8903806947',1),
+ (35,72,1,0,0,NULL,'717-3634',NULL,'7173634',1),
+ (36,178,1,1,0,NULL,'333-8499',NULL,'3338499',2),
+ (37,178,1,0,0,NULL,'(221) 694-8033',NULL,'2216948033',1),
+ (38,66,1,1,0,NULL,'(585) 449-5320',NULL,'5854495320',1),
+ (39,195,1,1,0,NULL,'(809) 415-3253',NULL,'8094153253',1),
+ (40,46,1,1,0,NULL,'(395) 292-4639',NULL,'3952924639',1),
+ (41,103,1,1,0,NULL,'712-3543',NULL,'7123543',1),
+ (42,103,1,0,0,NULL,'485-4393',NULL,'4854393',1),
+ (43,170,1,1,0,NULL,'(764) 260-6255',NULL,'7642606255',2),
+ (44,170,1,0,0,NULL,'345-6195',NULL,'3456195',1),
+ (45,165,1,1,0,NULL,'581-1046',NULL,'5811046',2),
+ (46,165,1,0,0,NULL,'(369) 529-2655',NULL,'3695292655',1),
+ (47,184,1,1,0,NULL,'890-9936',NULL,'8909936',2),
+ (48,45,1,1,0,NULL,'(261) 492-9624',NULL,'2614929624',1),
+ (49,101,1,1,0,NULL,'(394) 308-5726',NULL,'3943085726',2),
+ (50,27,1,1,0,NULL,'774-8275',NULL,'7748275',2),
+ (51,27,1,0,0,NULL,'(358) 859-2009',NULL,'3588592009',1),
+ (52,137,1,1,0,NULL,'(807) 523-6347',NULL,'8075236347',1),
+ (53,10,1,1,0,NULL,'628-2303',NULL,'6282303',2),
+ (54,124,1,1,0,NULL,'(577) 389-5869',NULL,'5773895869',1),
+ (55,124,1,0,0,NULL,'673-3141',NULL,'6733141',1),
+ (56,111,1,1,0,NULL,'441-4980',NULL,'4414980',2),
+ (57,145,1,1,0,NULL,'(681) 764-2355',NULL,'6817642355',2),
+ (58,145,1,0,0,NULL,'421-1345',NULL,'4211345',1),
+ (59,197,1,1,0,NULL,'424-4056',NULL,'4244056',1),
+ (60,129,1,1,0,NULL,'(499) 421-6756',NULL,'4994216756',1),
+ (61,74,1,1,0,NULL,'(605) 460-8452',NULL,'6054608452',1),
+ (62,26,1,1,0,NULL,'(323) 626-1800',NULL,'3236261800',2),
+ (63,173,1,1,0,NULL,'525-4245',NULL,'5254245',2),
+ (64,80,1,1,0,NULL,'338-5372',NULL,'3385372',2),
+ (65,80,1,0,0,NULL,'(497) 392-1971',NULL,'4973921971',1),
+ (66,78,1,1,0,NULL,'370-2439',NULL,'3702439',2),
+ (67,98,1,1,0,NULL,'393-9352',NULL,'3939352',2),
+ (68,98,1,0,0,NULL,'829-5669',NULL,'8295669',2),
+ (69,30,1,1,0,NULL,'(691) 403-5561',NULL,'6914035561',1),
+ (70,30,1,0,0,NULL,'271-6579',NULL,'2716579',1),
+ (71,186,1,1,0,NULL,'767-4421',NULL,'7674421',2),
+ (72,186,1,0,0,NULL,'(581) 436-1274',NULL,'5814361274',1),
+ (73,106,1,1,0,NULL,'(818) 531-9283',NULL,'8185319283',1),
+ (74,106,1,0,0,NULL,'(533) 549-5879',NULL,'5335495879',2),
+ (75,57,1,1,0,NULL,'(854) 436-4577',NULL,'8544364577',2),
+ (76,57,1,0,0,NULL,'253-1722',NULL,'2531722',2),
+ (77,15,1,1,0,NULL,'376-3655',NULL,'3763655',1),
+ (78,15,1,0,0,NULL,'(859) 666-1456',NULL,'8596661456',1),
+ (79,160,1,1,0,NULL,'363-9587',NULL,'3639587',1),
+ (80,160,1,0,0,NULL,'619-8985',NULL,'6198985',2),
+ (81,196,1,1,0,NULL,'(272) 526-1373',NULL,'2725261373',1),
+ (82,196,1,0,0,NULL,'(372) 802-3653',NULL,'3728023653',2),
+ (83,120,1,1,0,NULL,'(465) 654-8287',NULL,'4656548287',1),
+ (84,18,1,1,0,NULL,'(314) 251-4555',NULL,'3142514555',1),
+ (85,12,1,1,0,NULL,'(476) 864-6569',NULL,'4768646569',2),
+ (86,36,1,1,0,NULL,'(558) 820-6727',NULL,'5588206727',2),
+ (87,36,1,0,0,NULL,'(709) 883-3696',NULL,'7098833696',1),
+ (88,181,1,1,0,NULL,'495-6653',NULL,'4956653',1),
+ (89,118,1,1,0,NULL,'776-3377',NULL,'7763377',1),
+ (90,176,1,1,0,NULL,'(790) 867-7882',NULL,'7908677882',1),
+ (91,176,1,0,0,NULL,'862-2472',NULL,'8622472',2),
+ (92,5,1,1,0,NULL,'894-3916',NULL,'8943916',2),
+ (93,5,1,0,0,NULL,'281-4655',NULL,'2814655',1),
+ (94,75,1,1,0,NULL,'708-7941',NULL,'7087941',1),
+ (95,3,1,1,0,NULL,'(500) 476-6159',NULL,'5004766159',1),
+ (96,3,1,0,0,NULL,'(642) 811-3098',NULL,'6428113098',1),
+ (97,149,1,1,0,NULL,'(359) 515-4741',NULL,'3595154741',2),
+ (98,149,1,0,0,NULL,'(230) 853-1400',NULL,'2308531400',2),
+ (99,192,1,1,0,NULL,'(202) 638-3416',NULL,'2026383416',1),
+ (100,82,1,1,0,NULL,'(428) 846-3240',NULL,'4288463240',1),
+ (101,146,1,1,0,NULL,'(322) 809-5726',NULL,'3228095726',1),
+ (102,183,1,1,0,NULL,'(324) 747-6198',NULL,'3247476198',2),
+ (103,183,1,0,0,NULL,'(841) 740-2646',NULL,'8417402646',2),
+ (104,198,1,1,0,NULL,'(685) 354-4639',NULL,'6853544639',2),
+ (105,84,1,1,0,NULL,'513-7111',NULL,'5137111',1),
+ (106,84,1,0,0,NULL,'(518) 342-8421',NULL,'5183428421',1),
+ (107,90,1,1,0,NULL,'(412) 529-4506',NULL,'4125294506',1),
+ (108,24,1,1,0,NULL,'(256) 797-1756',NULL,'2567971756',2),
+ (109,24,1,0,0,NULL,'(462) 349-5044',NULL,'4623495044',1),
+ (110,39,1,1,0,NULL,'(882) 610-9410',NULL,'8826109410',1),
+ (111,39,1,0,0,NULL,'552-2729',NULL,'5522729',1),
+ (112,32,1,1,0,NULL,'(681) 873-8492',NULL,'6818738492',1),
+ (113,32,1,0,0,NULL,'(334) 486-3580',NULL,'3344863580',2),
+ (114,150,1,1,0,NULL,'(782) 581-2227',NULL,'7825812227',2),
+ (115,150,1,0,0,NULL,'(617) 673-9314',NULL,'6176739314',1),
+ (116,180,1,1,0,NULL,'(693) 326-7935',NULL,'6933267935',2),
+ (117,152,1,1,0,NULL,'833-8548',NULL,'8338548',1),
+ (118,65,1,1,0,NULL,'230-9385',NULL,'2309385',1),
+ (119,148,1,1,0,NULL,'389-1433',NULL,'3891433',2),
+ (120,13,1,1,0,NULL,'647-2414',NULL,'6472414',1),
+ (121,141,1,1,0,NULL,'733-3157',NULL,'7333157',1),
+ (122,141,1,0,0,NULL,'(899) 718-6485',NULL,'8997186485',2),
+ (123,154,1,1,0,NULL,'897-6177',NULL,'8976177',2),
+ (124,154,1,0,0,NULL,'(684) 202-8755',NULL,'6842028755',1),
+ (125,81,1,1,0,NULL,'(527) 388-4858',NULL,'5273884858',2),
+ (126,81,1,0,0,NULL,'675-7322',NULL,'6757322',1),
+ (127,48,1,1,0,NULL,'282-3265',NULL,'2823265',1),
+ (128,48,1,0,0,NULL,'(397) 433-5708',NULL,'3974335708',1),
+ (129,47,1,1,0,NULL,'353-8860',NULL,'3538860',1),
+ (130,17,1,1,0,NULL,'(233) 603-5569',NULL,'2336035569',1),
+ (131,70,1,1,0,NULL,'766-6982',NULL,'7666982',1),
+ (132,70,1,0,0,NULL,'(528) 591-3263',NULL,'5285913263',2),
+ (133,144,1,1,0,NULL,'(276) 379-4260',NULL,'2763794260',1),
+ (134,136,1,1,0,NULL,'422-1675',NULL,'4221675',1),
+ (135,136,1,0,0,NULL,'(206) 204-2114',NULL,'2062042114',2),
+ (136,109,1,1,0,NULL,'(265) 207-1373',NULL,'2652071373',2),
+ (137,21,1,1,0,NULL,'344-3819',NULL,'3443819',2),
+ (138,95,1,1,0,NULL,'690-6586',NULL,'6906586',2),
+ (139,95,1,0,0,NULL,'(383) 659-6467',NULL,'3836596467',2),
+ (140,50,1,1,0,NULL,'271-4835',NULL,'2714835',2),
+ (141,51,1,1,0,NULL,'308-5137',NULL,'3085137',2),
+ (142,51,1,0,0,NULL,'401-4345',NULL,'4014345',1),
+ (143,132,1,1,0,NULL,'(845) 306-1780',NULL,'8453061780',1),
+ (144,31,1,1,0,NULL,'(358) 528-5445',NULL,'3585285445',1),
+ (145,31,1,0,0,NULL,'(866) 815-7490',NULL,'8668157490',1),
+ (146,128,1,1,0,NULL,'252-5775',NULL,'2525775',1),
+ (147,94,1,1,0,NULL,'(311) 300-3773',NULL,'3113003773',1),
+ (148,96,1,1,0,NULL,'786-8558',NULL,'7868558',2),
+ (149,96,1,0,0,NULL,'313-2332',NULL,'3132332',2),
+ (150,89,1,1,0,NULL,'(648) 217-7289',NULL,'6482177289',1),
+ (151,16,1,1,0,NULL,'(866) 623-7029',NULL,'8666237029',1),
+ (152,7,1,1,0,NULL,'327-6616',NULL,'3276616',2),
+ (153,189,1,1,0,NULL,'269-5361',NULL,'2695361',1),
+ (154,40,1,1,0,NULL,'(324) 602-2448',NULL,'3246022448',2),
+ (155,40,1,0,0,NULL,'(831) 767-5214',NULL,'8317675214',1),
+ (156,156,1,1,0,NULL,'(419) 831-1121',NULL,'4198311121',1),
+ (157,156,1,0,0,NULL,'(714) 575-5607',NULL,'7145755607',2),
+ (158,NULL,1,0,0,NULL,'204 222-1000',NULL,'2042221000',1),
+ (159,NULL,1,0,0,NULL,'204 223-1000',NULL,'2042231000',1),
+ (160,NULL,1,0,0,NULL,'303 323-1000',NULL,'3033231000',1);
 /*!40000 ALTER TABLE `civicrm_phone` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -7211,6 +7143,15 @@ INSERT INTO `civicrm_product` (`id`, `name`, `description`, `sku`, `options`, `i
 /*!40000 ALTER TABLE `civicrm_product` ENABLE KEYS */;
 UNLOCK TABLES;
 
+--
+-- Dumping data for table `civicrm_queue`
+--
+
+LOCK TABLES `civicrm_queue` WRITE;
+/*!40000 ALTER TABLE `civicrm_queue` DISABLE KEYS */;
+/*!40000 ALTER TABLE `civicrm_queue` ENABLE KEYS */;
+UNLOCK TABLES;
+
 --
 -- Dumping data for table `civicrm_queue_item`
 --
@@ -7235,221 +7176,221 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_relationship` WRITE;
 /*!40000 ALTER TABLE `civicrm_relationship` DISABLE KEYS */;
-INSERT INTO `civicrm_relationship` (`id`, `contact_id_a`, `contact_id_b`, `relationship_type_id`, `start_date`, `end_date`, `is_active`, `description`, `is_permission_a_b`, `is_permission_b_a`, `case_id`) VALUES
- (1,121,35,1,NULL,NULL,1,NULL,0,0,NULL),
- (2,122,35,1,NULL,NULL,1,NULL,0,0,NULL),
- (3,121,110,1,NULL,NULL,1,NULL,0,0,NULL),
- (4,122,110,1,NULL,NULL,1,NULL,0,0,NULL),
- (5,122,121,4,NULL,NULL,1,NULL,0,0,NULL),
- (6,110,44,8,NULL,NULL,1,NULL,0,0,NULL),
- (7,121,44,8,NULL,NULL,1,NULL,0,0,NULL),
- (8,122,44,8,NULL,NULL,1,NULL,0,0,NULL),
- (9,35,44,7,NULL,NULL,0,NULL,0,0,NULL),
- (10,110,35,2,NULL,NULL,0,NULL,0,0,NULL),
- (11,52,156,1,NULL,NULL,1,NULL,0,0,NULL),
- (12,50,156,1,NULL,NULL,1,NULL,0,0,NULL),
- (13,52,143,1,NULL,NULL,1,NULL,0,0,NULL),
- (14,50,143,1,NULL,NULL,1,NULL,0,0,NULL),
- (15,50,52,4,NULL,NULL,1,NULL,0,0,NULL),
- (16,143,201,8,NULL,NULL,1,NULL,0,0,NULL),
- (17,52,201,8,NULL,NULL,1,NULL,0,0,NULL),
- (18,50,201,8,NULL,NULL,1,NULL,0,0,NULL),
- (19,156,201,7,NULL,NULL,0,NULL,0,0,NULL),
- (20,143,156,2,NULL,NULL,0,NULL,0,0,NULL),
- (21,165,146,1,NULL,NULL,1,NULL,0,0,NULL),
- (22,127,146,1,NULL,NULL,1,NULL,0,0,NULL),
- (23,165,82,1,NULL,NULL,1,NULL,0,0,NULL),
- (24,127,82,1,NULL,NULL,1,NULL,0,0,NULL),
- (25,127,165,4,NULL,NULL,1,NULL,0,0,NULL),
- (26,82,124,8,NULL,NULL,1,NULL,0,0,NULL),
- (27,165,124,8,NULL,NULL,1,NULL,0,0,NULL),
- (28,127,124,8,NULL,NULL,1,NULL,0,0,NULL),
- (29,146,124,7,NULL,NULL,0,NULL,0,0,NULL),
- (30,82,146,2,NULL,NULL,0,NULL,0,0,NULL),
- (31,72,190,1,NULL,NULL,1,NULL,0,0,NULL),
- (32,108,190,1,NULL,NULL,1,NULL,0,0,NULL),
- (33,72,59,1,NULL,NULL,1,NULL,0,0,NULL),
- (34,108,59,1,NULL,NULL,1,NULL,0,0,NULL),
- (35,108,72,4,NULL,NULL,1,NULL,0,0,NULL),
- (36,59,151,8,NULL,NULL,1,NULL,0,0,NULL),
- (37,72,151,8,NULL,NULL,1,NULL,0,0,NULL),
- (38,108,151,8,NULL,NULL,1,NULL,0,0,NULL),
- (39,190,151,7,NULL,NULL,1,NULL,0,0,NULL),
- (40,59,190,2,NULL,NULL,1,NULL,0,0,NULL),
- (41,189,81,1,NULL,NULL,1,NULL,0,0,NULL),
- (42,88,81,1,NULL,NULL,1,NULL,0,0,NULL),
- (43,189,65,1,NULL,NULL,1,NULL,0,0,NULL),
- (44,88,65,1,NULL,NULL,1,NULL,0,0,NULL),
- (45,88,189,4,NULL,NULL,1,NULL,0,0,NULL),
- (46,65,90,8,NULL,NULL,1,NULL,0,0,NULL),
- (47,189,90,8,NULL,NULL,1,NULL,0,0,NULL),
- (48,88,90,8,NULL,NULL,1,NULL,0,0,NULL),
- (49,81,90,7,NULL,NULL,0,NULL,0,0,NULL),
- (50,65,81,2,NULL,NULL,0,NULL,0,0,NULL),
- (51,186,196,1,NULL,NULL,1,NULL,0,0,NULL),
- (52,136,196,1,NULL,NULL,1,NULL,0,0,NULL),
- (53,186,19,1,NULL,NULL,1,NULL,0,0,NULL),
- (54,136,19,1,NULL,NULL,1,NULL,0,0,NULL),
- (55,136,186,4,NULL,NULL,1,NULL,0,0,NULL),
- (56,19,78,8,NULL,NULL,1,NULL,0,0,NULL),
- (57,186,78,8,NULL,NULL,1,NULL,0,0,NULL),
- (58,136,78,8,NULL,NULL,1,NULL,0,0,NULL),
- (59,196,78,7,NULL,NULL,1,NULL,0,0,NULL),
- (60,19,196,2,NULL,NULL,1,NULL,0,0,NULL),
- (61,176,134,1,NULL,NULL,1,NULL,0,0,NULL),
- (62,77,134,1,NULL,NULL,1,NULL,0,0,NULL),
- (63,176,154,1,NULL,NULL,1,NULL,0,0,NULL),
- (64,77,154,1,NULL,NULL,1,NULL,0,0,NULL),
- (65,77,176,4,NULL,NULL,1,NULL,0,0,NULL),
- (66,154,131,8,NULL,NULL,1,NULL,0,0,NULL),
- (67,176,131,8,NULL,NULL,1,NULL,0,0,NULL),
- (68,77,131,8,NULL,NULL,1,NULL,0,0,NULL),
- (69,134,131,7,NULL,NULL,1,NULL,0,0,NULL),
- (70,154,134,2,NULL,NULL,1,NULL,0,0,NULL),
- (71,47,193,1,NULL,NULL,1,NULL,0,0,NULL),
- (72,55,193,1,NULL,NULL,1,NULL,0,0,NULL),
- (73,47,27,1,NULL,NULL,1,NULL,0,0,NULL),
- (74,55,27,1,NULL,NULL,1,NULL,0,0,NULL),
- (75,55,47,4,NULL,NULL,1,NULL,0,0,NULL),
- (76,27,32,8,NULL,NULL,1,NULL,0,0,NULL),
- (77,47,32,8,NULL,NULL,1,NULL,0,0,NULL),
- (78,55,32,8,NULL,NULL,1,NULL,0,0,NULL),
- (79,193,32,7,NULL,NULL,0,NULL,0,0,NULL),
- (80,27,193,2,NULL,NULL,0,NULL,0,0,NULL),
- (81,114,182,1,NULL,NULL,1,NULL,0,0,NULL),
- (82,125,182,1,NULL,NULL,1,NULL,0,0,NULL),
- (83,114,53,1,NULL,NULL,1,NULL,0,0,NULL),
- (84,125,53,1,NULL,NULL,1,NULL,0,0,NULL),
- (85,125,114,4,NULL,NULL,1,NULL,0,0,NULL),
- (86,53,132,8,NULL,NULL,1,NULL,0,0,NULL),
- (87,114,132,8,NULL,NULL,1,NULL,0,0,NULL),
- (88,125,132,8,NULL,NULL,1,NULL,0,0,NULL),
- (89,182,132,7,NULL,NULL,0,NULL,0,0,NULL),
- (90,53,182,2,NULL,NULL,0,NULL,0,0,NULL),
- (91,85,139,1,NULL,NULL,1,NULL,0,0,NULL),
- (92,133,139,1,NULL,NULL,1,NULL,0,0,NULL),
- (93,85,24,1,NULL,NULL,1,NULL,0,0,NULL),
- (94,133,24,1,NULL,NULL,1,NULL,0,0,NULL),
- (95,133,85,4,NULL,NULL,1,NULL,0,0,NULL),
- (96,24,153,8,NULL,NULL,1,NULL,0,0,NULL),
- (97,85,153,8,NULL,NULL,1,NULL,0,0,NULL),
- (98,133,153,8,NULL,NULL,1,NULL,0,0,NULL),
- (99,139,153,7,NULL,NULL,0,NULL,0,0,NULL),
- (100,24,139,2,NULL,NULL,0,NULL,0,0,NULL),
- (101,87,155,1,NULL,NULL,1,NULL,0,0,NULL),
- (102,86,155,1,NULL,NULL,1,NULL,0,0,NULL),
- (103,87,123,1,NULL,NULL,1,NULL,0,0,NULL),
- (104,86,123,1,NULL,NULL,1,NULL,0,0,NULL),
- (105,86,87,4,NULL,NULL,1,NULL,0,0,NULL),
- (106,123,37,8,NULL,NULL,1,NULL,0,0,NULL),
- (107,87,37,8,NULL,NULL,1,NULL,0,0,NULL),
- (108,86,37,8,NULL,NULL,1,NULL,0,0,NULL),
- (109,155,37,7,NULL,NULL,1,NULL,0,0,NULL),
- (110,123,155,2,NULL,NULL,1,NULL,0,0,NULL),
- (111,16,75,1,NULL,NULL,1,NULL,0,0,NULL),
- (112,26,75,1,NULL,NULL,1,NULL,0,0,NULL),
- (113,16,117,1,NULL,NULL,1,NULL,0,0,NULL),
- (114,26,117,1,NULL,NULL,1,NULL,0,0,NULL),
- (115,26,16,4,NULL,NULL,1,NULL,0,0,NULL),
- (116,117,169,8,NULL,NULL,1,NULL,0,0,NULL),
- (117,16,169,8,NULL,NULL,1,NULL,0,0,NULL),
- (118,26,169,8,NULL,NULL,1,NULL,0,0,NULL),
- (119,75,169,7,NULL,NULL,0,NULL,0,0,NULL),
- (120,117,75,2,NULL,NULL,0,NULL,0,0,NULL),
- (121,181,6,1,NULL,NULL,1,NULL,0,0,NULL),
- (122,199,6,1,NULL,NULL,1,NULL,0,0,NULL),
- (123,181,36,1,NULL,NULL,1,NULL,0,0,NULL),
- (124,199,36,1,NULL,NULL,1,NULL,0,0,NULL),
- (125,199,181,4,NULL,NULL,1,NULL,0,0,NULL),
- (126,36,67,8,NULL,NULL,1,NULL,0,0,NULL),
- (127,181,67,8,NULL,NULL,1,NULL,0,0,NULL),
- (128,199,67,8,NULL,NULL,1,NULL,0,0,NULL),
- (129,6,67,7,NULL,NULL,1,NULL,0,0,NULL),
- (130,36,6,2,NULL,NULL,1,NULL,0,0,NULL),
- (131,179,51,1,NULL,NULL,1,NULL,0,0,NULL),
- (132,145,51,1,NULL,NULL,1,NULL,0,0,NULL),
- (133,179,31,1,NULL,NULL,1,NULL,0,0,NULL),
- (134,145,31,1,NULL,NULL,1,NULL,0,0,NULL),
- (135,145,179,4,NULL,NULL,1,NULL,0,0,NULL),
- (136,31,94,8,NULL,NULL,1,NULL,0,0,NULL),
- (137,179,94,8,NULL,NULL,1,NULL,0,0,NULL),
- (138,145,94,8,NULL,NULL,1,NULL,0,0,NULL),
- (139,51,94,7,NULL,NULL,1,NULL,0,0,NULL),
- (140,31,51,2,NULL,NULL,1,NULL,0,0,NULL),
- (141,41,163,1,NULL,NULL,1,NULL,0,0,NULL),
- (142,28,163,1,NULL,NULL,1,NULL,0,0,NULL),
- (143,41,74,1,NULL,NULL,1,NULL,0,0,NULL),
- (144,28,74,1,NULL,NULL,1,NULL,0,0,NULL),
- (145,28,41,4,NULL,NULL,1,NULL,0,0,NULL),
- (146,74,129,8,NULL,NULL,1,NULL,0,0,NULL),
- (147,41,129,8,NULL,NULL,1,NULL,0,0,NULL),
- (148,28,129,8,NULL,NULL,1,NULL,0,0,NULL),
- (149,163,129,7,NULL,NULL,0,NULL,0,0,NULL),
- (150,74,163,2,NULL,NULL,0,NULL,0,0,NULL),
- (151,8,191,1,NULL,NULL,1,NULL,0,0,NULL),
- (152,69,191,1,NULL,NULL,1,NULL,0,0,NULL),
- (153,8,45,1,NULL,NULL,1,NULL,0,0,NULL),
- (154,69,45,1,NULL,NULL,1,NULL,0,0,NULL),
- (155,69,8,4,NULL,NULL,1,NULL,0,0,NULL),
- (156,45,25,8,NULL,NULL,1,NULL,0,0,NULL),
- (157,8,25,8,NULL,NULL,1,NULL,0,0,NULL),
- (158,69,25,8,NULL,NULL,1,NULL,0,0,NULL),
- (159,191,25,7,NULL,NULL,0,NULL,0,0,NULL),
- (160,45,191,2,NULL,NULL,0,NULL,0,0,NULL),
- (161,152,159,1,NULL,NULL,1,NULL,0,0,NULL),
- (162,140,159,1,NULL,NULL,1,NULL,0,0,NULL),
- (163,152,5,1,NULL,NULL,1,NULL,0,0,NULL),
- (164,140,5,1,NULL,NULL,1,NULL,0,0,NULL),
- (165,140,152,4,NULL,NULL,1,NULL,0,0,NULL),
- (166,5,10,8,NULL,NULL,1,NULL,0,0,NULL),
- (167,152,10,8,NULL,NULL,1,NULL,0,0,NULL),
- (168,140,10,8,NULL,NULL,1,NULL,0,0,NULL),
- (169,159,10,7,NULL,NULL,1,NULL,0,0,NULL),
- (170,5,159,2,NULL,NULL,1,NULL,0,0,NULL),
- (171,22,99,1,NULL,NULL,1,NULL,0,0,NULL),
- (172,29,99,1,NULL,NULL,1,NULL,0,0,NULL),
- (173,22,3,1,NULL,NULL,1,NULL,0,0,NULL),
- (174,29,3,1,NULL,NULL,1,NULL,0,0,NULL),
- (175,29,22,4,NULL,NULL,1,NULL,0,0,NULL),
- (176,3,43,8,NULL,NULL,1,NULL,0,0,NULL),
- (177,22,43,8,NULL,NULL,1,NULL,0,0,NULL),
- (178,29,43,8,NULL,NULL,1,NULL,0,0,NULL),
- (179,99,43,7,NULL,NULL,1,NULL,0,0,NULL),
- (180,3,99,2,NULL,NULL,1,NULL,0,0,NULL),
- (181,175,66,1,NULL,NULL,1,NULL,0,0,NULL),
- (182,73,66,1,NULL,NULL,1,NULL,0,0,NULL),
- (183,175,23,1,NULL,NULL,1,NULL,0,0,NULL),
- (184,73,23,1,NULL,NULL,1,NULL,0,0,NULL),
- (185,73,175,4,NULL,NULL,1,NULL,0,0,NULL),
- (186,23,141,8,NULL,NULL,1,NULL,0,0,NULL),
- (187,175,141,8,NULL,NULL,1,NULL,0,0,NULL),
- (188,73,141,8,NULL,NULL,1,NULL,0,0,NULL),
- (189,66,141,7,NULL,NULL,1,NULL,0,0,NULL),
- (190,23,66,2,NULL,NULL,1,NULL,0,0,NULL),
- (191,137,38,1,NULL,NULL,1,NULL,0,0,NULL),
- (192,104,38,1,NULL,NULL,1,NULL,0,0,NULL),
- (193,137,160,1,NULL,NULL,1,NULL,0,0,NULL),
- (194,104,160,1,NULL,NULL,1,NULL,0,0,NULL),
- (195,104,137,4,NULL,NULL,1,NULL,0,0,NULL),
- (196,160,177,8,NULL,NULL,1,NULL,0,0,NULL),
- (197,137,177,8,NULL,NULL,1,NULL,0,0,NULL),
- (198,104,177,8,NULL,NULL,1,NULL,0,0,NULL),
- (199,38,177,7,NULL,NULL,0,NULL,0,0,NULL),
- (200,160,38,2,NULL,NULL,0,NULL,0,0,NULL),
- (201,19,17,5,NULL,NULL,1,NULL,0,0,NULL),
- (202,36,18,5,NULL,NULL,1,NULL,0,0,NULL),
- (203,126,21,5,NULL,NULL,1,NULL,0,0,NULL),
- (204,27,42,5,NULL,NULL,1,NULL,0,0,NULL),
- (205,135,93,5,NULL,NULL,1,NULL,0,0,NULL),
- (206,98,101,5,NULL,NULL,1,NULL,0,0,NULL),
- (207,76,102,5,NULL,NULL,1,NULL,0,0,NULL),
- (208,155,109,5,NULL,NULL,1,NULL,0,0,NULL),
- (209,136,115,5,NULL,NULL,1,NULL,0,0,NULL),
- (210,96,120,5,NULL,NULL,1,NULL,0,0,NULL),
- (211,86,173,5,NULL,NULL,1,NULL,0,0,NULL),
- (212,3,178,5,NULL,NULL,1,NULL,0,0,NULL),
- (213,119,184,5,NULL,NULL,1,NULL,0,0,NULL),
- (214,28,195,5,NULL,NULL,1,NULL,0,0,NULL);
+INSERT INTO `civicrm_relationship` (`id`, `contact_id_a`, `contact_id_b`, `relationship_type_id`, `start_date`, `end_date`, `is_active`, `description`, `is_permission_a_b`, `is_permission_b_a`, `case_id`, `created_date`, `modified_date`) VALUES
+ (1,57,106,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (2,15,106,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (3,57,169,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (4,15,169,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (5,15,57,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (6,169,130,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (7,57,130,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (8,15,130,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (9,106,130,7,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (10,169,106,2,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (11,196,160,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (12,6,160,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (13,196,63,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (14,6,63,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (15,6,196,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (16,63,71,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (17,196,71,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (18,6,71,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (19,160,71,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (20,63,160,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (21,18,157,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (22,12,157,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (23,18,120,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (24,12,120,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (25,12,18,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (26,120,41,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (27,18,41,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (28,12,41,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (29,157,41,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (30,120,157,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (31,118,36,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (32,176,36,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (33,118,181,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (34,176,181,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (35,176,118,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (36,181,172,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (37,118,172,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (38,176,172,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (39,36,172,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (40,181,36,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (41,3,5,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (42,149,5,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (43,3,75,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (44,149,75,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (45,149,3,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (46,75,162,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (47,3,162,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (48,149,162,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (49,5,162,7,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (50,75,5,2,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (51,146,192,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (52,159,192,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (53,146,82,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (54,159,82,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (55,159,146,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (56,82,161,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (57,146,161,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (58,159,161,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (59,192,161,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (60,82,192,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (61,84,183,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (62,90,183,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (63,84,198,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (64,90,198,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (65,90,84,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (66,198,42,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (67,84,42,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (68,90,42,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (69,183,42,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (70,198,183,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (71,39,24,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (72,32,24,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (73,39,49,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (74,32,49,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (75,32,39,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (76,49,44,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (77,39,44,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (78,32,44,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (79,24,44,7,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (80,49,24,2,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (81,150,62,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (82,180,62,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (83,150,168,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (84,180,168,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (85,180,150,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (86,168,35,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (87,150,35,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (88,180,35,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (89,62,35,7,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (90,168,62,2,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (91,167,175,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (92,65,175,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (93,167,152,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (94,65,152,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (95,65,167,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (96,152,108,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (97,167,108,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (98,65,108,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (99,175,108,7,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (100,152,175,2,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (101,13,148,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (102,141,148,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (103,13,107,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (104,141,107,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (105,141,13,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (106,107,88,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (107,13,88,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (108,141,88,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (109,148,88,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (110,107,148,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (111,81,154,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (112,34,154,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (113,81,20,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (114,34,20,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (115,34,81,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (116,20,93,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (117,81,93,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (118,34,93,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (119,154,93,7,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (120,20,154,2,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (121,17,48,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (122,70,48,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (123,17,47,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (124,70,47,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (125,70,17,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (126,47,102,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (127,17,102,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (128,70,102,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (129,48,102,7,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (130,47,48,2,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (131,136,144,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (132,19,144,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (133,136,85,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (134,19,85,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (135,19,136,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (136,85,87,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (137,136,87,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (138,19,87,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (139,144,87,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (140,85,144,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (141,21,109,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (142,95,109,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (143,21,73,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (144,95,73,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (145,95,21,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (146,73,38,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (147,21,38,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (148,95,38,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (149,109,38,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (150,73,109,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (151,50,185,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (152,51,185,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (153,50,113,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (154,51,113,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (155,51,50,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (156,113,110,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (157,50,110,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (158,51,110,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (159,185,110,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (160,113,185,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (161,31,147,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (162,128,147,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (163,31,132,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (164,128,132,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (165,128,31,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (166,132,135,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (167,31,135,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (168,128,135,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (169,147,135,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (170,132,147,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (171,194,94,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (172,89,94,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (173,194,96,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (174,89,96,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (175,89,194,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (176,96,8,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (177,194,8,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (178,89,8,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (179,94,8,7,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (180,96,94,2,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (181,4,16,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (182,189,16,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (183,4,7,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (184,189,7,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (185,189,4,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (186,7,133,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (187,4,133,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (188,189,133,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (189,16,133,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (190,7,16,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (191,91,40,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (192,156,40,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (193,91,97,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (194,156,97,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (195,156,91,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (196,97,190,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (197,91,190,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (198,156,190,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (199,40,190,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (200,97,40,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (201,119,22,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (202,186,23,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (203,128,25,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (204,19,33,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (205,154,54,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (206,36,58,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (207,75,60,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (208,169,77,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (209,174,83,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (210,120,114,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (211,143,142,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (212,27,153,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (213,32,158,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (214,199,191,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39');
 /*!40000 ALTER TABLE `civicrm_relationship` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -7460,434 +7401,434 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_relationship_cache` WRITE;
 /*!40000 ALTER TABLE `civicrm_relationship_cache` DISABLE KEYS */;
 INSERT INTO `civicrm_relationship_cache` (`id`, `relationship_id`, `relationship_type_id`, `orientation`, `near_contact_id`, `near_relation`, `far_contact_id`, `far_relation`, `is_active`, `start_date`, `end_date`, `case_id`) VALUES
- (1,1,1,'a_b',121,'Child of',35,'Parent of',1,NULL,NULL,NULL),
- (2,1,1,'b_a',35,'Parent of',121,'Child of',1,NULL,NULL,NULL),
- (3,2,1,'a_b',122,'Child of',35,'Parent of',1,NULL,NULL,NULL),
- (4,2,1,'b_a',35,'Parent of',122,'Child of',1,NULL,NULL,NULL),
- (5,3,1,'a_b',121,'Child of',110,'Parent of',1,NULL,NULL,NULL),
- (6,3,1,'b_a',110,'Parent of',121,'Child of',1,NULL,NULL,NULL),
- (7,4,1,'a_b',122,'Child of',110,'Parent of',1,NULL,NULL,NULL),
- (8,4,1,'b_a',110,'Parent of',122,'Child of',1,NULL,NULL,NULL),
- (9,5,4,'a_b',122,'Sibling of',121,'Sibling of',1,NULL,NULL,NULL),
- (10,5,4,'b_a',121,'Sibling of',122,'Sibling of',1,NULL,NULL,NULL),
- (11,6,8,'a_b',110,'Household Member of',44,'Household Member is',1,NULL,NULL,NULL),
- (12,6,8,'b_a',44,'Household Member is',110,'Household Member of',1,NULL,NULL,NULL),
- (13,7,8,'a_b',121,'Household Member of',44,'Household Member is',1,NULL,NULL,NULL),
- (14,7,8,'b_a',44,'Household Member is',121,'Household Member of',1,NULL,NULL,NULL),
- (15,8,8,'a_b',122,'Household Member of',44,'Household Member is',1,NULL,NULL,NULL),
- (16,8,8,'b_a',44,'Household Member is',122,'Household Member of',1,NULL,NULL,NULL),
- (17,9,7,'a_b',35,'Head of Household for',44,'Head of Household is',0,NULL,NULL,NULL),
- (18,9,7,'b_a',44,'Head of Household is',35,'Head of Household for',0,NULL,NULL,NULL),
- (19,10,2,'a_b',110,'Spouse of',35,'Spouse of',0,NULL,NULL,NULL),
- (20,10,2,'b_a',35,'Spouse of',110,'Spouse of',0,NULL,NULL,NULL),
- (21,11,1,'a_b',52,'Child of',156,'Parent of',1,NULL,NULL,NULL),
- (22,11,1,'b_a',156,'Parent of',52,'Child of',1,NULL,NULL,NULL),
- (23,12,1,'a_b',50,'Child of',156,'Parent of',1,NULL,NULL,NULL),
- (24,12,1,'b_a',156,'Parent of',50,'Child of',1,NULL,NULL,NULL),
- (25,13,1,'a_b',52,'Child of',143,'Parent of',1,NULL,NULL,NULL),
- (26,13,1,'b_a',143,'Parent of',52,'Child of',1,NULL,NULL,NULL),
- (27,14,1,'a_b',50,'Child of',143,'Parent of',1,NULL,NULL,NULL),
- (28,14,1,'b_a',143,'Parent of',50,'Child of',1,NULL,NULL,NULL),
- (29,15,4,'a_b',50,'Sibling of',52,'Sibling of',1,NULL,NULL,NULL),
- (30,15,4,'b_a',52,'Sibling of',50,'Sibling of',1,NULL,NULL,NULL),
- (31,16,8,'a_b',143,'Household Member of',201,'Household Member is',1,NULL,NULL,NULL),
- (32,16,8,'b_a',201,'Household Member is',143,'Household Member of',1,NULL,NULL,NULL),
- (33,17,8,'a_b',52,'Household Member of',201,'Household Member is',1,NULL,NULL,NULL),
- (34,17,8,'b_a',201,'Household Member is',52,'Household Member of',1,NULL,NULL,NULL),
- (35,18,8,'a_b',50,'Household Member of',201,'Household Member is',1,NULL,NULL,NULL),
- (36,18,8,'b_a',201,'Household Member is',50,'Household Member of',1,NULL,NULL,NULL),
- (37,19,7,'a_b',156,'Head of Household for',201,'Head of Household is',0,NULL,NULL,NULL),
- (38,19,7,'b_a',201,'Head of Household is',156,'Head of Household for',0,NULL,NULL,NULL),
- (39,20,2,'a_b',143,'Spouse of',156,'Spouse of',0,NULL,NULL,NULL),
- (40,20,2,'b_a',156,'Spouse of',143,'Spouse of',0,NULL,NULL,NULL),
- (41,21,1,'a_b',165,'Child of',146,'Parent of',1,NULL,NULL,NULL),
- (42,21,1,'b_a',146,'Parent of',165,'Child of',1,NULL,NULL,NULL),
- (43,22,1,'a_b',127,'Child of',146,'Parent of',1,NULL,NULL,NULL),
- (44,22,1,'b_a',146,'Parent of',127,'Child of',1,NULL,NULL,NULL),
- (45,23,1,'a_b',165,'Child of',82,'Parent of',1,NULL,NULL,NULL),
- (46,23,1,'b_a',82,'Parent of',165,'Child of',1,NULL,NULL,NULL),
- (47,24,1,'a_b',127,'Child of',82,'Parent of',1,NULL,NULL,NULL),
- (48,24,1,'b_a',82,'Parent of',127,'Child of',1,NULL,NULL,NULL),
- (49,25,4,'a_b',127,'Sibling of',165,'Sibling of',1,NULL,NULL,NULL),
- (50,25,4,'b_a',165,'Sibling of',127,'Sibling of',1,NULL,NULL,NULL),
- (51,26,8,'a_b',82,'Household Member of',124,'Household Member is',1,NULL,NULL,NULL),
- (52,26,8,'b_a',124,'Household Member is',82,'Household Member of',1,NULL,NULL,NULL),
- (53,27,8,'a_b',165,'Household Member of',124,'Household Member is',1,NULL,NULL,NULL),
- (54,27,8,'b_a',124,'Household Member is',165,'Household Member of',1,NULL,NULL,NULL),
- (55,28,8,'a_b',127,'Household Member of',124,'Household Member is',1,NULL,NULL,NULL),
- (56,28,8,'b_a',124,'Household Member is',127,'Household Member of',1,NULL,NULL,NULL),
- (57,29,7,'a_b',146,'Head of Household for',124,'Head of Household is',0,NULL,NULL,NULL),
- (58,29,7,'b_a',124,'Head of Household is',146,'Head of Household for',0,NULL,NULL,NULL),
- (59,30,2,'a_b',82,'Spouse of',146,'Spouse of',0,NULL,NULL,NULL),
- (60,30,2,'b_a',146,'Spouse of',82,'Spouse of',0,NULL,NULL,NULL),
- (61,31,1,'a_b',72,'Child of',190,'Parent of',1,NULL,NULL,NULL),
- (62,31,1,'b_a',190,'Parent of',72,'Child of',1,NULL,NULL,NULL),
- (63,32,1,'a_b',108,'Child of',190,'Parent of',1,NULL,NULL,NULL),
- (64,32,1,'b_a',190,'Parent of',108,'Child of',1,NULL,NULL,NULL),
- (65,33,1,'a_b',72,'Child of',59,'Parent of',1,NULL,NULL,NULL),
- (66,33,1,'b_a',59,'Parent of',72,'Child of',1,NULL,NULL,NULL),
- (67,34,1,'a_b',108,'Child of',59,'Parent of',1,NULL,NULL,NULL),
- (68,34,1,'b_a',59,'Parent of',108,'Child of',1,NULL,NULL,NULL),
- (69,35,4,'a_b',108,'Sibling of',72,'Sibling of',1,NULL,NULL,NULL),
- (70,35,4,'b_a',72,'Sibling of',108,'Sibling of',1,NULL,NULL,NULL),
- (71,36,8,'a_b',59,'Household Member of',151,'Household Member is',1,NULL,NULL,NULL),
- (72,36,8,'b_a',151,'Household Member is',59,'Household Member of',1,NULL,NULL,NULL),
- (73,37,8,'a_b',72,'Household Member of',151,'Household Member is',1,NULL,NULL,NULL),
- (74,37,8,'b_a',151,'Household Member is',72,'Household Member of',1,NULL,NULL,NULL),
- (75,38,8,'a_b',108,'Household Member of',151,'Household Member is',1,NULL,NULL,NULL),
- (76,38,8,'b_a',151,'Household Member is',108,'Household Member of',1,NULL,NULL,NULL),
- (77,39,7,'a_b',190,'Head of Household for',151,'Head of Household is',1,NULL,NULL,NULL),
- (78,39,7,'b_a',151,'Head of Household is',190,'Head of Household for',1,NULL,NULL,NULL),
- (79,40,2,'a_b',59,'Spouse of',190,'Spouse of',1,NULL,NULL,NULL),
- (80,40,2,'b_a',190,'Spouse of',59,'Spouse of',1,NULL,NULL,NULL),
- (81,41,1,'a_b',189,'Child of',81,'Parent of',1,NULL,NULL,NULL),
- (82,41,1,'b_a',81,'Parent of',189,'Child of',1,NULL,NULL,NULL),
- (83,42,1,'a_b',88,'Child of',81,'Parent of',1,NULL,NULL,NULL),
- (84,42,1,'b_a',81,'Parent of',88,'Child of',1,NULL,NULL,NULL),
- (85,43,1,'a_b',189,'Child of',65,'Parent of',1,NULL,NULL,NULL),
- (86,43,1,'b_a',65,'Parent of',189,'Child of',1,NULL,NULL,NULL),
- (87,44,1,'a_b',88,'Child of',65,'Parent of',1,NULL,NULL,NULL),
- (88,44,1,'b_a',65,'Parent of',88,'Child of',1,NULL,NULL,NULL),
- (89,45,4,'a_b',88,'Sibling of',189,'Sibling of',1,NULL,NULL,NULL),
- (90,45,4,'b_a',189,'Sibling of',88,'Sibling of',1,NULL,NULL,NULL),
- (91,46,8,'a_b',65,'Household Member of',90,'Household Member is',1,NULL,NULL,NULL),
- (92,46,8,'b_a',90,'Household Member is',65,'Household Member of',1,NULL,NULL,NULL),
- (93,47,8,'a_b',189,'Household Member of',90,'Household Member is',1,NULL,NULL,NULL),
- (94,47,8,'b_a',90,'Household Member is',189,'Household Member of',1,NULL,NULL,NULL),
- (95,48,8,'a_b',88,'Household Member of',90,'Household Member is',1,NULL,NULL,NULL),
- (96,48,8,'b_a',90,'Household Member is',88,'Household Member of',1,NULL,NULL,NULL),
- (97,49,7,'a_b',81,'Head of Household for',90,'Head of Household is',0,NULL,NULL,NULL),
- (98,49,7,'b_a',90,'Head of Household is',81,'Head of Household for',0,NULL,NULL,NULL),
- (99,50,2,'a_b',65,'Spouse of',81,'Spouse of',0,NULL,NULL,NULL),
- (100,50,2,'b_a',81,'Spouse of',65,'Spouse of',0,NULL,NULL,NULL),
- (101,51,1,'a_b',186,'Child of',196,'Parent of',1,NULL,NULL,NULL),
- (102,51,1,'b_a',196,'Parent of',186,'Child of',1,NULL,NULL,NULL),
- (103,52,1,'a_b',136,'Child of',196,'Parent of',1,NULL,NULL,NULL),
- (104,52,1,'b_a',196,'Parent of',136,'Child of',1,NULL,NULL,NULL),
- (105,53,1,'a_b',186,'Child of',19,'Parent of',1,NULL,NULL,NULL),
- (106,53,1,'b_a',19,'Parent of',186,'Child of',1,NULL,NULL,NULL),
- (107,54,1,'a_b',136,'Child of',19,'Parent of',1,NULL,NULL,NULL),
- (108,54,1,'b_a',19,'Parent of',136,'Child of',1,NULL,NULL,NULL),
- (109,55,4,'a_b',136,'Sibling of',186,'Sibling of',1,NULL,NULL,NULL),
- (110,55,4,'b_a',186,'Sibling of',136,'Sibling of',1,NULL,NULL,NULL),
- (111,56,8,'a_b',19,'Household Member of',78,'Household Member is',1,NULL,NULL,NULL),
- (112,56,8,'b_a',78,'Household Member is',19,'Household Member of',1,NULL,NULL,NULL),
- (113,57,8,'a_b',186,'Household Member of',78,'Household Member is',1,NULL,NULL,NULL),
- (114,57,8,'b_a',78,'Household Member is',186,'Household Member of',1,NULL,NULL,NULL),
- (115,58,8,'a_b',136,'Household Member of',78,'Household Member is',1,NULL,NULL,NULL),
- (116,58,8,'b_a',78,'Household Member is',136,'Household Member of',1,NULL,NULL,NULL),
- (117,59,7,'a_b',196,'Head of Household for',78,'Head of Household is',1,NULL,NULL,NULL),
- (118,59,7,'b_a',78,'Head of Household is',196,'Head of Household for',1,NULL,NULL,NULL),
- (119,60,2,'a_b',19,'Spouse of',196,'Spouse of',1,NULL,NULL,NULL),
- (120,60,2,'b_a',196,'Spouse of',19,'Spouse of',1,NULL,NULL,NULL),
- (121,61,1,'a_b',176,'Child of',134,'Parent of',1,NULL,NULL,NULL),
- (122,61,1,'b_a',134,'Parent of',176,'Child of',1,NULL,NULL,NULL),
- (123,62,1,'a_b',77,'Child of',134,'Parent of',1,NULL,NULL,NULL),
- (124,62,1,'b_a',134,'Parent of',77,'Child of',1,NULL,NULL,NULL),
- (125,63,1,'a_b',176,'Child of',154,'Parent of',1,NULL,NULL,NULL),
- (126,63,1,'b_a',154,'Parent of',176,'Child of',1,NULL,NULL,NULL),
- (127,64,1,'a_b',77,'Child of',154,'Parent of',1,NULL,NULL,NULL),
- (128,64,1,'b_a',154,'Parent of',77,'Child of',1,NULL,NULL,NULL),
- (129,65,4,'a_b',77,'Sibling of',176,'Sibling of',1,NULL,NULL,NULL),
- (130,65,4,'b_a',176,'Sibling of',77,'Sibling of',1,NULL,NULL,NULL),
- (131,66,8,'a_b',154,'Household Member of',131,'Household Member is',1,NULL,NULL,NULL),
- (132,66,8,'b_a',131,'Household Member is',154,'Household Member of',1,NULL,NULL,NULL),
- (133,67,8,'a_b',176,'Household Member of',131,'Household Member is',1,NULL,NULL,NULL),
- (134,67,8,'b_a',131,'Household Member is',176,'Household Member of',1,NULL,NULL,NULL),
- (135,68,8,'a_b',77,'Household Member of',131,'Household Member is',1,NULL,NULL,NULL),
- (136,68,8,'b_a',131,'Household Member is',77,'Household Member of',1,NULL,NULL,NULL),
- (137,69,7,'a_b',134,'Head of Household for',131,'Head of Household is',1,NULL,NULL,NULL),
- (138,69,7,'b_a',131,'Head of Household is',134,'Head of Household for',1,NULL,NULL,NULL),
- (139,70,2,'a_b',154,'Spouse of',134,'Spouse of',1,NULL,NULL,NULL),
- (140,70,2,'b_a',134,'Spouse of',154,'Spouse of',1,NULL,NULL,NULL),
- (141,71,1,'a_b',47,'Child of',193,'Parent of',1,NULL,NULL,NULL),
- (142,71,1,'b_a',193,'Parent of',47,'Child of',1,NULL,NULL,NULL),
- (143,72,1,'a_b',55,'Child of',193,'Parent of',1,NULL,NULL,NULL),
- (144,72,1,'b_a',193,'Parent of',55,'Child of',1,NULL,NULL,NULL),
- (145,73,1,'a_b',47,'Child of',27,'Parent of',1,NULL,NULL,NULL),
- (146,73,1,'b_a',27,'Parent of',47,'Child of',1,NULL,NULL,NULL),
- (147,74,1,'a_b',55,'Child of',27,'Parent of',1,NULL,NULL,NULL),
- (148,74,1,'b_a',27,'Parent of',55,'Child of',1,NULL,NULL,NULL),
- (149,75,4,'a_b',55,'Sibling of',47,'Sibling of',1,NULL,NULL,NULL),
- (150,75,4,'b_a',47,'Sibling of',55,'Sibling of',1,NULL,NULL,NULL),
- (151,76,8,'a_b',27,'Household Member of',32,'Household Member is',1,NULL,NULL,NULL),
- (152,76,8,'b_a',32,'Household Member is',27,'Household Member of',1,NULL,NULL,NULL),
- (153,77,8,'a_b',47,'Household Member of',32,'Household Member is',1,NULL,NULL,NULL),
- (154,77,8,'b_a',32,'Household Member is',47,'Household Member of',1,NULL,NULL,NULL),
- (155,78,8,'a_b',55,'Household Member of',32,'Household Member is',1,NULL,NULL,NULL),
- (156,78,8,'b_a',32,'Household Member is',55,'Household Member of',1,NULL,NULL,NULL),
- (157,79,7,'a_b',193,'Head of Household for',32,'Head of Household is',0,NULL,NULL,NULL),
- (158,79,7,'b_a',32,'Head of Household is',193,'Head of Household for',0,NULL,NULL,NULL),
- (159,80,2,'a_b',27,'Spouse of',193,'Spouse of',0,NULL,NULL,NULL),
- (160,80,2,'b_a',193,'Spouse of',27,'Spouse of',0,NULL,NULL,NULL),
- (161,81,1,'a_b',114,'Child of',182,'Parent of',1,NULL,NULL,NULL),
- (162,81,1,'b_a',182,'Parent of',114,'Child of',1,NULL,NULL,NULL),
- (163,82,1,'a_b',125,'Child of',182,'Parent of',1,NULL,NULL,NULL),
- (164,82,1,'b_a',182,'Parent of',125,'Child of',1,NULL,NULL,NULL),
- (165,83,1,'a_b',114,'Child of',53,'Parent of',1,NULL,NULL,NULL),
- (166,83,1,'b_a',53,'Parent of',114,'Child of',1,NULL,NULL,NULL),
- (167,84,1,'a_b',125,'Child of',53,'Parent of',1,NULL,NULL,NULL),
- (168,84,1,'b_a',53,'Parent of',125,'Child of',1,NULL,NULL,NULL),
- (169,85,4,'a_b',125,'Sibling of',114,'Sibling of',1,NULL,NULL,NULL),
- (170,85,4,'b_a',114,'Sibling of',125,'Sibling of',1,NULL,NULL,NULL),
- (171,86,8,'a_b',53,'Household Member of',132,'Household Member is',1,NULL,NULL,NULL),
- (172,86,8,'b_a',132,'Household Member is',53,'Household Member of',1,NULL,NULL,NULL),
- (173,87,8,'a_b',114,'Household Member of',132,'Household Member is',1,NULL,NULL,NULL),
- (174,87,8,'b_a',132,'Household Member is',114,'Household Member of',1,NULL,NULL,NULL),
- (175,88,8,'a_b',125,'Household Member of',132,'Household Member is',1,NULL,NULL,NULL),
- (176,88,8,'b_a',132,'Household Member is',125,'Household Member of',1,NULL,NULL,NULL),
- (177,89,7,'a_b',182,'Head of Household for',132,'Head of Household is',0,NULL,NULL,NULL),
- (178,89,7,'b_a',132,'Head of Household is',182,'Head of Household for',0,NULL,NULL,NULL),
- (179,90,2,'a_b',53,'Spouse of',182,'Spouse of',0,NULL,NULL,NULL),
- (180,90,2,'b_a',182,'Spouse of',53,'Spouse of',0,NULL,NULL,NULL),
- (181,91,1,'a_b',85,'Child of',139,'Parent of',1,NULL,NULL,NULL),
- (182,91,1,'b_a',139,'Parent of',85,'Child of',1,NULL,NULL,NULL),
- (183,92,1,'a_b',133,'Child of',139,'Parent of',1,NULL,NULL,NULL),
- (184,92,1,'b_a',139,'Parent of',133,'Child of',1,NULL,NULL,NULL),
- (185,93,1,'a_b',85,'Child of',24,'Parent of',1,NULL,NULL,NULL),
- (186,93,1,'b_a',24,'Parent of',85,'Child of',1,NULL,NULL,NULL),
- (187,94,1,'a_b',133,'Child of',24,'Parent of',1,NULL,NULL,NULL),
- (188,94,1,'b_a',24,'Parent of',133,'Child of',1,NULL,NULL,NULL),
- (189,95,4,'a_b',133,'Sibling of',85,'Sibling of',1,NULL,NULL,NULL),
- (190,95,4,'b_a',85,'Sibling of',133,'Sibling of',1,NULL,NULL,NULL),
- (191,96,8,'a_b',24,'Household Member of',153,'Household Member is',1,NULL,NULL,NULL),
- (192,96,8,'b_a',153,'Household Member is',24,'Household Member of',1,NULL,NULL,NULL),
- (193,97,8,'a_b',85,'Household Member of',153,'Household Member is',1,NULL,NULL,NULL),
- (194,97,8,'b_a',153,'Household Member is',85,'Household Member of',1,NULL,NULL,NULL),
- (195,98,8,'a_b',133,'Household Member of',153,'Household Member is',1,NULL,NULL,NULL),
- (196,98,8,'b_a',153,'Household Member is',133,'Household Member of',1,NULL,NULL,NULL),
- (197,99,7,'a_b',139,'Head of Household for',153,'Head of Household is',0,NULL,NULL,NULL),
- (198,99,7,'b_a',153,'Head of Household is',139,'Head of Household for',0,NULL,NULL,NULL),
- (199,100,2,'a_b',24,'Spouse of',139,'Spouse of',0,NULL,NULL,NULL),
- (200,100,2,'b_a',139,'Spouse of',24,'Spouse of',0,NULL,NULL,NULL),
- (201,101,1,'a_b',87,'Child of',155,'Parent of',1,NULL,NULL,NULL),
- (202,101,1,'b_a',155,'Parent of',87,'Child of',1,NULL,NULL,NULL),
- (203,102,1,'a_b',86,'Child of',155,'Parent of',1,NULL,NULL,NULL),
- (204,102,1,'b_a',155,'Parent of',86,'Child of',1,NULL,NULL,NULL),
- (205,103,1,'a_b',87,'Child of',123,'Parent of',1,NULL,NULL,NULL),
- (206,103,1,'b_a',123,'Parent of',87,'Child of',1,NULL,NULL,NULL),
- (207,104,1,'a_b',86,'Child of',123,'Parent of',1,NULL,NULL,NULL),
- (208,104,1,'b_a',123,'Parent of',86,'Child of',1,NULL,NULL,NULL),
- (209,105,4,'a_b',86,'Sibling of',87,'Sibling of',1,NULL,NULL,NULL),
- (210,105,4,'b_a',87,'Sibling of',86,'Sibling of',1,NULL,NULL,NULL),
- (211,106,8,'a_b',123,'Household Member of',37,'Household Member is',1,NULL,NULL,NULL),
- (212,106,8,'b_a',37,'Household Member is',123,'Household Member of',1,NULL,NULL,NULL),
- (213,107,8,'a_b',87,'Household Member of',37,'Household Member is',1,NULL,NULL,NULL),
- (214,107,8,'b_a',37,'Household Member is',87,'Household Member of',1,NULL,NULL,NULL),
- (215,108,8,'a_b',86,'Household Member of',37,'Household Member is',1,NULL,NULL,NULL),
- (216,108,8,'b_a',37,'Household Member is',86,'Household Member of',1,NULL,NULL,NULL),
- (217,109,7,'a_b',155,'Head of Household for',37,'Head of Household is',1,NULL,NULL,NULL),
- (218,109,7,'b_a',37,'Head of Household is',155,'Head of Household for',1,NULL,NULL,NULL),
- (219,110,2,'a_b',123,'Spouse of',155,'Spouse of',1,NULL,NULL,NULL),
- (220,110,2,'b_a',155,'Spouse of',123,'Spouse of',1,NULL,NULL,NULL),
- (221,111,1,'a_b',16,'Child of',75,'Parent of',1,NULL,NULL,NULL),
- (222,111,1,'b_a',75,'Parent of',16,'Child of',1,NULL,NULL,NULL),
- (223,112,1,'a_b',26,'Child of',75,'Parent of',1,NULL,NULL,NULL),
- (224,112,1,'b_a',75,'Parent of',26,'Child of',1,NULL,NULL,NULL),
- (225,113,1,'a_b',16,'Child of',117,'Parent of',1,NULL,NULL,NULL),
- (226,113,1,'b_a',117,'Parent of',16,'Child of',1,NULL,NULL,NULL),
- (227,114,1,'a_b',26,'Child of',117,'Parent of',1,NULL,NULL,NULL),
- (228,114,1,'b_a',117,'Parent of',26,'Child of',1,NULL,NULL,NULL),
- (229,115,4,'a_b',26,'Sibling of',16,'Sibling of',1,NULL,NULL,NULL),
- (230,115,4,'b_a',16,'Sibling of',26,'Sibling of',1,NULL,NULL,NULL),
- (231,116,8,'a_b',117,'Household Member of',169,'Household Member is',1,NULL,NULL,NULL),
- (232,116,8,'b_a',169,'Household Member is',117,'Household Member of',1,NULL,NULL,NULL),
- (233,117,8,'a_b',16,'Household Member of',169,'Household Member is',1,NULL,NULL,NULL),
- (234,117,8,'b_a',169,'Household Member is',16,'Household Member of',1,NULL,NULL,NULL),
- (235,118,8,'a_b',26,'Household Member of',169,'Household Member is',1,NULL,NULL,NULL),
- (236,118,8,'b_a',169,'Household Member is',26,'Household Member of',1,NULL,NULL,NULL),
- (237,119,7,'a_b',75,'Head of Household for',169,'Head of Household is',0,NULL,NULL,NULL),
- (238,119,7,'b_a',169,'Head of Household is',75,'Head of Household for',0,NULL,NULL,NULL),
- (239,120,2,'a_b',117,'Spouse of',75,'Spouse of',0,NULL,NULL,NULL),
- (240,120,2,'b_a',75,'Spouse of',117,'Spouse of',0,NULL,NULL,NULL),
- (241,121,1,'a_b',181,'Child of',6,'Parent of',1,NULL,NULL,NULL),
- (242,121,1,'b_a',6,'Parent of',181,'Child of',1,NULL,NULL,NULL),
- (243,122,1,'a_b',199,'Child of',6,'Parent of',1,NULL,NULL,NULL),
- (244,122,1,'b_a',6,'Parent of',199,'Child of',1,NULL,NULL,NULL),
- (245,123,1,'a_b',181,'Child of',36,'Parent of',1,NULL,NULL,NULL),
- (246,123,1,'b_a',36,'Parent of',181,'Child of',1,NULL,NULL,NULL),
- (247,124,1,'a_b',199,'Child of',36,'Parent of',1,NULL,NULL,NULL),
- (248,124,1,'b_a',36,'Parent of',199,'Child of',1,NULL,NULL,NULL),
- (249,125,4,'a_b',199,'Sibling of',181,'Sibling of',1,NULL,NULL,NULL),
- (250,125,4,'b_a',181,'Sibling of',199,'Sibling of',1,NULL,NULL,NULL),
- (251,126,8,'a_b',36,'Household Member of',67,'Household Member is',1,NULL,NULL,NULL),
- (252,126,8,'b_a',67,'Household Member is',36,'Household Member of',1,NULL,NULL,NULL),
- (253,127,8,'a_b',181,'Household Member of',67,'Household Member is',1,NULL,NULL,NULL),
- (254,127,8,'b_a',67,'Household Member is',181,'Household Member of',1,NULL,NULL,NULL),
- (255,128,8,'a_b',199,'Household Member of',67,'Household Member is',1,NULL,NULL,NULL),
- (256,128,8,'b_a',67,'Household Member is',199,'Household Member of',1,NULL,NULL,NULL),
- (257,129,7,'a_b',6,'Head of Household for',67,'Head of Household is',1,NULL,NULL,NULL),
- (258,129,7,'b_a',67,'Head of Household is',6,'Head of Household for',1,NULL,NULL,NULL),
- (259,130,2,'a_b',36,'Spouse of',6,'Spouse of',1,NULL,NULL,NULL),
- (260,130,2,'b_a',6,'Spouse of',36,'Spouse of',1,NULL,NULL,NULL),
- (261,131,1,'a_b',179,'Child of',51,'Parent of',1,NULL,NULL,NULL),
- (262,131,1,'b_a',51,'Parent of',179,'Child of',1,NULL,NULL,NULL),
- (263,132,1,'a_b',145,'Child of',51,'Parent of',1,NULL,NULL,NULL),
- (264,132,1,'b_a',51,'Parent of',145,'Child of',1,NULL,NULL,NULL),
- (265,133,1,'a_b',179,'Child of',31,'Parent of',1,NULL,NULL,NULL),
- (266,133,1,'b_a',31,'Parent of',179,'Child of',1,NULL,NULL,NULL),
- (267,134,1,'a_b',145,'Child of',31,'Parent of',1,NULL,NULL,NULL),
- (268,134,1,'b_a',31,'Parent of',145,'Child of',1,NULL,NULL,NULL),
- (269,135,4,'a_b',145,'Sibling of',179,'Sibling of',1,NULL,NULL,NULL),
- (270,135,4,'b_a',179,'Sibling of',145,'Sibling of',1,NULL,NULL,NULL),
- (271,136,8,'a_b',31,'Household Member of',94,'Household Member is',1,NULL,NULL,NULL),
- (272,136,8,'b_a',94,'Household Member is',31,'Household Member of',1,NULL,NULL,NULL),
- (273,137,8,'a_b',179,'Household Member of',94,'Household Member is',1,NULL,NULL,NULL),
- (274,137,8,'b_a',94,'Household Member is',179,'Household Member of',1,NULL,NULL,NULL),
- (275,138,8,'a_b',145,'Household Member of',94,'Household Member is',1,NULL,NULL,NULL),
- (276,138,8,'b_a',94,'Household Member is',145,'Household Member of',1,NULL,NULL,NULL),
- (277,139,7,'a_b',51,'Head of Household for',94,'Head of Household is',1,NULL,NULL,NULL),
- (278,139,7,'b_a',94,'Head of Household is',51,'Head of Household for',1,NULL,NULL,NULL),
- (279,140,2,'a_b',31,'Spouse of',51,'Spouse of',1,NULL,NULL,NULL),
- (280,140,2,'b_a',51,'Spouse of',31,'Spouse of',1,NULL,NULL,NULL),
- (281,141,1,'a_b',41,'Child of',163,'Parent of',1,NULL,NULL,NULL),
- (282,141,1,'b_a',163,'Parent of',41,'Child of',1,NULL,NULL,NULL),
- (283,142,1,'a_b',28,'Child of',163,'Parent of',1,NULL,NULL,NULL),
- (284,142,1,'b_a',163,'Parent of',28,'Child of',1,NULL,NULL,NULL),
- (285,143,1,'a_b',41,'Child of',74,'Parent of',1,NULL,NULL,NULL),
- (286,143,1,'b_a',74,'Parent of',41,'Child of',1,NULL,NULL,NULL),
- (287,144,1,'a_b',28,'Child of',74,'Parent of',1,NULL,NULL,NULL),
- (288,144,1,'b_a',74,'Parent of',28,'Child of',1,NULL,NULL,NULL),
- (289,145,4,'a_b',28,'Sibling of',41,'Sibling of',1,NULL,NULL,NULL),
- (290,145,4,'b_a',41,'Sibling of',28,'Sibling of',1,NULL,NULL,NULL),
- (291,146,8,'a_b',74,'Household Member of',129,'Household Member is',1,NULL,NULL,NULL),
- (292,146,8,'b_a',129,'Household Member is',74,'Household Member of',1,NULL,NULL,NULL),
- (293,147,8,'a_b',41,'Household Member of',129,'Household Member is',1,NULL,NULL,NULL),
- (294,147,8,'b_a',129,'Household Member is',41,'Household Member of',1,NULL,NULL,NULL),
- (295,148,8,'a_b',28,'Household Member of',129,'Household Member is',1,NULL,NULL,NULL),
- (296,148,8,'b_a',129,'Household Member is',28,'Household Member of',1,NULL,NULL,NULL),
- (297,149,7,'a_b',163,'Head of Household for',129,'Head of Household is',0,NULL,NULL,NULL),
- (298,149,7,'b_a',129,'Head of Household is',163,'Head of Household for',0,NULL,NULL,NULL),
- (299,150,2,'a_b',74,'Spouse of',163,'Spouse of',0,NULL,NULL,NULL),
- (300,150,2,'b_a',163,'Spouse of',74,'Spouse of',0,NULL,NULL,NULL),
- (301,151,1,'a_b',8,'Child of',191,'Parent of',1,NULL,NULL,NULL),
- (302,151,1,'b_a',191,'Parent of',8,'Child of',1,NULL,NULL,NULL),
- (303,152,1,'a_b',69,'Child of',191,'Parent of',1,NULL,NULL,NULL),
- (304,152,1,'b_a',191,'Parent of',69,'Child of',1,NULL,NULL,NULL),
- (305,153,1,'a_b',8,'Child of',45,'Parent of',1,NULL,NULL,NULL),
- (306,153,1,'b_a',45,'Parent of',8,'Child of',1,NULL,NULL,NULL),
- (307,154,1,'a_b',69,'Child of',45,'Parent of',1,NULL,NULL,NULL),
- (308,154,1,'b_a',45,'Parent of',69,'Child of',1,NULL,NULL,NULL),
- (309,155,4,'a_b',69,'Sibling of',8,'Sibling of',1,NULL,NULL,NULL),
- (310,155,4,'b_a',8,'Sibling of',69,'Sibling of',1,NULL,NULL,NULL),
- (311,156,8,'a_b',45,'Household Member of',25,'Household Member is',1,NULL,NULL,NULL),
- (312,156,8,'b_a',25,'Household Member is',45,'Household Member of',1,NULL,NULL,NULL),
- (313,157,8,'a_b',8,'Household Member of',25,'Household Member is',1,NULL,NULL,NULL),
- (314,157,8,'b_a',25,'Household Member is',8,'Household Member of',1,NULL,NULL,NULL),
- (315,158,8,'a_b',69,'Household Member of',25,'Household Member is',1,NULL,NULL,NULL),
- (316,158,8,'b_a',25,'Household Member is',69,'Household Member of',1,NULL,NULL,NULL),
- (317,159,7,'a_b',191,'Head of Household for',25,'Head of Household is',0,NULL,NULL,NULL),
- (318,159,7,'b_a',25,'Head of Household is',191,'Head of Household for',0,NULL,NULL,NULL),
- (319,160,2,'a_b',45,'Spouse of',191,'Spouse of',0,NULL,NULL,NULL),
- (320,160,2,'b_a',191,'Spouse of',45,'Spouse of',0,NULL,NULL,NULL),
- (321,161,1,'a_b',152,'Child of',159,'Parent of',1,NULL,NULL,NULL),
- (322,161,1,'b_a',159,'Parent of',152,'Child of',1,NULL,NULL,NULL),
- (323,162,1,'a_b',140,'Child of',159,'Parent of',1,NULL,NULL,NULL),
- (324,162,1,'b_a',159,'Parent of',140,'Child of',1,NULL,NULL,NULL),
- (325,163,1,'a_b',152,'Child of',5,'Parent of',1,NULL,NULL,NULL),
- (326,163,1,'b_a',5,'Parent of',152,'Child of',1,NULL,NULL,NULL),
- (327,164,1,'a_b',140,'Child of',5,'Parent of',1,NULL,NULL,NULL),
- (328,164,1,'b_a',5,'Parent of',140,'Child of',1,NULL,NULL,NULL),
- (329,165,4,'a_b',140,'Sibling of',152,'Sibling of',1,NULL,NULL,NULL),
- (330,165,4,'b_a',152,'Sibling of',140,'Sibling of',1,NULL,NULL,NULL),
- (331,166,8,'a_b',5,'Household Member of',10,'Household Member is',1,NULL,NULL,NULL),
- (332,166,8,'b_a',10,'Household Member is',5,'Household Member of',1,NULL,NULL,NULL),
- (333,167,8,'a_b',152,'Household Member of',10,'Household Member is',1,NULL,NULL,NULL),
- (334,167,8,'b_a',10,'Household Member is',152,'Household Member of',1,NULL,NULL,NULL),
- (335,168,8,'a_b',140,'Household Member of',10,'Household Member is',1,NULL,NULL,NULL),
- (336,168,8,'b_a',10,'Household Member is',140,'Household Member of',1,NULL,NULL,NULL),
- (337,169,7,'a_b',159,'Head of Household for',10,'Head of Household is',1,NULL,NULL,NULL),
- (338,169,7,'b_a',10,'Head of Household is',159,'Head of Household for',1,NULL,NULL,NULL),
- (339,170,2,'a_b',5,'Spouse of',159,'Spouse of',1,NULL,NULL,NULL),
- (340,170,2,'b_a',159,'Spouse of',5,'Spouse of',1,NULL,NULL,NULL),
- (341,171,1,'a_b',22,'Child of',99,'Parent of',1,NULL,NULL,NULL),
- (342,171,1,'b_a',99,'Parent of',22,'Child of',1,NULL,NULL,NULL),
- (343,172,1,'a_b',29,'Child of',99,'Parent of',1,NULL,NULL,NULL),
- (344,172,1,'b_a',99,'Parent of',29,'Child of',1,NULL,NULL,NULL),
- (345,173,1,'a_b',22,'Child of',3,'Parent of',1,NULL,NULL,NULL),
- (346,173,1,'b_a',3,'Parent of',22,'Child of',1,NULL,NULL,NULL),
- (347,174,1,'a_b',29,'Child of',3,'Parent of',1,NULL,NULL,NULL),
- (348,174,1,'b_a',3,'Parent of',29,'Child of',1,NULL,NULL,NULL),
- (349,175,4,'a_b',29,'Sibling of',22,'Sibling of',1,NULL,NULL,NULL),
- (350,175,4,'b_a',22,'Sibling of',29,'Sibling of',1,NULL,NULL,NULL),
- (351,176,8,'a_b',3,'Household Member of',43,'Household Member is',1,NULL,NULL,NULL),
- (352,176,8,'b_a',43,'Household Member is',3,'Household Member of',1,NULL,NULL,NULL),
- (353,177,8,'a_b',22,'Household Member of',43,'Household Member is',1,NULL,NULL,NULL),
- (354,177,8,'b_a',43,'Household Member is',22,'Household Member of',1,NULL,NULL,NULL),
- (355,178,8,'a_b',29,'Household Member of',43,'Household Member is',1,NULL,NULL,NULL),
- (356,178,8,'b_a',43,'Household Member is',29,'Household Member of',1,NULL,NULL,NULL),
- (357,179,7,'a_b',99,'Head of Household for',43,'Head of Household is',1,NULL,NULL,NULL),
- (358,179,7,'b_a',43,'Head of Household is',99,'Head of Household for',1,NULL,NULL,NULL),
- (359,180,2,'a_b',3,'Spouse of',99,'Spouse of',1,NULL,NULL,NULL),
- (360,180,2,'b_a',99,'Spouse of',3,'Spouse of',1,NULL,NULL,NULL),
- (361,181,1,'a_b',175,'Child of',66,'Parent of',1,NULL,NULL,NULL),
- (362,181,1,'b_a',66,'Parent of',175,'Child of',1,NULL,NULL,NULL),
- (363,182,1,'a_b',73,'Child of',66,'Parent of',1,NULL,NULL,NULL),
- (364,182,1,'b_a',66,'Parent of',73,'Child of',1,NULL,NULL,NULL),
- (365,183,1,'a_b',175,'Child of',23,'Parent of',1,NULL,NULL,NULL),
- (366,183,1,'b_a',23,'Parent of',175,'Child of',1,NULL,NULL,NULL),
- (367,184,1,'a_b',73,'Child of',23,'Parent of',1,NULL,NULL,NULL),
- (368,184,1,'b_a',23,'Parent of',73,'Child of',1,NULL,NULL,NULL),
- (369,185,4,'a_b',73,'Sibling of',175,'Sibling of',1,NULL,NULL,NULL),
- (370,185,4,'b_a',175,'Sibling of',73,'Sibling of',1,NULL,NULL,NULL),
- (371,186,8,'a_b',23,'Household Member of',141,'Household Member is',1,NULL,NULL,NULL),
- (372,186,8,'b_a',141,'Household Member is',23,'Household Member of',1,NULL,NULL,NULL),
- (373,187,8,'a_b',175,'Household Member of',141,'Household Member is',1,NULL,NULL,NULL),
- (374,187,8,'b_a',141,'Household Member is',175,'Household Member of',1,NULL,NULL,NULL),
- (375,188,8,'a_b',73,'Household Member of',141,'Household Member is',1,NULL,NULL,NULL),
- (376,188,8,'b_a',141,'Household Member is',73,'Household Member of',1,NULL,NULL,NULL),
- (377,189,7,'a_b',66,'Head of Household for',141,'Head of Household is',1,NULL,NULL,NULL),
- (378,189,7,'b_a',141,'Head of Household is',66,'Head of Household for',1,NULL,NULL,NULL),
- (379,190,2,'a_b',23,'Spouse of',66,'Spouse of',1,NULL,NULL,NULL),
- (380,190,2,'b_a',66,'Spouse of',23,'Spouse of',1,NULL,NULL,NULL),
- (381,191,1,'a_b',137,'Child of',38,'Parent of',1,NULL,NULL,NULL),
- (382,191,1,'b_a',38,'Parent of',137,'Child of',1,NULL,NULL,NULL),
- (383,192,1,'a_b',104,'Child of',38,'Parent of',1,NULL,NULL,NULL),
- (384,192,1,'b_a',38,'Parent of',104,'Child of',1,NULL,NULL,NULL),
- (385,193,1,'a_b',137,'Child of',160,'Parent of',1,NULL,NULL,NULL),
- (386,193,1,'b_a',160,'Parent of',137,'Child of',1,NULL,NULL,NULL),
- (387,194,1,'a_b',104,'Child of',160,'Parent of',1,NULL,NULL,NULL),
- (388,194,1,'b_a',160,'Parent of',104,'Child of',1,NULL,NULL,NULL),
- (389,195,4,'a_b',104,'Sibling of',137,'Sibling of',1,NULL,NULL,NULL),
- (390,195,4,'b_a',137,'Sibling of',104,'Sibling of',1,NULL,NULL,NULL),
- (391,196,8,'a_b',160,'Household Member of',177,'Household Member is',1,NULL,NULL,NULL),
- (392,196,8,'b_a',177,'Household Member is',160,'Household Member of',1,NULL,NULL,NULL),
- (393,197,8,'a_b',137,'Household Member of',177,'Household Member is',1,NULL,NULL,NULL),
- (394,197,8,'b_a',177,'Household Member is',137,'Household Member of',1,NULL,NULL,NULL),
- (395,198,8,'a_b',104,'Household Member of',177,'Household Member is',1,NULL,NULL,NULL),
- (396,198,8,'b_a',177,'Household Member is',104,'Household Member of',1,NULL,NULL,NULL),
- (397,199,7,'a_b',38,'Head of Household for',177,'Head of Household is',0,NULL,NULL,NULL),
- (398,199,7,'b_a',177,'Head of Household is',38,'Head of Household for',0,NULL,NULL,NULL),
- (399,200,2,'a_b',160,'Spouse of',38,'Spouse of',0,NULL,NULL,NULL),
- (400,200,2,'b_a',38,'Spouse of',160,'Spouse of',0,NULL,NULL,NULL),
- (401,201,5,'a_b',19,'Employee of',17,'Employer of',1,NULL,NULL,NULL),
- (402,201,5,'b_a',17,'Employer of',19,'Employee of',1,NULL,NULL,NULL),
- (403,202,5,'a_b',36,'Employee of',18,'Employer of',1,NULL,NULL,NULL),
- (404,202,5,'b_a',18,'Employer of',36,'Employee of',1,NULL,NULL,NULL),
- (405,203,5,'a_b',126,'Employee of',21,'Employer of',1,NULL,NULL,NULL),
- (406,203,5,'b_a',21,'Employer of',126,'Employee of',1,NULL,NULL,NULL),
- (407,204,5,'a_b',27,'Employee of',42,'Employer of',1,NULL,NULL,NULL),
- (408,204,5,'b_a',42,'Employer of',27,'Employee of',1,NULL,NULL,NULL),
- (409,205,5,'a_b',135,'Employee of',93,'Employer of',1,NULL,NULL,NULL),
- (410,205,5,'b_a',93,'Employer of',135,'Employee of',1,NULL,NULL,NULL),
- (411,206,5,'a_b',98,'Employee of',101,'Employer of',1,NULL,NULL,NULL),
- (412,206,5,'b_a',101,'Employer of',98,'Employee of',1,NULL,NULL,NULL),
- (413,207,5,'a_b',76,'Employee of',102,'Employer of',1,NULL,NULL,NULL),
- (414,207,5,'b_a',102,'Employer of',76,'Employee of',1,NULL,NULL,NULL),
- (415,208,5,'a_b',155,'Employee of',109,'Employer of',1,NULL,NULL,NULL),
- (416,208,5,'b_a',109,'Employer of',155,'Employee of',1,NULL,NULL,NULL),
- (417,209,5,'a_b',136,'Employee of',115,'Employer of',1,NULL,NULL,NULL),
- (418,209,5,'b_a',115,'Employer of',136,'Employee of',1,NULL,NULL,NULL),
- (419,210,5,'a_b',96,'Employee of',120,'Employer of',1,NULL,NULL,NULL),
- (420,210,5,'b_a',120,'Employer of',96,'Employee of',1,NULL,NULL,NULL),
- (421,211,5,'a_b',86,'Employee of',173,'Employer of',1,NULL,NULL,NULL),
- (422,211,5,'b_a',173,'Employer of',86,'Employee of',1,NULL,NULL,NULL),
- (423,212,5,'a_b',3,'Employee of',178,'Employer of',1,NULL,NULL,NULL),
- (424,212,5,'b_a',178,'Employer of',3,'Employee of',1,NULL,NULL,NULL),
- (425,213,5,'a_b',119,'Employee of',184,'Employer of',1,NULL,NULL,NULL),
- (426,213,5,'b_a',184,'Employer of',119,'Employee of',1,NULL,NULL,NULL),
- (427,214,5,'a_b',28,'Employee of',195,'Employer of',1,NULL,NULL,NULL),
- (428,214,5,'b_a',195,'Employer of',28,'Employee of',1,NULL,NULL,NULL);
+ (1,1,1,'a_b',57,'Child of',106,'Parent of',1,NULL,NULL,NULL),
+ (2,1,1,'b_a',106,'Parent of',57,'Child of',1,NULL,NULL,NULL),
+ (3,2,1,'a_b',15,'Child of',106,'Parent of',1,NULL,NULL,NULL),
+ (4,2,1,'b_a',106,'Parent of',15,'Child of',1,NULL,NULL,NULL),
+ (5,3,1,'a_b',57,'Child of',169,'Parent of',1,NULL,NULL,NULL),
+ (6,3,1,'b_a',169,'Parent of',57,'Child of',1,NULL,NULL,NULL),
+ (7,4,1,'a_b',15,'Child of',169,'Parent of',1,NULL,NULL,NULL),
+ (8,4,1,'b_a',169,'Parent of',15,'Child of',1,NULL,NULL,NULL),
+ (9,5,4,'a_b',15,'Sibling of',57,'Sibling of',1,NULL,NULL,NULL),
+ (10,5,4,'b_a',57,'Sibling of',15,'Sibling of',1,NULL,NULL,NULL),
+ (11,6,8,'a_b',169,'Household Member of',130,'Household Member is',1,NULL,NULL,NULL),
+ (12,6,8,'b_a',130,'Household Member is',169,'Household Member of',1,NULL,NULL,NULL),
+ (13,7,8,'a_b',57,'Household Member of',130,'Household Member is',1,NULL,NULL,NULL),
+ (14,7,8,'b_a',130,'Household Member is',57,'Household Member of',1,NULL,NULL,NULL),
+ (15,8,8,'a_b',15,'Household Member of',130,'Household Member is',1,NULL,NULL,NULL),
+ (16,8,8,'b_a',130,'Household Member is',15,'Household Member of',1,NULL,NULL,NULL),
+ (17,9,7,'a_b',106,'Head of Household for',130,'Head of Household is',0,NULL,NULL,NULL),
+ (18,9,7,'b_a',130,'Head of Household is',106,'Head of Household for',0,NULL,NULL,NULL),
+ (19,10,2,'a_b',169,'Spouse of',106,'Spouse of',0,NULL,NULL,NULL),
+ (20,10,2,'b_a',106,'Spouse of',169,'Spouse of',0,NULL,NULL,NULL),
+ (21,11,1,'a_b',196,'Child of',160,'Parent of',1,NULL,NULL,NULL),
+ (22,11,1,'b_a',160,'Parent of',196,'Child of',1,NULL,NULL,NULL),
+ (23,12,1,'a_b',6,'Child of',160,'Parent of',1,NULL,NULL,NULL),
+ (24,12,1,'b_a',160,'Parent of',6,'Child of',1,NULL,NULL,NULL),
+ (25,13,1,'a_b',196,'Child of',63,'Parent of',1,NULL,NULL,NULL),
+ (26,13,1,'b_a',63,'Parent of',196,'Child of',1,NULL,NULL,NULL),
+ (27,14,1,'a_b',6,'Child of',63,'Parent of',1,NULL,NULL,NULL),
+ (28,14,1,'b_a',63,'Parent of',6,'Child of',1,NULL,NULL,NULL),
+ (29,15,4,'a_b',6,'Sibling of',196,'Sibling of',1,NULL,NULL,NULL),
+ (30,15,4,'b_a',196,'Sibling of',6,'Sibling of',1,NULL,NULL,NULL),
+ (31,16,8,'a_b',63,'Household Member of',71,'Household Member is',1,NULL,NULL,NULL),
+ (32,16,8,'b_a',71,'Household Member is',63,'Household Member of',1,NULL,NULL,NULL),
+ (33,17,8,'a_b',196,'Household Member of',71,'Household Member is',1,NULL,NULL,NULL),
+ (34,17,8,'b_a',71,'Household Member is',196,'Household Member of',1,NULL,NULL,NULL),
+ (35,18,8,'a_b',6,'Household Member of',71,'Household Member is',1,NULL,NULL,NULL),
+ (36,18,8,'b_a',71,'Household Member is',6,'Household Member of',1,NULL,NULL,NULL),
+ (37,19,7,'a_b',160,'Head of Household for',71,'Head of Household is',1,NULL,NULL,NULL),
+ (38,19,7,'b_a',71,'Head of Household is',160,'Head of Household for',1,NULL,NULL,NULL),
+ (39,20,2,'a_b',63,'Spouse of',160,'Spouse of',1,NULL,NULL,NULL),
+ (40,20,2,'b_a',160,'Spouse of',63,'Spouse of',1,NULL,NULL,NULL),
+ (41,21,1,'a_b',18,'Child of',157,'Parent of',1,NULL,NULL,NULL),
+ (42,21,1,'b_a',157,'Parent of',18,'Child of',1,NULL,NULL,NULL),
+ (43,22,1,'a_b',12,'Child of',157,'Parent of',1,NULL,NULL,NULL),
+ (44,22,1,'b_a',157,'Parent of',12,'Child of',1,NULL,NULL,NULL),
+ (45,23,1,'a_b',18,'Child of',120,'Parent of',1,NULL,NULL,NULL),
+ (46,23,1,'b_a',120,'Parent of',18,'Child of',1,NULL,NULL,NULL),
+ (47,24,1,'a_b',12,'Child of',120,'Parent of',1,NULL,NULL,NULL),
+ (48,24,1,'b_a',120,'Parent of',12,'Child of',1,NULL,NULL,NULL),
+ (49,25,4,'a_b',12,'Sibling of',18,'Sibling of',1,NULL,NULL,NULL),
+ (50,25,4,'b_a',18,'Sibling of',12,'Sibling of',1,NULL,NULL,NULL),
+ (51,26,8,'a_b',120,'Household Member of',41,'Household Member is',1,NULL,NULL,NULL),
+ (52,26,8,'b_a',41,'Household Member is',120,'Household Member of',1,NULL,NULL,NULL),
+ (53,27,8,'a_b',18,'Household Member of',41,'Household Member is',1,NULL,NULL,NULL),
+ (54,27,8,'b_a',41,'Household Member is',18,'Household Member of',1,NULL,NULL,NULL),
+ (55,28,8,'a_b',12,'Household Member of',41,'Household Member is',1,NULL,NULL,NULL),
+ (56,28,8,'b_a',41,'Household Member is',12,'Household Member of',1,NULL,NULL,NULL),
+ (57,29,7,'a_b',157,'Head of Household for',41,'Head of Household is',1,NULL,NULL,NULL),
+ (58,29,7,'b_a',41,'Head of Household is',157,'Head of Household for',1,NULL,NULL,NULL),
+ (59,30,2,'a_b',120,'Spouse of',157,'Spouse of',1,NULL,NULL,NULL),
+ (60,30,2,'b_a',157,'Spouse of',120,'Spouse of',1,NULL,NULL,NULL),
+ (61,31,1,'a_b',118,'Child of',36,'Parent of',1,NULL,NULL,NULL),
+ (62,31,1,'b_a',36,'Parent of',118,'Child of',1,NULL,NULL,NULL),
+ (63,32,1,'a_b',176,'Child of',36,'Parent of',1,NULL,NULL,NULL),
+ (64,32,1,'b_a',36,'Parent of',176,'Child of',1,NULL,NULL,NULL),
+ (65,33,1,'a_b',118,'Child of',181,'Parent of',1,NULL,NULL,NULL),
+ (66,33,1,'b_a',181,'Parent of',118,'Child of',1,NULL,NULL,NULL),
+ (67,34,1,'a_b',176,'Child of',181,'Parent of',1,NULL,NULL,NULL),
+ (68,34,1,'b_a',181,'Parent of',176,'Child of',1,NULL,NULL,NULL),
+ (69,35,4,'a_b',176,'Sibling of',118,'Sibling of',1,NULL,NULL,NULL),
+ (70,35,4,'b_a',118,'Sibling of',176,'Sibling of',1,NULL,NULL,NULL),
+ (71,36,8,'a_b',181,'Household Member of',172,'Household Member is',1,NULL,NULL,NULL),
+ (72,36,8,'b_a',172,'Household Member is',181,'Household Member of',1,NULL,NULL,NULL),
+ (73,37,8,'a_b',118,'Household Member of',172,'Household Member is',1,NULL,NULL,NULL),
+ (74,37,8,'b_a',172,'Household Member is',118,'Household Member of',1,NULL,NULL,NULL),
+ (75,38,8,'a_b',176,'Household Member of',172,'Household Member is',1,NULL,NULL,NULL),
+ (76,38,8,'b_a',172,'Household Member is',176,'Household Member of',1,NULL,NULL,NULL),
+ (77,39,7,'a_b',36,'Head of Household for',172,'Head of Household is',1,NULL,NULL,NULL),
+ (78,39,7,'b_a',172,'Head of Household is',36,'Head of Household for',1,NULL,NULL,NULL),
+ (79,40,2,'a_b',181,'Spouse of',36,'Spouse of',1,NULL,NULL,NULL),
+ (80,40,2,'b_a',36,'Spouse of',181,'Spouse of',1,NULL,NULL,NULL),
+ (81,41,1,'a_b',3,'Child of',5,'Parent of',1,NULL,NULL,NULL),
+ (82,41,1,'b_a',5,'Parent of',3,'Child of',1,NULL,NULL,NULL),
+ (83,42,1,'a_b',149,'Child of',5,'Parent of',1,NULL,NULL,NULL),
+ (84,42,1,'b_a',5,'Parent of',149,'Child of',1,NULL,NULL,NULL),
+ (85,43,1,'a_b',3,'Child of',75,'Parent of',1,NULL,NULL,NULL),
+ (86,43,1,'b_a',75,'Parent of',3,'Child of',1,NULL,NULL,NULL),
+ (87,44,1,'a_b',149,'Child of',75,'Parent of',1,NULL,NULL,NULL),
+ (88,44,1,'b_a',75,'Parent of',149,'Child of',1,NULL,NULL,NULL),
+ (89,45,4,'a_b',149,'Sibling of',3,'Sibling of',1,NULL,NULL,NULL),
+ (90,45,4,'b_a',3,'Sibling of',149,'Sibling of',1,NULL,NULL,NULL),
+ (91,46,8,'a_b',75,'Household Member of',162,'Household Member is',1,NULL,NULL,NULL),
+ (92,46,8,'b_a',162,'Household Member is',75,'Household Member of',1,NULL,NULL,NULL),
+ (93,47,8,'a_b',3,'Household Member of',162,'Household Member is',1,NULL,NULL,NULL),
+ (94,47,8,'b_a',162,'Household Member is',3,'Household Member of',1,NULL,NULL,NULL),
+ (95,48,8,'a_b',149,'Household Member of',162,'Household Member is',1,NULL,NULL,NULL),
+ (96,48,8,'b_a',162,'Household Member is',149,'Household Member of',1,NULL,NULL,NULL),
+ (97,49,7,'a_b',5,'Head of Household for',162,'Head of Household is',0,NULL,NULL,NULL),
+ (98,49,7,'b_a',162,'Head of Household is',5,'Head of Household for',0,NULL,NULL,NULL),
+ (99,50,2,'a_b',75,'Spouse of',5,'Spouse of',0,NULL,NULL,NULL),
+ (100,50,2,'b_a',5,'Spouse of',75,'Spouse of',0,NULL,NULL,NULL),
+ (101,51,1,'a_b',146,'Child of',192,'Parent of',1,NULL,NULL,NULL),
+ (102,51,1,'b_a',192,'Parent of',146,'Child of',1,NULL,NULL,NULL),
+ (103,52,1,'a_b',159,'Child of',192,'Parent of',1,NULL,NULL,NULL),
+ (104,52,1,'b_a',192,'Parent of',159,'Child of',1,NULL,NULL,NULL),
+ (105,53,1,'a_b',146,'Child of',82,'Parent of',1,NULL,NULL,NULL),
+ (106,53,1,'b_a',82,'Parent of',146,'Child of',1,NULL,NULL,NULL),
+ (107,54,1,'a_b',159,'Child of',82,'Parent of',1,NULL,NULL,NULL),
+ (108,54,1,'b_a',82,'Parent of',159,'Child of',1,NULL,NULL,NULL),
+ (109,55,4,'a_b',159,'Sibling of',146,'Sibling of',1,NULL,NULL,NULL),
+ (110,55,4,'b_a',146,'Sibling of',159,'Sibling of',1,NULL,NULL,NULL),
+ (111,56,8,'a_b',82,'Household Member of',161,'Household Member is',1,NULL,NULL,NULL),
+ (112,56,8,'b_a',161,'Household Member is',82,'Household Member of',1,NULL,NULL,NULL),
+ (113,57,8,'a_b',146,'Household Member of',161,'Household Member is',1,NULL,NULL,NULL),
+ (114,57,8,'b_a',161,'Household Member is',146,'Household Member of',1,NULL,NULL,NULL),
+ (115,58,8,'a_b',159,'Household Member of',161,'Household Member is',1,NULL,NULL,NULL),
+ (116,58,8,'b_a',161,'Household Member is',159,'Household Member of',1,NULL,NULL,NULL),
+ (117,59,7,'a_b',192,'Head of Household for',161,'Head of Household is',1,NULL,NULL,NULL),
+ (118,59,7,'b_a',161,'Head of Household is',192,'Head of Household for',1,NULL,NULL,NULL),
+ (119,60,2,'a_b',82,'Spouse of',192,'Spouse of',1,NULL,NULL,NULL),
+ (120,60,2,'b_a',192,'Spouse of',82,'Spouse of',1,NULL,NULL,NULL),
+ (121,61,1,'a_b',84,'Child of',183,'Parent of',1,NULL,NULL,NULL),
+ (122,61,1,'b_a',183,'Parent of',84,'Child of',1,NULL,NULL,NULL),
+ (123,62,1,'a_b',90,'Child of',183,'Parent of',1,NULL,NULL,NULL),
+ (124,62,1,'b_a',183,'Parent of',90,'Child of',1,NULL,NULL,NULL),
+ (125,63,1,'a_b',84,'Child of',198,'Parent of',1,NULL,NULL,NULL),
+ (126,63,1,'b_a',198,'Parent of',84,'Child of',1,NULL,NULL,NULL),
+ (127,64,1,'a_b',90,'Child of',198,'Parent of',1,NULL,NULL,NULL),
+ (128,64,1,'b_a',198,'Parent of',90,'Child of',1,NULL,NULL,NULL),
+ (129,65,4,'a_b',90,'Sibling of',84,'Sibling of',1,NULL,NULL,NULL),
+ (130,65,4,'b_a',84,'Sibling of',90,'Sibling of',1,NULL,NULL,NULL),
+ (131,66,8,'a_b',198,'Household Member of',42,'Household Member is',1,NULL,NULL,NULL),
+ (132,66,8,'b_a',42,'Household Member is',198,'Household Member of',1,NULL,NULL,NULL),
+ (133,67,8,'a_b',84,'Household Member of',42,'Household Member is',1,NULL,NULL,NULL),
+ (134,67,8,'b_a',42,'Household Member is',84,'Household Member of',1,NULL,NULL,NULL),
+ (135,68,8,'a_b',90,'Household Member of',42,'Household Member is',1,NULL,NULL,NULL),
+ (136,68,8,'b_a',42,'Household Member is',90,'Household Member of',1,NULL,NULL,NULL),
+ (137,69,7,'a_b',183,'Head of Household for',42,'Head of Household is',1,NULL,NULL,NULL),
+ (138,69,7,'b_a',42,'Head of Household is',183,'Head of Household for',1,NULL,NULL,NULL),
+ (139,70,2,'a_b',198,'Spouse of',183,'Spouse of',1,NULL,NULL,NULL),
+ (140,70,2,'b_a',183,'Spouse of',198,'Spouse of',1,NULL,NULL,NULL),
+ (141,71,1,'a_b',39,'Child of',24,'Parent of',1,NULL,NULL,NULL),
+ (142,71,1,'b_a',24,'Parent of',39,'Child of',1,NULL,NULL,NULL),
+ (143,72,1,'a_b',32,'Child of',24,'Parent of',1,NULL,NULL,NULL),
+ (144,72,1,'b_a',24,'Parent of',32,'Child of',1,NULL,NULL,NULL),
+ (145,73,1,'a_b',39,'Child of',49,'Parent of',1,NULL,NULL,NULL),
+ (146,73,1,'b_a',49,'Parent of',39,'Child of',1,NULL,NULL,NULL),
+ (147,74,1,'a_b',32,'Child of',49,'Parent of',1,NULL,NULL,NULL),
+ (148,74,1,'b_a',49,'Parent of',32,'Child of',1,NULL,NULL,NULL),
+ (149,75,4,'a_b',32,'Sibling of',39,'Sibling of',1,NULL,NULL,NULL),
+ (150,75,4,'b_a',39,'Sibling of',32,'Sibling of',1,NULL,NULL,NULL),
+ (151,76,8,'a_b',49,'Household Member of',44,'Household Member is',1,NULL,NULL,NULL),
+ (152,76,8,'b_a',44,'Household Member is',49,'Household Member of',1,NULL,NULL,NULL),
+ (153,77,8,'a_b',39,'Household Member of',44,'Household Member is',1,NULL,NULL,NULL),
+ (154,77,8,'b_a',44,'Household Member is',39,'Household Member of',1,NULL,NULL,NULL),
+ (155,78,8,'a_b',32,'Household Member of',44,'Household Member is',1,NULL,NULL,NULL),
+ (156,78,8,'b_a',44,'Household Member is',32,'Household Member of',1,NULL,NULL,NULL),
+ (157,79,7,'a_b',24,'Head of Household for',44,'Head of Household is',0,NULL,NULL,NULL),
+ (158,79,7,'b_a',44,'Head of Household is',24,'Head of Household for',0,NULL,NULL,NULL),
+ (159,80,2,'a_b',49,'Spouse of',24,'Spouse of',0,NULL,NULL,NULL),
+ (160,80,2,'b_a',24,'Spouse of',49,'Spouse of',0,NULL,NULL,NULL),
+ (161,81,1,'a_b',150,'Child of',62,'Parent of',1,NULL,NULL,NULL),
+ (162,81,1,'b_a',62,'Parent of',150,'Child of',1,NULL,NULL,NULL),
+ (163,82,1,'a_b',180,'Child of',62,'Parent of',1,NULL,NULL,NULL),
+ (164,82,1,'b_a',62,'Parent of',180,'Child of',1,NULL,NULL,NULL),
+ (165,83,1,'a_b',150,'Child of',168,'Parent of',1,NULL,NULL,NULL),
+ (166,83,1,'b_a',168,'Parent of',150,'Child of',1,NULL,NULL,NULL),
+ (167,84,1,'a_b',180,'Child of',168,'Parent of',1,NULL,NULL,NULL),
+ (168,84,1,'b_a',168,'Parent of',180,'Child of',1,NULL,NULL,NULL),
+ (169,85,4,'a_b',180,'Sibling of',150,'Sibling of',1,NULL,NULL,NULL),
+ (170,85,4,'b_a',150,'Sibling of',180,'Sibling of',1,NULL,NULL,NULL),
+ (171,86,8,'a_b',168,'Household Member of',35,'Household Member is',1,NULL,NULL,NULL),
+ (172,86,8,'b_a',35,'Household Member is',168,'Household Member of',1,NULL,NULL,NULL),
+ (173,87,8,'a_b',150,'Household Member of',35,'Household Member is',1,NULL,NULL,NULL),
+ (174,87,8,'b_a',35,'Household Member is',150,'Household Member of',1,NULL,NULL,NULL),
+ (175,88,8,'a_b',180,'Household Member of',35,'Household Member is',1,NULL,NULL,NULL),
+ (176,88,8,'b_a',35,'Household Member is',180,'Household Member of',1,NULL,NULL,NULL),
+ (177,89,7,'a_b',62,'Head of Household for',35,'Head of Household is',0,NULL,NULL,NULL),
+ (178,89,7,'b_a',35,'Head of Household is',62,'Head of Household for',0,NULL,NULL,NULL),
+ (179,90,2,'a_b',168,'Spouse of',62,'Spouse of',0,NULL,NULL,NULL),
+ (180,90,2,'b_a',62,'Spouse of',168,'Spouse of',0,NULL,NULL,NULL),
+ (181,91,1,'a_b',167,'Child of',175,'Parent of',1,NULL,NULL,NULL),
+ (182,91,1,'b_a',175,'Parent of',167,'Child of',1,NULL,NULL,NULL),
+ (183,92,1,'a_b',65,'Child of',175,'Parent of',1,NULL,NULL,NULL),
+ (184,92,1,'b_a',175,'Parent of',65,'Child of',1,NULL,NULL,NULL),
+ (185,93,1,'a_b',167,'Child of',152,'Parent of',1,NULL,NULL,NULL),
+ (186,93,1,'b_a',152,'Parent of',167,'Child of',1,NULL,NULL,NULL),
+ (187,94,1,'a_b',65,'Child of',152,'Parent of',1,NULL,NULL,NULL),
+ (188,94,1,'b_a',152,'Parent of',65,'Child of',1,NULL,NULL,NULL),
+ (189,95,4,'a_b',65,'Sibling of',167,'Sibling of',1,NULL,NULL,NULL),
+ (190,95,4,'b_a',167,'Sibling of',65,'Sibling of',1,NULL,NULL,NULL),
+ (191,96,8,'a_b',152,'Household Member of',108,'Household Member is',1,NULL,NULL,NULL),
+ (192,96,8,'b_a',108,'Household Member is',152,'Household Member of',1,NULL,NULL,NULL),
+ (193,97,8,'a_b',167,'Household Member of',108,'Household Member is',1,NULL,NULL,NULL),
+ (194,97,8,'b_a',108,'Household Member is',167,'Household Member of',1,NULL,NULL,NULL),
+ (195,98,8,'a_b',65,'Household Member of',108,'Household Member is',1,NULL,NULL,NULL),
+ (196,98,8,'b_a',108,'Household Member is',65,'Household Member of',1,NULL,NULL,NULL),
+ (197,99,7,'a_b',175,'Head of Household for',108,'Head of Household is',0,NULL,NULL,NULL),
+ (198,99,7,'b_a',108,'Head of Household is',175,'Head of Household for',0,NULL,NULL,NULL),
+ (199,100,2,'a_b',152,'Spouse of',175,'Spouse of',0,NULL,NULL,NULL),
+ (200,100,2,'b_a',175,'Spouse of',152,'Spouse of',0,NULL,NULL,NULL),
+ (201,101,1,'a_b',13,'Child of',148,'Parent of',1,NULL,NULL,NULL),
+ (202,101,1,'b_a',148,'Parent of',13,'Child of',1,NULL,NULL,NULL),
+ (203,102,1,'a_b',141,'Child of',148,'Parent of',1,NULL,NULL,NULL),
+ (204,102,1,'b_a',148,'Parent of',141,'Child of',1,NULL,NULL,NULL),
+ (205,103,1,'a_b',13,'Child of',107,'Parent of',1,NULL,NULL,NULL),
+ (206,103,1,'b_a',107,'Parent of',13,'Child of',1,NULL,NULL,NULL),
+ (207,104,1,'a_b',141,'Child of',107,'Parent of',1,NULL,NULL,NULL),
+ (208,104,1,'b_a',107,'Parent of',141,'Child of',1,NULL,NULL,NULL),
+ (209,105,4,'a_b',141,'Sibling of',13,'Sibling of',1,NULL,NULL,NULL),
+ (210,105,4,'b_a',13,'Sibling of',141,'Sibling of',1,NULL,NULL,NULL),
+ (211,106,8,'a_b',107,'Household Member of',88,'Household Member is',1,NULL,NULL,NULL),
+ (212,106,8,'b_a',88,'Household Member is',107,'Household Member of',1,NULL,NULL,NULL),
+ (213,107,8,'a_b',13,'Household Member of',88,'Household Member is',1,NULL,NULL,NULL),
+ (214,107,8,'b_a',88,'Household Member is',13,'Household Member of',1,NULL,NULL,NULL),
+ (215,108,8,'a_b',141,'Household Member of',88,'Household Member is',1,NULL,NULL,NULL),
+ (216,108,8,'b_a',88,'Household Member is',141,'Household Member of',1,NULL,NULL,NULL),
+ (217,109,7,'a_b',148,'Head of Household for',88,'Head of Household is',1,NULL,NULL,NULL),
+ (218,109,7,'b_a',88,'Head of Household is',148,'Head of Household for',1,NULL,NULL,NULL),
+ (219,110,2,'a_b',107,'Spouse of',148,'Spouse of',1,NULL,NULL,NULL),
+ (220,110,2,'b_a',148,'Spouse of',107,'Spouse of',1,NULL,NULL,NULL),
+ (221,111,1,'a_b',81,'Child of',154,'Parent of',1,NULL,NULL,NULL),
+ (222,111,1,'b_a',154,'Parent of',81,'Child of',1,NULL,NULL,NULL),
+ (223,112,1,'a_b',34,'Child of',154,'Parent of',1,NULL,NULL,NULL),
+ (224,112,1,'b_a',154,'Parent of',34,'Child of',1,NULL,NULL,NULL),
+ (225,113,1,'a_b',81,'Child of',20,'Parent of',1,NULL,NULL,NULL),
+ (226,113,1,'b_a',20,'Parent of',81,'Child of',1,NULL,NULL,NULL),
+ (227,114,1,'a_b',34,'Child of',20,'Parent of',1,NULL,NULL,NULL),
+ (228,114,1,'b_a',20,'Parent of',34,'Child of',1,NULL,NULL,NULL),
+ (229,115,4,'a_b',34,'Sibling of',81,'Sibling of',1,NULL,NULL,NULL),
+ (230,115,4,'b_a',81,'Sibling of',34,'Sibling of',1,NULL,NULL,NULL),
+ (231,116,8,'a_b',20,'Household Member of',93,'Household Member is',1,NULL,NULL,NULL),
+ (232,116,8,'b_a',93,'Household Member is',20,'Household Member of',1,NULL,NULL,NULL),
+ (233,117,8,'a_b',81,'Household Member of',93,'Household Member is',1,NULL,NULL,NULL),
+ (234,117,8,'b_a',93,'Household Member is',81,'Household Member of',1,NULL,NULL,NULL),
+ (235,118,8,'a_b',34,'Household Member of',93,'Household Member is',1,NULL,NULL,NULL),
+ (236,118,8,'b_a',93,'Household Member is',34,'Household Member of',1,NULL,NULL,NULL),
+ (237,119,7,'a_b',154,'Head of Household for',93,'Head of Household is',0,NULL,NULL,NULL),
+ (238,119,7,'b_a',93,'Head of Household is',154,'Head of Household for',0,NULL,NULL,NULL),
+ (239,120,2,'a_b',20,'Spouse of',154,'Spouse of',0,NULL,NULL,NULL),
+ (240,120,2,'b_a',154,'Spouse of',20,'Spouse of',0,NULL,NULL,NULL),
+ (241,121,1,'a_b',17,'Child of',48,'Parent of',1,NULL,NULL,NULL),
+ (242,121,1,'b_a',48,'Parent of',17,'Child of',1,NULL,NULL,NULL),
+ (243,122,1,'a_b',70,'Child of',48,'Parent of',1,NULL,NULL,NULL),
+ (244,122,1,'b_a',48,'Parent of',70,'Child of',1,NULL,NULL,NULL),
+ (245,123,1,'a_b',17,'Child of',47,'Parent of',1,NULL,NULL,NULL),
+ (246,123,1,'b_a',47,'Parent of',17,'Child of',1,NULL,NULL,NULL),
+ (247,124,1,'a_b',70,'Child of',47,'Parent of',1,NULL,NULL,NULL),
+ (248,124,1,'b_a',47,'Parent of',70,'Child of',1,NULL,NULL,NULL),
+ (249,125,4,'a_b',70,'Sibling of',17,'Sibling of',1,NULL,NULL,NULL),
+ (250,125,4,'b_a',17,'Sibling of',70,'Sibling of',1,NULL,NULL,NULL),
+ (251,126,8,'a_b',47,'Household Member of',102,'Household Member is',1,NULL,NULL,NULL),
+ (252,126,8,'b_a',102,'Household Member is',47,'Household Member of',1,NULL,NULL,NULL),
+ (253,127,8,'a_b',17,'Household Member of',102,'Household Member is',1,NULL,NULL,NULL),
+ (254,127,8,'b_a',102,'Household Member is',17,'Household Member of',1,NULL,NULL,NULL),
+ (255,128,8,'a_b',70,'Household Member of',102,'Household Member is',1,NULL,NULL,NULL),
+ (256,128,8,'b_a',102,'Household Member is',70,'Household Member of',1,NULL,NULL,NULL),
+ (257,129,7,'a_b',48,'Head of Household for',102,'Head of Household is',0,NULL,NULL,NULL),
+ (258,129,7,'b_a',102,'Head of Household is',48,'Head of Household for',0,NULL,NULL,NULL),
+ (259,130,2,'a_b',47,'Spouse of',48,'Spouse of',0,NULL,NULL,NULL),
+ (260,130,2,'b_a',48,'Spouse of',47,'Spouse of',0,NULL,NULL,NULL),
+ (261,131,1,'a_b',136,'Child of',144,'Parent of',1,NULL,NULL,NULL),
+ (262,131,1,'b_a',144,'Parent of',136,'Child of',1,NULL,NULL,NULL),
+ (263,132,1,'a_b',19,'Child of',144,'Parent of',1,NULL,NULL,NULL),
+ (264,132,1,'b_a',144,'Parent of',19,'Child of',1,NULL,NULL,NULL),
+ (265,133,1,'a_b',136,'Child of',85,'Parent of',1,NULL,NULL,NULL),
+ (266,133,1,'b_a',85,'Parent of',136,'Child of',1,NULL,NULL,NULL),
+ (267,134,1,'a_b',19,'Child of',85,'Parent of',1,NULL,NULL,NULL),
+ (268,134,1,'b_a',85,'Parent of',19,'Child of',1,NULL,NULL,NULL),
+ (269,135,4,'a_b',19,'Sibling of',136,'Sibling of',1,NULL,NULL,NULL),
+ (270,135,4,'b_a',136,'Sibling of',19,'Sibling of',1,NULL,NULL,NULL),
+ (271,136,8,'a_b',85,'Household Member of',87,'Household Member is',1,NULL,NULL,NULL),
+ (272,136,8,'b_a',87,'Household Member is',85,'Household Member of',1,NULL,NULL,NULL),
+ (273,137,8,'a_b',136,'Household Member of',87,'Household Member is',1,NULL,NULL,NULL),
+ (274,137,8,'b_a',87,'Household Member is',136,'Household Member of',1,NULL,NULL,NULL),
+ (275,138,8,'a_b',19,'Household Member of',87,'Household Member is',1,NULL,NULL,NULL),
+ (276,138,8,'b_a',87,'Household Member is',19,'Household Member of',1,NULL,NULL,NULL),
+ (277,139,7,'a_b',144,'Head of Household for',87,'Head of Household is',1,NULL,NULL,NULL),
+ (278,139,7,'b_a',87,'Head of Household is',144,'Head of Household for',1,NULL,NULL,NULL),
+ (279,140,2,'a_b',85,'Spouse of',144,'Spouse of',1,NULL,NULL,NULL),
+ (280,140,2,'b_a',144,'Spouse of',85,'Spouse of',1,NULL,NULL,NULL),
+ (281,141,1,'a_b',21,'Child of',109,'Parent of',1,NULL,NULL,NULL),
+ (282,141,1,'b_a',109,'Parent of',21,'Child of',1,NULL,NULL,NULL),
+ (283,142,1,'a_b',95,'Child of',109,'Parent of',1,NULL,NULL,NULL),
+ (284,142,1,'b_a',109,'Parent of',95,'Child of',1,NULL,NULL,NULL),
+ (285,143,1,'a_b',21,'Child of',73,'Parent of',1,NULL,NULL,NULL),
+ (286,143,1,'b_a',73,'Parent of',21,'Child of',1,NULL,NULL,NULL),
+ (287,144,1,'a_b',95,'Child of',73,'Parent of',1,NULL,NULL,NULL),
+ (288,144,1,'b_a',73,'Parent of',95,'Child of',1,NULL,NULL,NULL),
+ (289,145,4,'a_b',95,'Sibling of',21,'Sibling of',1,NULL,NULL,NULL),
+ (290,145,4,'b_a',21,'Sibling of',95,'Sibling of',1,NULL,NULL,NULL),
+ (291,146,8,'a_b',73,'Household Member of',38,'Household Member is',1,NULL,NULL,NULL),
+ (292,146,8,'b_a',38,'Household Member is',73,'Household Member of',1,NULL,NULL,NULL),
+ (293,147,8,'a_b',21,'Household Member of',38,'Household Member is',1,NULL,NULL,NULL),
+ (294,147,8,'b_a',38,'Household Member is',21,'Household Member of',1,NULL,NULL,NULL),
+ (295,148,8,'a_b',95,'Household Member of',38,'Household Member is',1,NULL,NULL,NULL),
+ (296,148,8,'b_a',38,'Household Member is',95,'Household Member of',1,NULL,NULL,NULL),
+ (297,149,7,'a_b',109,'Head of Household for',38,'Head of Household is',1,NULL,NULL,NULL),
+ (298,149,7,'b_a',38,'Head of Household is',109,'Head of Household for',1,NULL,NULL,NULL),
+ (299,150,2,'a_b',73,'Spouse of',109,'Spouse of',1,NULL,NULL,NULL),
+ (300,150,2,'b_a',109,'Spouse of',73,'Spouse of',1,NULL,NULL,NULL),
+ (301,151,1,'a_b',50,'Child of',185,'Parent of',1,NULL,NULL,NULL),
+ (302,151,1,'b_a',185,'Parent of',50,'Child of',1,NULL,NULL,NULL),
+ (303,152,1,'a_b',51,'Child of',185,'Parent of',1,NULL,NULL,NULL),
+ (304,152,1,'b_a',185,'Parent of',51,'Child of',1,NULL,NULL,NULL),
+ (305,153,1,'a_b',50,'Child of',113,'Parent of',1,NULL,NULL,NULL),
+ (306,153,1,'b_a',113,'Parent of',50,'Child of',1,NULL,NULL,NULL),
+ (307,154,1,'a_b',51,'Child of',113,'Parent of',1,NULL,NULL,NULL),
+ (308,154,1,'b_a',113,'Parent of',51,'Child of',1,NULL,NULL,NULL),
+ (309,155,4,'a_b',51,'Sibling of',50,'Sibling of',1,NULL,NULL,NULL),
+ (310,155,4,'b_a',50,'Sibling of',51,'Sibling of',1,NULL,NULL,NULL),
+ (311,156,8,'a_b',113,'Household Member of',110,'Household Member is',1,NULL,NULL,NULL),
+ (312,156,8,'b_a',110,'Household Member is',113,'Household Member of',1,NULL,NULL,NULL),
+ (313,157,8,'a_b',50,'Household Member of',110,'Household Member is',1,NULL,NULL,NULL),
+ (314,157,8,'b_a',110,'Household Member is',50,'Household Member of',1,NULL,NULL,NULL),
+ (315,158,8,'a_b',51,'Household Member of',110,'Household Member is',1,NULL,NULL,NULL),
+ (316,158,8,'b_a',110,'Household Member is',51,'Household Member of',1,NULL,NULL,NULL),
+ (317,159,7,'a_b',185,'Head of Household for',110,'Head of Household is',1,NULL,NULL,NULL),
+ (318,159,7,'b_a',110,'Head of Household is',185,'Head of Household for',1,NULL,NULL,NULL),
+ (319,160,2,'a_b',113,'Spouse of',185,'Spouse of',1,NULL,NULL,NULL),
+ (320,160,2,'b_a',185,'Spouse of',113,'Spouse of',1,NULL,NULL,NULL),
+ (321,161,1,'a_b',31,'Child of',147,'Parent of',1,NULL,NULL,NULL),
+ (322,161,1,'b_a',147,'Parent of',31,'Child of',1,NULL,NULL,NULL),
+ (323,162,1,'a_b',128,'Child of',147,'Parent of',1,NULL,NULL,NULL),
+ (324,162,1,'b_a',147,'Parent of',128,'Child of',1,NULL,NULL,NULL),
+ (325,163,1,'a_b',31,'Child of',132,'Parent of',1,NULL,NULL,NULL),
+ (326,163,1,'b_a',132,'Parent of',31,'Child of',1,NULL,NULL,NULL),
+ (327,164,1,'a_b',128,'Child of',132,'Parent of',1,NULL,NULL,NULL),
+ (328,164,1,'b_a',132,'Parent of',128,'Child of',1,NULL,NULL,NULL),
+ (329,165,4,'a_b',128,'Sibling of',31,'Sibling of',1,NULL,NULL,NULL),
+ (330,165,4,'b_a',31,'Sibling of',128,'Sibling of',1,NULL,NULL,NULL),
+ (331,166,8,'a_b',132,'Household Member of',135,'Household Member is',1,NULL,NULL,NULL),
+ (332,166,8,'b_a',135,'Household Member is',132,'Household Member of',1,NULL,NULL,NULL),
+ (333,167,8,'a_b',31,'Household Member of',135,'Household Member is',1,NULL,NULL,NULL),
+ (334,167,8,'b_a',135,'Household Member is',31,'Household Member of',1,NULL,NULL,NULL),
+ (335,168,8,'a_b',128,'Household Member of',135,'Household Member is',1,NULL,NULL,NULL),
+ (336,168,8,'b_a',135,'Household Member is',128,'Household Member of',1,NULL,NULL,NULL),
+ (337,169,7,'a_b',147,'Head of Household for',135,'Head of Household is',1,NULL,NULL,NULL),
+ (338,169,7,'b_a',135,'Head of Household is',147,'Head of Household for',1,NULL,NULL,NULL),
+ (339,170,2,'a_b',132,'Spouse of',147,'Spouse of',1,NULL,NULL,NULL),
+ (340,170,2,'b_a',147,'Spouse of',132,'Spouse of',1,NULL,NULL,NULL),
+ (341,171,1,'a_b',194,'Child of',94,'Parent of',1,NULL,NULL,NULL),
+ (342,171,1,'b_a',94,'Parent of',194,'Child of',1,NULL,NULL,NULL),
+ (343,172,1,'a_b',89,'Child of',94,'Parent of',1,NULL,NULL,NULL),
+ (344,172,1,'b_a',94,'Parent of',89,'Child of',1,NULL,NULL,NULL),
+ (345,173,1,'a_b',194,'Child of',96,'Parent of',1,NULL,NULL,NULL),
+ (346,173,1,'b_a',96,'Parent of',194,'Child of',1,NULL,NULL,NULL),
+ (347,174,1,'a_b',89,'Child of',96,'Parent of',1,NULL,NULL,NULL),
+ (348,174,1,'b_a',96,'Parent of',89,'Child of',1,NULL,NULL,NULL),
+ (349,175,4,'a_b',89,'Sibling of',194,'Sibling of',1,NULL,NULL,NULL),
+ (350,175,4,'b_a',194,'Sibling of',89,'Sibling of',1,NULL,NULL,NULL),
+ (351,176,8,'a_b',96,'Household Member of',8,'Household Member is',1,NULL,NULL,NULL),
+ (352,176,8,'b_a',8,'Household Member is',96,'Household Member of',1,NULL,NULL,NULL),
+ (353,177,8,'a_b',194,'Household Member of',8,'Household Member is',1,NULL,NULL,NULL),
+ (354,177,8,'b_a',8,'Household Member is',194,'Household Member of',1,NULL,NULL,NULL),
+ (355,178,8,'a_b',89,'Household Member of',8,'Household Member is',1,NULL,NULL,NULL),
+ (356,178,8,'b_a',8,'Household Member is',89,'Household Member of',1,NULL,NULL,NULL),
+ (357,179,7,'a_b',94,'Head of Household for',8,'Head of Household is',0,NULL,NULL,NULL),
+ (358,179,7,'b_a',8,'Head of Household is',94,'Head of Household for',0,NULL,NULL,NULL),
+ (359,180,2,'a_b',96,'Spouse of',94,'Spouse of',0,NULL,NULL,NULL),
+ (360,180,2,'b_a',94,'Spouse of',96,'Spouse of',0,NULL,NULL,NULL),
+ (361,181,1,'a_b',4,'Child of',16,'Parent of',1,NULL,NULL,NULL),
+ (362,181,1,'b_a',16,'Parent of',4,'Child of',1,NULL,NULL,NULL),
+ (363,182,1,'a_b',189,'Child of',16,'Parent of',1,NULL,NULL,NULL),
+ (364,182,1,'b_a',16,'Parent of',189,'Child of',1,NULL,NULL,NULL),
+ (365,183,1,'a_b',4,'Child of',7,'Parent of',1,NULL,NULL,NULL),
+ (366,183,1,'b_a',7,'Parent of',4,'Child of',1,NULL,NULL,NULL),
+ (367,184,1,'a_b',189,'Child of',7,'Parent of',1,NULL,NULL,NULL),
+ (368,184,1,'b_a',7,'Parent of',189,'Child of',1,NULL,NULL,NULL),
+ (369,185,4,'a_b',189,'Sibling of',4,'Sibling of',1,NULL,NULL,NULL),
+ (370,185,4,'b_a',4,'Sibling of',189,'Sibling of',1,NULL,NULL,NULL),
+ (371,186,8,'a_b',7,'Household Member of',133,'Household Member is',1,NULL,NULL,NULL),
+ (372,186,8,'b_a',133,'Household Member is',7,'Household Member of',1,NULL,NULL,NULL),
+ (373,187,8,'a_b',4,'Household Member of',133,'Household Member is',1,NULL,NULL,NULL),
+ (374,187,8,'b_a',133,'Household Member is',4,'Household Member of',1,NULL,NULL,NULL),
+ (375,188,8,'a_b',189,'Household Member of',133,'Household Member is',1,NULL,NULL,NULL),
+ (376,188,8,'b_a',133,'Household Member is',189,'Household Member of',1,NULL,NULL,NULL),
+ (377,189,7,'a_b',16,'Head of Household for',133,'Head of Household is',1,NULL,NULL,NULL),
+ (378,189,7,'b_a',133,'Head of Household is',16,'Head of Household for',1,NULL,NULL,NULL),
+ (379,190,2,'a_b',7,'Spouse of',16,'Spouse of',1,NULL,NULL,NULL),
+ (380,190,2,'b_a',16,'Spouse of',7,'Spouse of',1,NULL,NULL,NULL),
+ (381,191,1,'a_b',91,'Child of',40,'Parent of',1,NULL,NULL,NULL),
+ (382,191,1,'b_a',40,'Parent of',91,'Child of',1,NULL,NULL,NULL),
+ (383,192,1,'a_b',156,'Child of',40,'Parent of',1,NULL,NULL,NULL),
+ (384,192,1,'b_a',40,'Parent of',156,'Child of',1,NULL,NULL,NULL),
+ (385,193,1,'a_b',91,'Child of',97,'Parent of',1,NULL,NULL,NULL),
+ (386,193,1,'b_a',97,'Parent of',91,'Child of',1,NULL,NULL,NULL),
+ (387,194,1,'a_b',156,'Child of',97,'Parent of',1,NULL,NULL,NULL),
+ (388,194,1,'b_a',97,'Parent of',156,'Child of',1,NULL,NULL,NULL),
+ (389,195,4,'a_b',156,'Sibling of',91,'Sibling of',1,NULL,NULL,NULL),
+ (390,195,4,'b_a',91,'Sibling of',156,'Sibling of',1,NULL,NULL,NULL),
+ (391,196,8,'a_b',97,'Household Member of',190,'Household Member is',1,NULL,NULL,NULL),
+ (392,196,8,'b_a',190,'Household Member is',97,'Household Member of',1,NULL,NULL,NULL),
+ (393,197,8,'a_b',91,'Household Member of',190,'Household Member is',1,NULL,NULL,NULL),
+ (394,197,8,'b_a',190,'Household Member is',91,'Household Member of',1,NULL,NULL,NULL),
+ (395,198,8,'a_b',156,'Household Member of',190,'Household Member is',1,NULL,NULL,NULL),
+ (396,198,8,'b_a',190,'Household Member is',156,'Household Member of',1,NULL,NULL,NULL),
+ (397,199,7,'a_b',40,'Head of Household for',190,'Head of Household is',1,NULL,NULL,NULL),
+ (398,199,7,'b_a',190,'Head of Household is',40,'Head of Household for',1,NULL,NULL,NULL),
+ (399,200,2,'a_b',97,'Spouse of',40,'Spouse of',1,NULL,NULL,NULL),
+ (400,200,2,'b_a',40,'Spouse of',97,'Spouse of',1,NULL,NULL,NULL),
+ (401,201,5,'a_b',119,'Employee of',22,'Employer of',1,NULL,NULL,NULL),
+ (402,201,5,'b_a',22,'Employer of',119,'Employee of',1,NULL,NULL,NULL),
+ (403,202,5,'a_b',186,'Employee of',23,'Employer of',1,NULL,NULL,NULL),
+ (404,202,5,'b_a',23,'Employer of',186,'Employee of',1,NULL,NULL,NULL),
+ (405,203,5,'a_b',128,'Employee of',25,'Employer of',1,NULL,NULL,NULL),
+ (406,203,5,'b_a',25,'Employer of',128,'Employee of',1,NULL,NULL,NULL),
+ (407,204,5,'a_b',19,'Employee of',33,'Employer of',1,NULL,NULL,NULL),
+ (408,204,5,'b_a',33,'Employer of',19,'Employee of',1,NULL,NULL,NULL),
+ (409,205,5,'a_b',154,'Employee of',54,'Employer of',1,NULL,NULL,NULL),
+ (410,205,5,'b_a',54,'Employer of',154,'Employee of',1,NULL,NULL,NULL),
+ (411,206,5,'a_b',36,'Employee of',58,'Employer of',1,NULL,NULL,NULL),
+ (412,206,5,'b_a',58,'Employer of',36,'Employee of',1,NULL,NULL,NULL),
+ (413,207,5,'a_b',75,'Employee of',60,'Employer of',1,NULL,NULL,NULL),
+ (414,207,5,'b_a',60,'Employer of',75,'Employee of',1,NULL,NULL,NULL),
+ (415,208,5,'a_b',169,'Employee of',77,'Employer of',1,NULL,NULL,NULL),
+ (416,208,5,'b_a',77,'Employer of',169,'Employee of',1,NULL,NULL,NULL),
+ (417,209,5,'a_b',174,'Employee of',83,'Employer of',1,NULL,NULL,NULL),
+ (418,209,5,'b_a',83,'Employer of',174,'Employee of',1,NULL,NULL,NULL),
+ (419,210,5,'a_b',120,'Employee of',114,'Employer of',1,NULL,NULL,NULL),
+ (420,210,5,'b_a',114,'Employer of',120,'Employee of',1,NULL,NULL,NULL),
+ (421,211,5,'a_b',143,'Employee of',142,'Employer of',1,NULL,NULL,NULL),
+ (422,211,5,'b_a',142,'Employer of',143,'Employee of',1,NULL,NULL,NULL),
+ (423,212,5,'a_b',27,'Employee of',153,'Employer of',1,NULL,NULL,NULL),
+ (424,212,5,'b_a',153,'Employer of',27,'Employee of',1,NULL,NULL,NULL),
+ (425,213,5,'a_b',32,'Employee of',158,'Employer of',1,NULL,NULL,NULL),
+ (426,213,5,'b_a',158,'Employer of',32,'Employee of',1,NULL,NULL,NULL),
+ (427,214,5,'a_b',199,'Employee of',191,'Employer of',1,NULL,NULL,NULL),
+ (428,214,5,'b_a',191,'Employer of',199,'Employee of',1,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_relationship_cache` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -12046,90 +11987,90 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_subscription_history` WRITE;
 /*!40000 ALTER TABLE `civicrm_subscription_history` DISABLE KEYS */;
 INSERT INTO `civicrm_subscription_history` (`id`, `contact_id`, `group_id`, `date`, `method`, `status`, `tracking`) VALUES
- (1,64,2,'2021-06-15 16:35:48','Email','Added',NULL),
- (2,76,2,'2021-04-08 06:27:52','Admin','Added',NULL),
- (3,79,2,'2021-03-25 05:30:35','Admin','Added',NULL),
- (4,185,2,'2021-10-23 19:18:08','Email','Added',NULL),
- (5,192,2,'2021-05-15 21:09:53','Email','Added',NULL),
- (6,57,2,'2021-02-15 03:47:46','Email','Added',NULL),
- (7,167,2,'2021-05-29 18:57:32','Admin','Added',NULL),
- (8,100,2,'2021-09-14 02:36:26','Email','Added',NULL),
- (9,170,2,'2021-08-13 14:21:07','Admin','Added',NULL),
- (10,148,2,'2021-07-23 03:45:14','Admin','Added',NULL),
- (11,95,2,'2021-01-05 05:33:29','Admin','Added',NULL),
- (12,48,2,'2021-09-05 09:22:08','Admin','Added',NULL),
- (13,12,2,'2021-02-28 20:14:52','Email','Added',NULL),
- (14,58,2,'2021-12-06 07:39:23','Admin','Added',NULL),
- (15,113,2,'2022-01-03 23:42:31','Email','Added',NULL),
- (16,46,2,'2022-01-04 07:14:09','Admin','Added',NULL),
- (17,164,2,'2021-12-08 22:38:43','Admin','Added',NULL),
- (18,71,2,'2021-03-16 04:20:56','Email','Added',NULL),
- (19,162,2,'2021-07-22 23:44:03','Admin','Added',NULL),
- (20,197,2,'2021-12-27 08:30:07','Admin','Added',NULL),
- (21,200,2,'2021-03-21 06:34:53','Admin','Added',NULL),
- (22,7,2,'2021-03-03 08:21:37','Admin','Added',NULL),
- (23,111,2,'2021-04-20 13:38:02','Admin','Added',NULL),
- (24,9,2,'2021-10-23 03:37:26','Email','Added',NULL),
- (25,147,2,'2021-03-16 14:32:28','Email','Added',NULL),
- (26,130,2,'2021-01-10 23:01:43','Email','Added',NULL),
- (27,15,2,'2021-06-07 15:22:59','Email','Added',NULL),
- (28,106,2,'2021-10-21 21:08:01','Admin','Added',NULL),
- (29,112,2,'2021-09-10 09:10:02','Email','Added',NULL),
- (30,171,2,'2021-02-20 10:45:53','Admin','Added',NULL),
- (31,39,2,'2021-02-10 20:22:45','Email','Added',NULL),
- (32,157,2,'2021-07-11 07:26:01','Email','Added',NULL),
- (33,128,2,'2021-09-17 11:37:06','Admin','Added',NULL),
- (34,84,2,'2021-05-07 02:31:40','Email','Added',NULL),
- (35,62,2,'2021-09-16 17:12:58','Admin','Added',NULL),
- (36,180,2,'2021-10-15 15:47:51','Admin','Added',NULL),
- (37,118,2,'2021-08-02 04:32:37','Admin','Added',NULL),
- (38,61,2,'2021-12-01 00:35:27','Email','Added',NULL),
- (39,194,2,'2021-02-14 19:11:50','Email','Added',NULL),
- (40,126,2,'2021-01-12 20:04:39','Email','Added',NULL),
- (41,40,2,'2021-10-25 04:53:37','Admin','Added',NULL),
- (42,142,2,'2021-12-22 02:27:25','Email','Added',NULL),
- (43,174,2,'2021-03-20 11:10:44','Email','Added',NULL),
- (44,89,2,'2021-06-25 17:55:42','Admin','Added',NULL),
- (45,107,2,'2021-08-07 09:56:47','Email','Added',NULL),
- (46,80,2,'2021-09-22 10:43:35','Admin','Added',NULL),
- (47,144,2,'2021-03-22 10:04:34','Email','Added',NULL),
- (48,198,2,'2021-05-24 09:23:58','Admin','Added',NULL),
- (49,149,2,'2021-10-04 23:20:09','Admin','Added',NULL),
- (50,96,2,'2021-05-16 07:57:17','Email','Added',NULL),
- (51,188,2,'2021-08-09 17:55:18','Email','Added',NULL),
- (52,34,2,'2021-03-06 07:59:24','Email','Added',NULL),
- (53,97,2,'2021-04-11 07:49:23','Email','Added',NULL),
- (54,4,2,'2021-02-09 12:16:28','Email','Added',NULL),
- (55,172,2,'2021-04-15 19:53:06','Email','Added',NULL),
- (56,49,2,'2021-01-31 01:51:22','Admin','Added',NULL),
- (57,158,2,'2021-07-04 05:35:46','Email','Added',NULL),
- (58,14,2,'2021-11-08 20:37:55','Email','Added',NULL),
- (59,70,2,'2021-10-04 00:36:26','Admin','Added',NULL),
- (60,68,2,'2021-07-03 22:20:41','Admin','Added',NULL),
- (61,30,3,'2021-01-07 18:10:50','Admin','Added',NULL),
- (62,54,3,'2021-09-20 06:54:42','Email','Added',NULL),
- (63,63,3,'2021-08-27 23:25:42','Email','Added',NULL),
- (64,168,3,'2021-08-21 14:53:03','Admin','Added',NULL),
- (65,60,3,'2021-02-11 13:16:03','Email','Added',NULL),
- (66,92,3,'2021-11-28 12:37:53','Email','Added',NULL),
- (67,138,3,'2021-01-12 02:13:19','Admin','Added',NULL),
- (68,83,3,'2021-03-26 07:53:32','Email','Added',NULL),
- (69,13,3,'2021-08-20 17:13:33','Email','Added',NULL),
- (70,98,3,'2021-08-19 01:24:53','Admin','Added',NULL),
- (71,103,3,'2021-09-05 18:19:48','Email','Added',NULL),
- (72,105,3,'2021-06-03 10:14:30','Email','Added',NULL),
- (73,183,3,'2021-11-25 00:57:21','Admin','Added',NULL),
- (74,91,3,'2021-06-15 21:04:48','Email','Added',NULL),
- (75,119,3,'2021-10-18 08:57:15','Admin','Added',NULL),
- (76,64,4,'2021-06-13 08:25:25','Email','Added',NULL),
- (77,100,4,'2021-03-06 12:12:03','Admin','Added',NULL),
- (78,113,4,'2021-08-26 15:42:54','Admin','Added',NULL),
- (79,7,4,'2021-08-15 17:50:28','Admin','Added',NULL),
- (80,112,4,'2021-05-10 14:32:47','Email','Added',NULL),
- (81,180,4,'2021-09-13 01:01:04','Admin','Added',NULL),
- (82,174,4,'2021-10-06 21:05:33','Email','Added',NULL),
- (83,96,4,'2021-08-10 20:21:54','Admin','Added',NULL),
- (84,202,4,'2021-10-06 20:47:07','Email','Added',NULL);
+ (1,174,2,'2021-08-01 17:23:49','Email','Added',NULL),
+ (2,163,2,'2021-12-03 23:33:22','Admin','Added',NULL),
+ (3,188,2,'2021-08-02 05:26:54','Email','Added',NULL),
+ (4,125,2,'2021-04-23 17:19:09','Admin','Added',NULL),
+ (5,177,2,'2022-02-09 20:27:49','Admin','Added',NULL),
+ (6,104,2,'2021-05-09 08:49:05','Admin','Added',NULL),
+ (7,55,2,'2021-06-28 12:50:18','Email','Added',NULL),
+ (8,116,2,'2021-08-04 16:22:38','Email','Added',NULL),
+ (9,151,2,'2021-05-30 10:49:22','Email','Added',NULL),
+ (10,182,2,'2021-07-15 12:30:21','Admin','Added',NULL),
+ (11,140,2,'2021-12-17 22:49:32','Email','Added',NULL),
+ (12,76,2,'2022-02-15 12:28:12','Admin','Added',NULL),
+ (13,121,2,'2021-09-20 17:33:27','Email','Added',NULL),
+ (14,99,2,'2021-11-03 00:08:45','Email','Added',NULL),
+ (15,199,2,'2021-12-24 00:08:23','Email','Added',NULL),
+ (16,171,2,'2021-08-09 21:47:01','Email','Added',NULL),
+ (17,126,2,'2021-09-06 12:05:53','Email','Added',NULL),
+ (18,28,2,'2022-01-04 07:50:13','Email','Added',NULL),
+ (19,201,2,'2022-01-12 20:43:25','Admin','Added',NULL),
+ (20,200,2,'2022-02-22 08:23:24','Admin','Added',NULL),
+ (21,9,2,'2021-04-26 12:28:07','Admin','Added',NULL),
+ (22,105,2,'2021-03-15 00:14:35','Email','Added',NULL),
+ (23,68,2,'2021-09-27 23:44:19','Email','Added',NULL),
+ (24,119,2,'2021-09-28 19:33:10','Email','Added',NULL),
+ (25,122,2,'2021-11-10 15:39:20','Email','Added',NULL),
+ (26,127,2,'2021-10-01 13:24:30','Email','Added',NULL),
+ (27,115,2,'2021-03-19 20:12:26','Email','Added',NULL),
+ (28,2,2,'2021-05-04 01:34:44','Admin','Added',NULL),
+ (29,117,2,'2021-07-19 20:40:22','Email','Added',NULL),
+ (30,134,2,'2021-04-24 03:20:15','Admin','Added',NULL),
+ (31,79,2,'2021-07-07 21:29:48','Email','Added',NULL),
+ (32,179,2,'2021-08-08 19:01:49','Admin','Added',NULL),
+ (33,131,2,'2021-05-13 00:40:31','Email','Added',NULL),
+ (34,86,2,'2021-05-25 09:23:47','Email','Added',NULL),
+ (35,11,2,'2022-01-23 21:37:59','Email','Added',NULL),
+ (36,143,2,'2021-09-22 10:14:40','Email','Added',NULL),
+ (37,52,2,'2021-03-11 19:00:07','Admin','Added',NULL),
+ (38,100,2,'2022-02-22 09:57:04','Email','Added',NULL),
+ (39,155,2,'2021-08-29 06:26:23','Email','Added',NULL),
+ (40,72,2,'2021-04-05 06:36:51','Email','Added',NULL),
+ (41,178,2,'2022-01-03 17:00:29','Email','Added',NULL),
+ (42,66,2,'2021-10-02 17:23:55','Admin','Added',NULL),
+ (43,164,2,'2021-06-01 15:57:45','Admin','Added',NULL),
+ (44,193,2,'2021-07-19 05:57:06','Admin','Added',NULL),
+ (45,187,2,'2021-10-28 11:23:55','Email','Added',NULL),
+ (46,67,2,'2021-03-09 04:26:51','Admin','Added',NULL),
+ (47,29,2,'2021-04-17 02:09:31','Email','Added',NULL),
+ (48,195,2,'2021-09-17 09:43:27','Admin','Added',NULL),
+ (49,64,2,'2021-06-05 06:14:50','Email','Added',NULL),
+ (50,46,2,'2021-12-07 18:54:59','Admin','Added',NULL),
+ (51,69,2,'2021-05-03 15:31:17','Email','Added',NULL),
+ (52,103,2,'2022-01-04 03:24:28','Admin','Added',NULL),
+ (53,170,2,'2021-12-13 23:20:21','Email','Added',NULL),
+ (54,165,2,'2021-08-22 07:46:50','Email','Added',NULL),
+ (55,184,2,'2021-04-19 03:56:36','Email','Added',NULL),
+ (56,45,2,'2022-01-16 13:03:36','Admin','Added',NULL),
+ (57,59,2,'2021-11-22 11:00:38','Admin','Added',NULL),
+ (58,101,2,'2022-02-22 23:51:46','Email','Added',NULL),
+ (59,138,2,'2021-10-05 08:51:03','Admin','Added',NULL),
+ (60,112,2,'2021-12-15 22:53:00','Email','Added',NULL),
+ (61,27,3,'2022-01-25 21:52:51','Email','Added',NULL),
+ (62,137,3,'2022-02-01 14:32:26','Admin','Added',NULL),
+ (63,10,3,'2021-06-11 23:42:52','Email','Added',NULL),
+ (64,124,3,'2021-06-02 22:43:55','Admin','Added',NULL),
+ (65,53,3,'2021-05-15 00:26:24','Admin','Added',NULL),
+ (66,111,3,'2021-06-05 21:01:58','Admin','Added',NULL),
+ (67,145,3,'2021-05-10 12:38:26','Email','Added',NULL),
+ (68,197,3,'2021-12-31 20:27:49','Admin','Added',NULL),
+ (69,129,3,'2021-10-01 03:46:41','Admin','Added',NULL),
+ (70,74,3,'2021-08-29 14:17:40','Email','Added',NULL),
+ (71,14,3,'2021-08-05 08:38:15','Admin','Added',NULL),
+ (72,26,3,'2021-10-28 02:59:09','Email','Added',NULL),
+ (73,56,3,'2021-10-08 10:31:42','Admin','Added',NULL),
+ (74,173,3,'2021-04-14 02:22:54','Email','Added',NULL),
+ (75,80,3,'2021-07-05 20:11:44','Admin','Added',NULL),
+ (76,174,4,'2022-01-08 04:58:39','Email','Added',NULL),
+ (77,116,4,'2021-04-30 04:59:03','Email','Added',NULL),
+ (78,199,4,'2021-07-23 02:22:36','Admin','Added',NULL),
+ (79,105,4,'2021-12-06 16:46:39','Admin','Added',NULL),
+ (80,117,4,'2021-05-02 07:22:55','Admin','Added',NULL),
+ (81,143,4,'2021-09-04 03:21:19','Admin','Added',NULL),
+ (82,164,4,'2022-01-30 09:28:19','Admin','Added',NULL),
+ (83,46,4,'2021-12-25 16:05:06','Admin','Added',NULL),
+ (84,202,4,'2022-02-01 00:42:59','Admin','Added',NULL);
 /*!40000 ALTER TABLE `civicrm_subscription_history` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -12346,22 +12287,21 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_website` WRITE;
 /*!40000 ALTER TABLE `civicrm_website` DISABLE KEYS */;
 INSERT INTO `civicrm_website` (`id`, `contact_id`, `url`, `website_type_id`) VALUES
- (1,116,'http://creativefoodsystems.org',1),
- (2,17,'http://kinsmaneducation.org',1),
- (3,102,'http://urbanschool.org',1),
- (4,187,'http://globalfood.org',1),
- (5,195,'http://watertownfoodpartnership.org',1),
- (6,101,'http://orlandofood.org',1),
- (7,21,'http://sierraacademy.org',1),
- (8,18,'http://ohioschool.org',1),
- (9,93,'http://woodbridgefood.org',1),
- (10,166,'http://mainsustainability.org',1),
- (11,56,'http://woodbridgehealthinitiative.org',1),
- (12,184,'http://bayhealthschool.org',1),
- (13,11,'http://padronisportscenter.org',1),
- (14,173,'http://progressivepeace.org',1),
- (15,120,'http://passadumkeagagriculturepartnership.org',1),
- (16,42,'http://vnempowermentacademy.org',1);
+ (1,77,'http://mlkingenvironmental.org',1),
+ (2,139,'http://oxfordinitiative.org',1),
+ (3,43,'http://gibbonhealthpartners.org',1),
+ (4,22,'http://secondfood.org',1),
+ (5,153,'http://woodbridgesustainability.org',1),
+ (6,58,'http://houstonlegalassociation.org',1),
+ (7,142,'http://harmonpeacefund.org',1),
+ (8,191,'http://tennesseesystems.org',1),
+ (9,25,'http://unitedcollective.org',1),
+ (10,166,'http://texaspeace.org',1),
+ (11,60,'http://cotopaxiadvocacytrust.org',1),
+ (12,54,'http://lincolnfood.org',1),
+ (13,158,'http://lincolnculture.org',1),
+ (14,92,'http://nclegalinitiative.org',1),
+ (15,23,'http://floridalegalsolutions.org',1);
 /*!40000 ALTER TABLE `civicrm_website` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -12393,12 +12333,13 @@ UNLOCK TABLES;
 
 /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
 /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
 /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
 /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
 
--- Dump completed on 2022-01-05  3:20:55
+-- Dump completed on 2022-02-28 22:32:42
 -- +--------------------------------------------------------------------+
 -- | Copyright CiviCRM LLC. All rights reserved.                        |
 -- |                                                                    |
diff --git a/civicrm/sql/civicrm_navigation.mysql b/civicrm/sql/civicrm_navigation.mysql
index 08fdcbd9bb3f8decc77ac4e97c01cd0418ba230c..2e8c73fe487428fad1794febe6b8a796dca5e313 100644
--- a/civicrm/sql/civicrm_navigation.mysql
+++ b/civicrm/sql/civicrm_navigation.mysql
@@ -249,20 +249,6 @@ VALUES
     ( @domainID, 'civicrm/case/search?reset=1', 'Find Cases', 'Find Cases', 'access my cases and activities,access all cases and activities', 'OR',     @caselastID, '1', 1, 3 ),
     ( @domainID, 'civicrm/report/list?compid=7&reset=1', 'Case Reports', 'Case Reports', 'access my cases and activities,access all cases and activities,administer CiviCase', 'OR', @caselastID, '1', 0,    4 );
 
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight, icon )
-VALUES
-    ( @domainID, NULL, 'Grants', 'Grants', 'access CiviGrant', '', NULL, '1', NULL, 90, 'crm-i fa-money' );
-
-SET @grantlastID:=LAST_INSERT_ID();
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
-VALUES
-    ( @domainID, 'civicrm/grant?reset=1',           'Dashboard', 'Dashboard', 'access CiviGrant', '',       @grantlastID, '1', NULL, 1 ),
-    ( @domainID, 'civicrm/grant/add?reset=1&action=add&context=standalone', 'New Grant', 'New Grant', 'access CiviGrant,edit grants', 'AND', @grantlastID, '1', NULL, 2 ),
-    ( @domainID, 'civicrm/grant/search?reset=1',    'Find Grants', 'Find Grants', 'access CiviGrant', '',   @grantlastID, '1', 1, 3 ),
-    ( @domainID, 'civicrm/report/list?compid=5&reset=1', 'Grant Reports', 'Grant Reports', 'access CiviGrant', '', @grantlastID, '1', 0,    4 );
-
 INSERT INTO civicrm_navigation
     ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight, icon )
 VALUES
@@ -475,18 +461,6 @@ VALUES
     ( @domainID, 'civicrm/admin/paymentProcessor?reset=1',                  'Payment Processors', 'Payment Processors',              'administer CiviCRM', '',                     @adminEventlastID, '1', NULL, 12),
     ( @domainID, 'civicrm/admin/setting/preferences/event?reset=1',         'CiviEvent Component Settings', 'CiviEvent Component Settings','access CiviEvent,administer CiviCRM', 'AND', @adminEventlastID, '1', NULL, 13 );
 
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
-VALUES
-    ( @domainID, NULL, 'CiviGrant', 'CiviGrant', 'access CiviGrant,administer CiviCRM', 'AND', @adminlastID, '1', NULL, 13 );
-
-SET @adminGrantlastID:=LAST_INSERT_ID();
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
-VALUES
-    ( @domainID, 'civicrm/admin/options/grant_type?reset=1', 'Grant Types', 'Grant Types', 'access CiviGrant,administer CiviCRM', 'AND', @adminGrantlastID, '1', NULL, 1 ),
-    ( @domainID, 'civicrm/admin/options/grant_status?reset=1', 'Grant Status', 'Grant Status', 'access CiviGrant,administer CiviCRM', 'AND', @adminGrantlastID, '1', NULL, 2 );
-
 INSERT INTO civicrm_navigation
     ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
 VALUES
diff --git a/civicrm/templates/CRM/Activity/Form/Search.tpl b/civicrm/templates/CRM/Activity/Form/Search.tpl
index 0be339fb6ffa62e000bbe0e5173f7fcdbf6223d4..9dd7bebde2ef7c06da21e479584558bde61ba588 100644
--- a/civicrm/templates/CRM/Activity/Form/Search.tpl
+++ b/civicrm/templates/CRM/Activity/Form/Search.tpl
@@ -19,7 +19,7 @@
         {strip}
           <table class="form-layout">
             <tr>
-              <td class="font-size12pt" colspan="2">
+              <td colspan="2">
                 {$form.sort_name.label}&nbsp;&nbsp;{$form.sort_name.html|crmAddClass:'twenty'}
                 <div>
                   <div class="description font-italic">{ts}Complete OR Partial Name{/ts}
diff --git a/civicrm/templates/CRM/Activity/Form/Search/Common.tpl b/civicrm/templates/CRM/Activity/Form/Search/Common.tpl
index 0759d8e2bb14b10bfe793d709ffc03b2e980e815..d34f2e3668f6305ef249d08a4d1f23d84a8c5d1c 100644
--- a/civicrm/templates/CRM/Activity/Form/Search/Common.tpl
+++ b/civicrm/templates/CRM/Activity/Form/Search/Common.tpl
@@ -70,7 +70,7 @@
 {/if}
 
 <tr>
-  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="activity_date_time" colspan="2"}
+  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="activity_date_time" to='' from='' colspan="2" hideRelativeLabel=0 class =''}
   <td>&nbsp;</td>
 </tr>
 <tr>
diff --git a/civicrm/templates/CRM/Activity/Selector/Selector.tpl b/civicrm/templates/CRM/Activity/Selector/Selector.tpl
index 4817467ee5cc16e28ad0168db7a4eb6b89fa0069..aba74b7922c828e1a1182260e96e6b4d3e4fddde 100644
--- a/civicrm/templates/CRM/Activity/Selector/Selector.tpl
+++ b/civicrm/templates/CRM/Activity/Selector/Selector.tpl
@@ -10,7 +10,7 @@
 <div class="crm-activity-selector-{$context}">
   <div class="crm-accordion-wrapper crm-search_filters-accordion">
     <div class="crm-accordion-header">
-    {ts}Filter by Activity{/ts}</a>
+    {ts}Filter by Activity{/ts}
     </div><!-- /.crm-accordion-header -->
     <div class="crm-accordion-body">
       <form><!-- form element is here to fool the datepicker widget -->
diff --git a/civicrm/templates/CRM/Admin/Form/Preferences/Contribute.tpl b/civicrm/templates/CRM/Admin/Form/Preferences/Contribute.tpl
index bea7787bfc7e0d8641b384bbba305ee417981bdf..0c40f27567eb5013c52d67d40f315c699a2b0670 100644
--- a/civicrm/templates/CRM/Admin/Form/Preferences/Contribute.tpl
+++ b/civicrm/templates/CRM/Admin/Form/Preferences/Contribute.tpl
@@ -7,7 +7,7 @@
  | and copyright information, see https://civicrm.org/licensing       |
  +--------------------------------------------------------------------+
 *}
-<div class="crm-block crm-form-block crm-{$formName}-block">
+<div class="crm-block crm-form-block crm--block">
   <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
   {include file="CRM/Form/basicFormFields.tpl"}
 
@@ -20,7 +20,7 @@
             <td class="label"></td>
             <td>
               {$form.$htmlField.html} {$form.$htmlField.label}
-              {if $desc}
+              {if $fieldSpec.description}
                 <br /><span class="description">{$fieldSpec.description}</span>
               {/if}
             </td>
diff --git a/civicrm/templates/CRM/Admin/Form/Setting/Localization.tpl b/civicrm/templates/CRM/Admin/Form/Setting/Localization.tpl
index 754212bc0e1285489363b1596d1c67fee2811388..05fd577a9b322c79d1bcaf5ba78ea10d4de66487 100644
--- a/civicrm/templates/CRM/Admin/Form/Setting/Localization.tpl
+++ b/civicrm/templates/CRM/Admin/Form/Setting/Localization.tpl
@@ -49,10 +49,15 @@
               <span class="description">{$settings_fields.contact_default_language.description}</span>
             </td>
           </tr>
-            <tr class="crm-localization-form-block-defaultCurrency">
-                <td class="label">{$form.defaultCurrency.label} {help id='defaultCurrency' title=$form.defaultCurrency.label}</td>
-                <td>{$form.defaultCurrency.html}</td>
-            </tr>
+          <tr class="crm-localization-form-block-defaultCurrency">
+            <td class="label">{$form.defaultCurrency.label} {help id='defaultCurrency' title=$form.defaultCurrency.label}</td>
+            <td>{$form.defaultCurrency.html}</td>
+          </tr>
+          <tr class="crm-localization-form-block-format_locale">
+            <td class="label">{$form.format_locale.label}</td>
+            <td>{$form.format_locale.html}<br />
+              <span class="description">{ts}Locale to use when formatting money (and in future dates). This replaces thousandsSeparator & decimalSeparator settings.{/ts}</span></td>
+          </tr>
             <tr class="crm-localization-form-block-monetaryThousandSeparator">
                 <td class="label">{$form.monetaryThousandSeparator.label}</td>
                 <td>{$form.monetaryThousandSeparator.html}</td>
diff --git a/civicrm/templates/CRM/Admin/Page/ExtensionDetails.tpl b/civicrm/templates/CRM/Admin/Page/ExtensionDetails.tpl
index 46413b0e39a3b4a13a291fc8521f43b06df293a0..7832acbe91cd822ca6ce26202e0a40b0ab9b029a 100644
--- a/civicrm/templates/CRM/Admin/Page/ExtensionDetails.tpl
+++ b/civicrm/templates/CRM/Admin/Page/ExtensionDetails.tpl
@@ -62,9 +62,4 @@
     <tr>
       <td class="label">{ts}Local path{/ts}</td><td>{if !empty($extension.path)}{$extension.path|escape}{/if}</td>
     </tr>
-    {if !empty($extension.downloadUrl)}
-    <tr>
-      <td class="label">{ts}Download location{/ts}</td><td>{$extension.downloadUrl|escape}</td>
-    </tr>
-    {/if}
 </table>
diff --git a/civicrm/templates/CRM/Campaign/Form/Gotv.tpl b/civicrm/templates/CRM/Campaign/Form/Gotv.tpl
index c11c028724167c8742ee29bda33d27d555b6d373..3a6f31106776fd59231165adedff13296c94bf42 100644
--- a/civicrm/templates/CRM/Campaign/Form/Gotv.tpl
+++ b/civicrm/templates/CRM/Campaign/Form/Gotv.tpl
@@ -10,55 +10,53 @@
 
 {if $errorMessages}
   <div class="messages status crm-error no-popup">
-     {icon icon="fa-info-circle"}{/icon}
-        <ul>
-          {foreach from=$errorMessages item=errorMsg}
-            <li>{ts}{$errorMsg}{/ts}</li>
-          {/foreach}
-       </ul>
-     </div>
+    {icon icon="fa-info-circle"}{/icon}
+    <ul>
+      {foreach from=$errorMessages item=errorMsg}
+        <li>{ts}{$errorMsg}{/ts}</li>
+      {/foreach}
+    </ul>
   </div>
 
 {elseif $buildSelector}
 
-       {* load voter selector for reserve/release *}
-
-       {literal}
-       <script type="text/javascript">
-       CRM.$(function($) {
-           loadVoterList( );
-       });
-       </script>
-       {/literal}
-
-       <table class="gotvVoterRecords">
-           <thead>
-              <tr class="columnheader">
-            <th></th>
-                  <th>{ts}Name{/ts}</th>
-            <th>{ts}Street Address{/ts}</th>
-            <th>{ts}Street Name{/ts}</th>
-            <th>{ts}Street Number{/ts}</th>
-            <th>{ts}Street Unit{/ts}</th>
-            {if $searchVoterFor eq 'release'}
+  {* load voter selector for reserve/release *}
+  {literal}
+  <script type="text/javascript">
+  CRM.$(function($) {
+      loadVoterList( );
+  });
+  </script>
+  {/literal}
+
+  <table class="gotvVoterRecords">
+      <thead>
+        <tr class="columnheader">
+          <th></th>
+          <th>{ts}Name{/ts}</th>
+          <th>{ts}Street Address{/ts}</th>
+          <th>{ts}Street Name{/ts}</th>
+          <th>{ts}Street Number{/ts}</th>
+          <th>{ts}Street Unit{/ts}</th>
+          {if $searchVoterFor eq 'release'}
             <th>{ts}Is Interview Conducted?{/ts}</th>
-            {elseif $searchVoterFor eq 'gotv'}
+          {elseif $searchVoterFor eq 'gotv'}
             <th>{ts}Voted?{/ts}</th>
-            {else}
+          {else}
             <th>{ts}Is Reserved?{/ts}</th>
-            {/if}
-              </tr>
-           </thead>
-           <tbody></tbody>
-       </table>
+          {/if}
+        </tr>
+      </thead>
+      <tbody></tbody>
+  </table>
 
 {else}
 
-    {* build search form *}
-    {include file='CRM/Campaign/Form/Search/Common.tpl' context='gotv'}
-    <div class="crm-block crm-form-block crm-search-form-block">
-      <div id='voterList'></div>
-    </div>
+  {* build search form *}
+  {include file='CRM/Campaign/Form/Search/Common.tpl' context='gotv'}
+  <div class="crm-block crm-form-block crm-search-form-block">
+    <div id='voterList'></div>
+  </div>
 
 {/if} {* end of search form build *}
 
@@ -66,152 +64,158 @@
 {literal}
 <script type="text/javascript">
 
- {/literal}
- {* load selector when force *}
- {if $force and !$buildSelector}
- {literal}
- CRM.$(function($) {
-    searchVoters( {/literal}'{$qfKey}'{literal} );
- });
-
- {/literal}
- {/if}
- {literal}
-
-function searchVoters( qfKey )
-{
-      var dataUrl =  {/literal}"{crmURL h=0 q='search=1&snippet=4'}"{literal};
-
-      //carry survey and interviewer id,
-      //might be helpful if user jump from current tab to interview tab.
-      var surveyId = CRM.$( '#campaign_survey_id' ).val();
-      var interviewerId = CRM.$( '#survey_interviewer_id' ).val();
-      if ( surveyId ) dataUrl = dataUrl + '&sid=' + surveyId;
-      if ( interviewerId ) dataUrl = dataUrl + '&cid=' + interviewerId;
-
-      //lets carry qfKey to retain form session.
-      if ( qfKey ) dataUrl = dataUrl + '&qfKey=' + qfKey;
-
-      CRM.$.get( dataUrl, null, function( voterList ) {
-        CRM.$( '#voterList' ).html( voterList ).trigger('crmLoad');
-
-        //collapse the search form.
-        var searchFormName = '#search_form_' + {/literal}'{$searchVoterFor}'{literal};
-        CRM.$( searchFormName + '.crm-accordion-wrapper:not(.collapsed)').crmAccordionToggle();
-      }, 'html' );
-}
-
-function loadVoterList( )
-{
-     var sourceUrl = {/literal}"{crmURL p='civicrm/ajax/rest' h=0 q='snippet=4&className=CRM_Campaign_Page_AJAX&fnName=voterList' }"{literal};
-
-     var searchVoterFor = {/literal}'{$searchVoterFor}'{literal};
-     CRM.$( 'table.gotvVoterRecords', 'form.{/literal}{$form.formClass}{literal}').dataTable({
-               "bFilter"    : false,
-    "bAutoWidth" : false,
-        "bProcessing": true,
-    "bJQueryUI"  : true,
-                "aaSorting": [[0,''],[1,'asc'], [2,'asc'], [3,'asc'], [4,'asc'], [5,'asc'] ],
-    "aoColumns":[{bSortable:false},{sClass:""},{sClass:""},{sClass:""},{sClass:""},{sClass:""},{bSortable:false}],
-    "sPaginationType": "full_numbers",
-    "sDom"       : '<"crm-datatable-pager-top"lfp>rt<"crm-datatable-pager-bottom"ip>',
-       "bServerSide": true,
-       "sAjaxSource": sourceUrl,
-
-    "fnServerData": function ( sSource, aoData, fnCallback ) {
-      var dataLength = aoData.length;
-
-      var count = 1;
-      var searchCriteria = ['campaign_search_voter_for'];
-
-      //get the search criteria.
-                        var searchParams = {/literal}{$searchParams}{literal};
-                        for ( param in searchParams ) {
-                            if ( val = CRM.$( '#' + param ).val( ) ) {
+  {/literal}
+  {* load selector when force *}
+  {if $force and !$buildSelector}
+    {literal}
+    CRM.$(function($) {
+        searchVoters( {/literal}'{$qfKey}'{literal} );
+    });
+    {/literal}
+  {/if}
+  {literal}
+
+  function searchVoters( qfKey )
+  {
+    var dataUrl =  {/literal}"{crmURL h=0 q='search=1&snippet=4'}"{literal};
+
+    //carry survey and interviewer id,
+    //might be helpful if user jump from current tab to interview tab.
+    var surveyId = CRM.$( '#campaign_survey_id' ).val();
+    var interviewerId = CRM.$( '#survey_interviewer_id' ).val();
+    if ( surveyId ) {
+      dataUrl = dataUrl + '&sid=' + surveyId;
+    }
+    if ( interviewerId ) {
+      dataUrl = dataUrl + '&cid=' + interviewerId;
+    }
+
+    //lets carry qfKey to retain form session.
+    if ( qfKey ) {
+      dataUrl = dataUrl + '&qfKey=' + qfKey;
+    }
+
+    CRM.$.get( dataUrl, null, function( voterList ) {
+      CRM.$( '#voterList' ).html( voterList ).trigger('crmLoad');
+
+      //collapse the search form.
+      var searchFormName = '#search_form_' + {/literal}'{$searchVoterFor}'{literal};
+      CRM.$( searchFormName + '.crm-accordion-wrapper:not(.collapsed)').crmAccordionToggle();
+    }, 'html' );
+  }
+
+  function loadVoterList( )
+  {
+    var sourceUrl = {/literal}"{crmURL p='civicrm/ajax/rest' h=0 q='snippet=4&className=CRM_Campaign_Page_AJAX&fnName=voterList' }"{literal};
+
+    var searchVoterFor = {/literal}'{$searchVoterFor}'{literal};
+    CRM.$( 'table.gotvVoterRecords', 'form.{/literal}{$form.formClass}{literal}').dataTable({
+      "bFilter"    : false,
+      "bAutoWidth" : false,
+      "bProcessing": true,
+      "bJQueryUI"  : true,
+      "aaSorting"  : [[0,''],[1,'asc'], [2,'asc'], [3,'asc'], [4,'asc'], [5,'asc'] ],
+      "aoColumns"  :[{bSortable:false},{sClass:""},{sClass:""},{sClass:""},{sClass:""},{sClass:""},{bSortable:false}],
+      "sPaginationType": "full_numbers",
+      "sDom"       : '<"crm-datatable-pager-top"lfp>rt<"crm-datatable-pager-bottom"ip>',
+      "bServerSide": true,
+      "sAjaxSource": sourceUrl,
+      "fnServerData": function ( sSource, aoData, fnCallback ) {
+        var dataLength = aoData.length;
+        var count = 1;
+        var searchCriteria = ['campaign_search_voter_for'];
+
+        //get the search criteria.
+        var searchParams = {/literal}{$searchParams}{literal};
+        for ( param in searchParams ) {
+          if ( val = CRM.$( '#' + param ).val() ) {
             aoData[dataLength++] = {name: param , value: val };
           }
           searchCriteria[count++] = param;
-                        }
-
-      //do search to reserve voters.
-      aoData[dataLength++] = {name: 'campaign_search_voter_for', value: searchVoterFor};
-
-      //lets transfer search criteria.
-      aoData[dataLength++] = {name: 'searchCriteria', value:searchCriteria.join(',')};
-
-      CRM.$.ajax( {
-        "dataType": 'json',
-        "type": "POST",
-        "url": sSource,
-        "data": aoData,
-        "success": fnCallback
-      } ); }
-         });
-}
-
-function processVoterData( element, operation )
-{
-
-  var data = new Object;
-  if ( !operation ) return;
-
-  var data = new Object;
-  if ( operation == 'release' ) {
-         data['operation']   = operation;
-  data['activity_id'] = CRM.$( element ).val( );
-  data['isDelete']    = CRM.$( element ).prop('checked') ? 1:0;
-  } else if ( operation == 'reserve' ) {
-        var interviewerId           = CRM.$( '#survey_interviewer_id' ).val( );
-        data['operation']           = operation;
-        data['source_record_id']    = CRM.$( '#campaign_survey_id' ).val( );
-  data['target_contact_id']   = CRM.$( element ).val( );
-        data['source_contact_id']   = interviewerId;
-        data['assignee_contact_id'] = interviewerId;
-  data['isReserved']          = CRM.$( element ).prop('checked') ? 1:0;
-  } else if ( operation == 'gotv' ) {
-         data['operation']   = operation;
-  data['activity_id'] = CRM.$( element ).val( );
-  data['hasVoted']    = CRM.$( element ).prop('checked') ? 1: 0;
+        }
+
+        //do search to reserve voters.
+        aoData[dataLength++] = {name: 'campaign_search_voter_for', value: searchVoterFor};
+
+        //lets transfer search criteria.
+        aoData[dataLength++] = {name: 'searchCriteria', value:searchCriteria.join(',')};
+
+        CRM.$.ajax({
+          "dataType": 'json',
+          "type": "POST",
+          "url": sSource,
+          "data": aoData,
+          "success": fnCallback
+        });
+      }
+    });
   }
-  data['surveyTitle'] = {/literal}'{$surveyTitle|escape:javascript}'{literal};
-
-  var actUrl = {/literal}
-         "{crmURL p='civicrm/ajax/rest' h=0 q='className=CRM_Campaign_Page_AJAX&fnName=processVoterData'}"
-         {literal};
-
-  //post data to save voter as voted/non voted.
-  CRM.$.post( actUrl,
-       data,
-     function( response ) {
-         if ( response.status == 'success' ) {
-                   var msgId = '#success_msg_' + CRM.$( element ).val( );
-       CRM.$( msgId ).fadeIn('slow').fadeOut('slow');
-       if ( operation == 'release' ) {
-                 msg = '{/literal}{ts escape='js'}Save as voted.{/ts}{literal}';
-           var isDeleted = CRM.$( element ).prop('checked') ? 1:0;
-           if ( !isDeleted ) msg = '{/literal}{ts escape='js'}Save as non voted.{/ts}{literal}';
-       } else if ( operation == 'gotv' ) {
-           msg = '{/literal}{ts escape='js'}Vote Recorded.{/ts}{literal}';
-           var hasVoted = CRM.$( element ).prop('checked') ? 1:0;
-           var trObject = CRM.$( '[id^="survey_activity['+ CRM.$( element ).val() +']"]' ).parents('tr' );
-           var methodName = 'addClass';
-           if ( !hasVoted ) {
-        msg = '{/literal}{ts escape='js'}Vote Cancelled.{/ts}{literal}';
-        methodName = 'removeClass';
-           }
-           eval( 'trObject.' + methodName + "( 'name disabled' )" );
-       } else if ( operation == 'reserve' ) {
-           if ( CRM.$( element ).prop('checked') ) {
-               msg = '{/literal}{ts escape='js'}Reserved.{/ts}{literal}';
-           } else {
-               msg = '{/literal}{ts escape='js'}Released.{/ts}{literal}';
-           }
-       }
-       CRM.$( msgId ).html( msg );
-         }
-     }, 'json' );
-
-}
 
+  function processVoterData( element, operation )
+  {
+    var data = new Object;
+    if ( !operation ) {
+      return;
+    }
+
+    var data = new Object;
+    if ( operation == 'release' ) {
+      data['operation']   = operation;
+      data['activity_id'] = CRM.$( element ).val( );
+      data['isDelete']    = CRM.$( element ).prop('checked') ? 1:0;
+    } else if ( operation == 'reserve' ) {
+      var interviewerId           = CRM.$( '#survey_interviewer_id' ).val( );
+      data['operation']           = operation;
+      data['source_record_id']    = CRM.$( '#campaign_survey_id' ).val( );
+      data['target_contact_id']   = CRM.$( element ).val( );
+      data['source_contact_id']   = interviewerId;
+      data['assignee_contact_id'] = interviewerId;
+      data['isReserved']          = CRM.$( element ).prop('checked') ? 1:0;
+    } else if ( operation == 'gotv' ) {
+      data['operation']   = operation;
+      data['activity_id'] = CRM.$( element ).val( );
+      data['hasVoted']    = CRM.$( element ).prop('checked') ? 1: 0;
+    }
+    data['surveyTitle'] = {/literal}'{$surveyTitle|escape:javascript}'{literal};
+
+    var actUrl = {/literal}
+      "{crmURL p='civicrm/ajax/rest' h=0 q='className=CRM_Campaign_Page_AJAX&fnName=processVoterData'}"
+    {literal};
+
+    //post data to save voter as voted/non voted.
+    CRM.$.post( actUrl, data,
+      function( response ) {
+        if ( response.status == 'success' ) {
+          var msgId = '#success_msg_' + CRM.$( element ).val( );
+          CRM.$( msgId ).fadeIn('slow').fadeOut('slow');
+          if ( operation == 'release' ) {
+            msg = '{/literal}{ts escape='js'}Save as voted.{/ts}{literal}';
+            var isDeleted = CRM.$( element ).prop('checked') ? 1:0;
+            if ( !isDeleted ) {
+              msg = '{/literal}{ts escape='js'}Save as non voted.{/ts}{literal}';
+            }
+          } else if ( operation == 'gotv' ) {
+            msg = '{/literal}{ts escape='js'}Vote Recorded.{/ts}{literal}';
+            var hasVoted = CRM.$( element ).prop('checked') ? 1:0;
+            var trObject = CRM.$( '[id^="survey_activity['+ CRM.$( element ).val() +']"]' ).parents('tr' );
+            var methodName = 'addClass';
+            if ( !hasVoted ) {
+              msg = '{/literal}{ts escape='js'}Vote Cancelled.{/ts}{literal}';
+              methodName = 'removeClass';
+            }
+            eval( 'trObject.' + methodName + "( 'name disabled' )" );
+          } else if ( operation == 'reserve' ) {
+            if ( CRM.$( element ).prop('checked') ) {
+              msg = '{/literal}{ts escape='js'}Reserved.{/ts}{literal}';
+            } else {
+              msg = '{/literal}{ts escape='js'}Released.{/ts}{literal}';
+            }
+          }
+          CRM.$( msgId ).html( msg );
+        }
+      },
+      'json'
+    );
+  }
 </script>
 {/literal}
diff --git a/civicrm/templates/CRM/Campaign/Form/Search/Common.tpl b/civicrm/templates/CRM/Campaign/Form/Search/Common.tpl
index 35a1c333b8fabcedecb26520bfdbec42db608fdd..2b9a059b432e1eaf0c5a65bd3283016ee6a10f7a 100644
--- a/civicrm/templates/CRM/Campaign/Form/Search/Common.tpl
+++ b/civicrm/templates/CRM/Campaign/Form/Search/Common.tpl
@@ -23,7 +23,7 @@
     {strip}
       <table class="form-layout">
         <tr>
-          <td class="font-size12pt">
+          <td>
             {$form.campaign_survey_id.label}
           </td>
           <td>
@@ -31,17 +31,17 @@
           </td>
 
           {if $showInterviewer}
-            <td class="font-size12pt">
+            <td>
               {$form.survey_interviewer_id.label}
             </td>
-            <td class="font-size12pt ">
+            <td>
               {$form.survey_interviewer_id.html}
             </td>
           {/if}
 
         </tr>
         <tr>
-          <td class="font-size12pt">
+          <td>
             {$form.sort_name.label}
           </td>
           <td colspan="3">
@@ -64,13 +64,13 @@
         </tr>
 
         <tr>
-          <td class="font-size12pt">
+          <td>
             {$form.street_address.label}
           </td>
           <td>
             {$form.street_address.html}
           </td>
-          <td class="font-size12pt">
+          <td>
             {$form.street_name.label}
           </td>
           <td>
@@ -78,13 +78,13 @@
           </td>
         </tr>
         <tr>
-          <td class="font-size12pt">
+          <td>
             {$form.street_unit.label}
           </td>
           <td>
             {$form.street_unit.html}
           </td>
-          <td class="font-size12pt">
+          <td>
             {$form.city.label}
           </td>
           <td>
@@ -92,14 +92,14 @@
           </td>
         </tr>
         <tr>
-          <td class="font-size12pt">
+          <td>
             {$form.street_number.label}
           </td>
           <td>
             {$form.street_number.html}
           </td>
 
-          <td class="font-size12pt">
+          <td>
             {$form.postal_code.label}
           </td>
           <td>
@@ -110,7 +110,7 @@
           <tr>
             {if $customSearchFields.ward}
               {assign var='ward' value=$customSearchFields.ward}
-              <td class="font-size12pt">
+              <td>
                 {$form.$ward.label}
               </td>
               <td>
@@ -120,7 +120,7 @@
 
             {if $customSearchFields.precinct}
               {assign var='precinct' value=$customSearchFields.precinct}
-              <td class="font-size12pt">
+              <td>
                 {$form.$precinct.label}
               </td>
               <td>
diff --git a/civicrm/templates/CRM/Case/Form/Activity.tpl b/civicrm/templates/CRM/Case/Form/Activity.tpl
index 4e243b3415215134c93e9d63033b5f04ad305eb4..cf24faa2819217731e120daa928cf9a098d3b7ca 100644
--- a/civicrm/templates/CRM/Case/Form/Activity.tpl
+++ b/civicrm/templates/CRM/Case/Form/Activity.tpl
@@ -62,9 +62,9 @@
             <table class="form-layout-compressed">
               <tbody>
                 <tr id="with-clients" class="crm-case-activity-form-block-client_name">
-                  <td class="label font-size12pt">{ts}Client{/ts}</td>
+                  <td class="label">{ts}Client{/ts}</td>
                   <td class="view-value">
-                    <span class="font-size12pt">
+                    <span>
                       {foreach from=$client_names item=client name=clients key=id}
                         {foreach from=$client_names.$id item=client1}
                           {$client1.display_name}
@@ -131,7 +131,7 @@
                 <td class="view-value">
                   {$form.activity_date_time.html}
                   {if $action eq 2 && $activityTypeFile eq 'OpenCase'}
-                    <div class="description">Use a <a class="open-inline" href="{$changeStartURL}">Change Start Date</a> activity to change the date</div>
+                    <div class="description">{ts}Use a <a class="open-inline" href="{$changeStartURL}">Change Start Date</a> activity to change the date{/ts}</div>
                   {/if}
                 </td>
               </tr>
diff --git a/civicrm/templates/CRM/Case/Form/Case.tpl b/civicrm/templates/CRM/Case/Form/Case.tpl
index ef2bbef2a2f6adf85c1b3c8c1dbb379729bcb7a7..bcbef3b5f72fa7c66583be5e815d54ab4da84ec5 100644
--- a/civicrm/templates/CRM/Case/Form/Case.tpl
+++ b/civicrm/templates/CRM/Case/Form/Case.tpl
@@ -36,8 +36,8 @@
     {/if}
 {if !empty($clientName)}
     <tr class="crm-case-form-block-clientName">
-      <td class="label font-size12pt">{ts}Client{/ts}</td>
-      <td class="font-size12pt bold view-value">{$clientName}</td>
+      <td class="label">{ts}Client{/ts}</td>
+      <td class="bold view-value">{$clientName}</td>
     </tr>
 {elseif empty($clientName) and $action eq 1}
     {if $context eq 'standalone'}
diff --git a/civicrm/templates/CRM/Case/Form/Search.tpl b/civicrm/templates/CRM/Case/Form/Search.tpl
index 0f920c3335087bf8f0b7764c37b69774faef96da..1aae150e0cee97177f05dfca766f0fd8321ba07b 100644
--- a/civicrm/templates/CRM/Case/Form/Search.tpl
+++ b/civicrm/templates/CRM/Case/Form/Search.tpl
@@ -21,7 +21,7 @@
         {strip}
             <table class="form-layout">
             <tr class="crm-case-search-form-block-sort_name">
-               <td class="font-size12pt" colspan="2">
+               <td colspan="2">
                    {$form.sort_name.label}&nbsp;&nbsp;{$form.sort_name.html|crmAddClass:'twenty'}
                </td>
               <td>{include file="CRM/common/formButtons.tpl" location="top"}</td>
diff --git a/civicrm/templates/CRM/Case/Form/Search/Common.tpl b/civicrm/templates/CRM/Case/Form/Search/Common.tpl
index dc9d0121f24217d306f7f15bd18f57a8ab82f761..a72011305116214d4e2629889d0fbce5ecbc4b1d 100644
--- a/civicrm/templates/CRM/Case/Form/Search/Common.tpl
+++ b/civicrm/templates/CRM/Case/Form/Search/Common.tpl
@@ -22,10 +22,10 @@
   </tr>
 
   <tr>
-    {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="case_start_date" hideRelativeLabel=0}
+    {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="case_start_date" to='' from='' colspan='' class ='' hideRelativeLabel=0}
   </tr>
   <tr>
-    {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="case_end_date" hideRelativeLabel=0}
+    {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="case_end_date" to='' from='' colspan='' class ='' hideRelativeLabel=0 }
   </tr>
 
   <tr id='case_search_form'>
diff --git a/civicrm/templates/CRM/Contact/Form/DedupeFind.tpl b/civicrm/templates/CRM/Contact/Form/DedupeFind.tpl
index d96ba76511c6185060428f08e631911c1ad62123..5cb53d59af9e69523a8fe3a973156eb557870663 100644
--- a/civicrm/templates/CRM/Contact/Form/DedupeFind.tpl
+++ b/civicrm/templates/CRM/Contact/Form/DedupeFind.tpl
@@ -20,10 +20,12 @@
        <td class="label">{$form.group_id.label}</td>
        <td>{$form.group_id.html}</td>
      </tr>
-       <tr class="crm-dedupe-find-form-block-limit">
-        <td class="label">{$form.limit.label}</td>
-        <td>{$form.limit.html}</td>
-       </tr>
+     {if $limitShown}
+        <tr class="crm-dedupe-find-form-block-limit">
+          <td class="label">{$form.limit.label}</td>
+          <td>{$form.limit.html}</td>
+        </tr>
+      {/if}
    </table>
   <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
 </div>
diff --git a/civicrm/templates/CRM/Contact/Form/Relationship.tpl b/civicrm/templates/CRM/Contact/Form/Relationship.tpl
index 37f9a5a6271b22d63562e4d78c8964359e0ed670..f1fc994faa899b6fa7c1e860f442b316c4a82f9d 100644
--- a/civicrm/templates/CRM/Contact/Form/Relationship.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Relationship.tpl
@@ -9,65 +9,6 @@
 *}
 {* this template is used for adding/editing/viewing relationships  *}
 
-  {if $action eq 4 } {* action = view *}
-    <div class="crm-block crm-content-block crm-relationship-view-block">
-      <table class="crm-info-panel">
-        {foreach from=$viewRelationship item="row"}
-          <tr>
-            <td class="label">{$row.relation}</td>
-            <td><a class="no-popup" href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.cid`"}">{$row.name}</a></td>
-          </tr>
-          {if $isCurrentEmployer}
-            <tr><td class="label">{ts}Current Employee?{/ts}</td><td>{ts}Yes{/ts}</td></tr>
-          {/if}
-          {if $row.start_date}
-            <tr><td class="label">{ts}Start Date{/ts}</td><td>{$row.start_date|crmDate}</td></tr>
-          {/if}
-          {if $row.end_date}
-            <tr><td class="label">{ts}End Date{/ts}</td><td>{$row.end_date|crmDate}</td></tr>
-          {/if}
-          {if $row.description}
-            <tr><td class="label">{ts}Description{/ts}</td><td>{$row.description}</td></tr>
-          {/if}
-          {foreach from=$viewNote item="rec"}
-            {if $rec }
-              <tr><td class="label">{ts}Note{/ts}</td><td>{$rec}</td></tr>
-            {/if}
-          {/foreach}
-          <tr>
-            <td class="label"><label>{ts}Permissions{/ts}</label></td>
-            <td>
-              {if $row.is_permission_a_b or $row.is_permission_b_a}
-                {if $row.is_permission_a_b}
-                  <div>
-                  {if $row.rtype EQ 'a_b' AND $is_contact_id_a}
-                    {include file="CRM/Contact/Page/View/RelationshipPerm.tpl" permType=$row.is_permission_a_b permDisplayName=$displayName otherDisplayName=$row.display_name displayText=true}
-                  {else}
-                    {include file="CRM/Contact/Page/View/RelationshipPerm.tpl" permType=$row.is_permission_a_b otherDisplayName=$displayName permDisplayName=$row.display_name displayText=true}
-                  {/if}
-                  </div>
-                {/if}
-                {if $row.is_permission_b_a}
-                  <div>
-                  {if $row.rtype EQ 'a_b' AND $is_contact_id_a}
-                    {include file="CRM/Contact/Page/View/RelationshipPerm.tpl" permType=$row.is_permission_b_a otherDisplayName=$displayName permDisplayName=$row.display_name displayText=true}
-                  {else}
-                    {include file="CRM/Contact/Page/View/RelationshipPerm.tpl" permType=$row.is_permission_b_a permDisplayName=$displayName otherDisplayName=$row.display_name displayText=true}
-                  {/if}
-                  </div>
-                {/if}
-              {else}
-                {ts}None{/ts}
-              {/if}
-            </td>
-          </tr>
-          <tr><td class="label">{ts}Status{/ts}</td><td>{if $row.is_active}{ts}Enabled{/ts}{else}{ts}Disabled{/ts}{/if}</td></tr>
-        {/foreach}
-      </table>
-      {include file="CRM/Custom/Page/CustomDataView.tpl"}
-    </div>
-  {/if}
-
   {if $action eq 2 or $action eq 1} {* add and update actions *}
     <div class="crm-block crm-form-block crm-relationship-form-block">
       <table class="form-layout-compressed">
diff --git a/civicrm/templates/CRM/Contact/Form/Search/ContactSearchFields.tpl b/civicrm/templates/CRM/Contact/Form/Search/ContactSearchFields.tpl
index 2941f228ee6ffde2b5ab8ab90ca73bfe581b2ab2..e80a3ceb4e525d8548840f09c00c0b73bf5848ae 100644
--- a/civicrm/templates/CRM/Contact/Form/Search/ContactSearchFields.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Search/ContactSearchFields.tpl
@@ -1,5 +1,5 @@
 <tr>
-  <td class="font-size12pt">
+  <td>
     {$form.sort_name.label}
     <br>
     {$form.sort_name.html|crmAddClass:'twenty'}
diff --git a/civicrm/templates/CRM/Contact/Form/Search/Criteria/ChangeLog.tpl b/civicrm/templates/CRM/Contact/Form/Search/Criteria/ChangeLog.tpl
index 38da97e13b2ff46f8d3c04c9cabc248a30d20e14..f84cc732f07beacddf695f63ecdd874525265466 100644
--- a/civicrm/templates/CRM/Contact/Form/Search/Criteria/ChangeLog.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Search/Criteria/ChangeLog.tpl
@@ -10,14 +10,14 @@
 <div id="changelog" class="form-item">
   <table class="form-layout">
     <tr>
-      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="modified_date"}
+      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="modified_date" to='' from='' class='' colspan='' hideRelativeLabel=0}
       <td>
         <span class="modifiedBy"><label>{ts}Modified By{/ts}</label></span></br>
         {$form.changed_by.html}<br><span class="description">{ts}Note this field just filters on who made a change no matter when that change happened, It doesn't have any link to the modified date field.{/ts}</span>
       </td>
     </tr>
     <tr>
-      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="created_date"}
+      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="created_date" to='' from='' colspan='' class='' hideRelativeLabel=0}
     </tr>
   </table>
 </div>
diff --git a/civicrm/templates/CRM/Contact/Form/Search/Criteria/Demographics.tpl b/civicrm/templates/CRM/Contact/Form/Search/Criteria/Demographics.tpl
index 41edbab140143c92e8e7933723d7abb6b2620b77..ad2858ea82aa9a341dfc5e8692dcc21c36a7e862 100644
--- a/civicrm/templates/CRM/Contact/Form/Search/Criteria/Demographics.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Search/Criteria/Demographics.tpl
@@ -10,7 +10,7 @@
 <div id="demographics" class="form-item">
   <table class="form-layout">
     <tr>
-      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="birth_date"}
+      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="birth_date" to='' from='' colspan='' class='' hideRelativeLabel=0}
     </tr>
     <tr>
       <td>
@@ -27,7 +27,7 @@
       </td>
     </tr>
     <tr>
-      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="deceased_date"}
+      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="deceased_date"  to='' from='' colspan='' class='' hideRelativeLabel=0}
     </tr>
     <tr>
       <td>
diff --git a/civicrm/templates/CRM/Contact/Form/Search/Criteria/Relationship.tpl b/civicrm/templates/CRM/Contact/Form/Search/Criteria/Relationship.tpl
index 35a22fd9241b18a8d0dfcff57859759f5fce44ad..2fe8f3c1d359d463f8c4f8c8439b77120201a305 100644
--- a/civicrm/templates/CRM/Contact/Form/Search/Criteria/Relationship.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Search/Criteria/Relationship.tpl
@@ -44,16 +44,16 @@
       </td>
     </tr>
     <tr>
-      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="relationship_start_date"}
+      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="relationship_start_date"  to='' from='' colspan='' class='' hideRelativeLabel=0}
     </tr>
     <tr>
-      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="relationship_end_date"}
+      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="relationship_end_date"  to='' from='' colspan='' class='' hideRelativeLabel=0}
     </tr>
     <tr>
       <td colspan="2"><label>{ts}Active Period{/ts}</label> {help id="id-relationship-active-period" file="CRM/Contact/Form/Search/Advanced.hlp"}<br /></td>
     </tr>
     <tr>
-      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="relation_active_period_date" hideRelativeLabel=1}
+      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="relation_active_period_date" to='' from='' colspan='' class ='' hideRelativeLabel=1 }
     </tr>
     {if !empty($relationshipGroupTree)}
       <tr>
diff --git a/civicrm/templates/CRM/Contact/Form/Search/ResultTasks.tpl b/civicrm/templates/CRM/Contact/Form/Search/ResultTasks.tpl
index 79bcf3fc582dbf72010cc0af73c42e489cd0d04d..567a415f760d87e0f4480f1709c4c52386209747 100644
--- a/civicrm/templates/CRM/Contact/Form/Search/ResultTasks.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Search/ResultTasks.tpl
@@ -38,7 +38,7 @@
 
   <table class="form-layout-compressed">
   <tr>
-    <td class="font-size12pt" style="width: 30%;">
+    <td style="width: 30%;">
         {if !empty($savedSearch.name)}{$savedSearch.name} ({ts}smart group{/ts}) - {/if}
         {ts count=$pager->_totalItems plural='%count Contacts'}%count Contact{/ts}
     </td>
@@ -51,7 +51,7 @@
     </td>
   </tr>
   <tr>
-    <td class="font-size11pt"> {ts}Select Records{/ts}:</td>
+    <td> {ts}Select Records{/ts}:</td>
     <td class="nowrap">
       {assign var="checked" value=$selectedContactIds|@count}
       {$form.radio_ts.ts_all.html} <label for="{$ts_all_id}">{ts count=$pager->_totalItems plural='All %count records'}The found record{/ts}</label>
diff --git a/civicrm/templates/CRM/Contact/Form/Task.tpl b/civicrm/templates/CRM/Contact/Form/Task.tpl
index ec171e0810e35304345be5fe9c024143a9bc1f73..80cdb64ade7b7a5dd44b06ba6dea2709cceacd99 100644
--- a/civicrm/templates/CRM/Contact/Form/Task.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Task.tpl
@@ -9,7 +9,7 @@
 *}
 {ts 1=$totalSelectedContacts}Number of selected contacts: %1{/ts}
 
-{if !empty($searchtype) && $searchtype eq 'ts_sel'}
+{if $isSelectedContacts}
 <div id="popupContainer">
   <div class="crm-block crm-form-block crm-search-form-block">
     <table id="selectedRecords-{if !empty($group)}{$group.id}{/if}" class="display crm-copy-fields crm-sortable">
@@ -32,7 +32,7 @@
 <a href="#" id="popup-button" title="{ts}View Selected Contacts{/ts}">{ts}View Selected Contacts{/ts}</a>
 {/if}
 
-{if !empty($searchtype) && $searchtype eq 'ts_sel'}
+{if $isSelectedContacts}
 {literal}
 <script type="text/javascript">
   CRM.$(function($) {
diff --git a/civicrm/templates/CRM/Contact/Form/Task/Email.hlp b/civicrm/templates/CRM/Contact/Form/Task/Email.hlp
index 9ae2dcb3df4c22bc58c65274807ad3b7f846fc98..e9a357730bff373f980f095e07ad88fda986faae 100644
--- a/civicrm/templates/CRM/Contact/Form/Task/Email.hlp
+++ b/civicrm/templates/CRM/Contact/Form/Task/Email.hlp
@@ -8,25 +8,6 @@
  +--------------------------------------------------------------------+
 *}
 {capture assign=tokentext}{ts}Find out more about CiviCRM Tokens{/ts}{/capture}
-{htxt id="id-from_email-title"}
-  {ts}From Address{/ts}
-{/htxt}
-{htxt id="id-from_email"}
-{if !empty($params.logged_in_email_setting) and $params.logged_in_email_setting == "1"}
-  <p>{ts}By default, CiviCRM uses the primary email address of the logged in user as the FROM address when sending emails to contacts. However, users with Administer CiviCRM permission can configure one or more general email addresses that can be selected as an alternative. EXAMPLE: "Client Services" &lt;clientservices@example.org&gt;{/ts}</p>
-{else}
-  <p>{ts}CiviCRM is currently configured to only use the defined From Email addresses. If you wish to be able to use the email address of the logged in user as the From Address you will need to set the setting "Allow mail from logged in contact" setting. Users with Administer CiviCRM can set this setting in the SMTP settings.{/ts}<p>
-  {if !empty($params.isAdmin)}
-    {capture assign="smtpUrl"}{crmURL p="civicrm/admin/setting/smtp" q="reset=1"}{/capture}
-    <p>{ts 1=$smtpUrl}Go to <a href='%1'>Settings - Outbound Mail</a> to enable the usage of the logged in contact's email address as the from email{/ts}</p>
-  {/if}
-{/if}
-{if !empty($params.isAdmin)}
-   {capture assign="fromConfig"}{crmURL p="civicrm/admin/options/from_email_address" q="reset=1"}{/capture}
-   <p>{ts 1=$fromConfig}Go to <a href='%1'>Administer CiviCRM &raquo; Communications &raquo; FROM Email Addresses</a> to add or edit general email addresses. Make sure these email addresses are valid email accounts with your email service provider.{/ts}</p>
-{/if}
-{/htxt}
-
 {htxt id="id-to_email-title"}
   {ts}To Address{/ts}
 {/htxt}
@@ -51,11 +32,6 @@
 <p>{ts}Use tokens when you are sending mail to a number of recipients, and want to include their name and / or other values from their contact record automatically within your message.{/ts}</p>
 <p>{ts 1='&#123;contact.first_name&#125;'}EXAMPLE: If you want your message to begin with "Dear " followed by the recipient's first name, you can use the %1 token in your message. <em>Dear %1</em>{/ts}</p>
 <p>{ts}Place your cursor within the Message box where you want to the token to be inserted. Then click the &quot;Insert Tokens&quot; link in the upper right corner of the message box to see a list of available tokens. Insert the token by clicking the desired token name in the list (for example, click &quot;First Name&quot;).{/ts}</p>
-{if !empty($params.tplFile) and $params.tplFile EQ 'CRM/Mailing/Form/Upload.tpl'}
-    <p>
-    {ts}You will also use tokens to insert Unsubscribe, Opt out and Forwarding links in your message.{/ts}
-    </p>
-{/if}
 <p>{ts}Custom tokens (based on custom data) can be added for organizations as well. These tokens will not be displayed in the list of available tokens, but can be added manually. The format is {literal}{contact.custom_12}{/literal} – where 12 is the ID of the custom data field. To find the custom data field ID,
 go Administer > Customize Data & Screens > Custom Fields and click ‘edit’ on the field you want to use. Look at the URL. The last part of the URL will
 be an equal sign and a number (=12). The number (12 in this example) is the id of that custom field.{/ts}</p>
@@ -69,19 +45,6 @@ be an equal sign and a number (=12). The number (12 in this example) is the id o
 <p>{ts}Use tokens when you are sending mail or generating PDF letters for a number of recipients, and want to include their name and / or other values from their contact record automatically within your message.{/ts}</p>
 <p>{ts 1='&#123;contact.first_name&#125;'}EXAMPLE: If you want your message to begin with "Dear " followed by the recipient's first name, you can use the %1 token in your message. <em>Dear %1</em>{/ts}</p>
 <p>{ts}Place your cursor within the Message box where you want to the token to be inserted. Then click the &quot;Insert Tokens&quot; link in the upper right corner of the message box to see a list of available tokens. Insert the token by clicking the desired token name in the list (for example, click &quot;First Name&quot;).{/ts}</p>
-{if !empty($params.tplFile) and $params.tplFile EQ 'CRM/Mailing/Form/Upload.tpl'}
-    <p>
-    {ts}You will also use tokens to insert Unsubscribe, Opt out and Forwarding links in your message.{/ts}
-        {ts}Use these steps to insert clickable action links:{/ts}
-        <ul>
-            <li>{ts}Select the action token from the Insert Tokens pop-up list - e.g. Unsubscribe via web page - and insert into your message.{/ts}</li>
-            <li>{ts 1='&#123;action.unsubscribeUrl&#125;}'}Highlight the token and copy it to your clipboard - e.g. %1.{/ts}</li>
-            <li>{ts}Replace the token in your message with the text you want for the link - e.g. Click here to unsubscribe.{/ts}</li>
-            <li>{ts}With the text highlighted, click the Insert/Edit Link icon in the editor toolbar.{/ts}</li>
-            <li>{ts}Paste the action token into the URL field and click Insert (or Update).{/ts}</li>
-        </ul>
-    </p>
-{/if}
 <p>{ts}Custom tokens (based on custom data) can be added for organizations as well. These tokens will not be displayed in the list of available tokens, but can be added manually. The format is {literal}{contact.custom_12}{/literal} – where 12 is the ID of the custom data field. To find the custom data field ID,
 go Administer > Customize Data & Screens > Custom Fields and click ‘edit’ on the field you want to use. Look at the URL. The last part of the URL will
 be an equal sign and a number (=12). The number (12 in this example) is the id of that custom field.{/ts}</p>
diff --git a/civicrm/templates/CRM/Contact/Form/Task/Email.tpl b/civicrm/templates/CRM/Contact/Form/Task/Email.tpl
index c9b9b138a028fcc1db5a6c8ee5010a0e820f032f..02e9ed51e71e1d8241fd27b3fc64b41e7c56760b 100644
--- a/civicrm/templates/CRM/Contact/Form/Task/Email.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Task/Email.tpl
@@ -14,11 +14,11 @@
         <p>{ts count=$suppressedEmails plural='Email will NOT be sent to %count contacts - (no email address on file, or communication preferences specify DO NOT EMAIL, or contact is deceased).'}Email will NOT be sent to %count contact - (no email address on file, or communication preferences specify DO NOT EMAIL, or contact is deceased).{/ts}</p>
     </div>
 {/if}
-{crmSetting var="logged_in_email_setting" name="allow_mail_from_logged_in_contact"}
+
 <table class="form-layout-compressed">
   <tr id="selectEmailFrom" class="crm-contactEmail-form-block-fromEmailAddress crm-email-element">
     <td class="label">{$form.from_email_address.label}</td>
-    <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin logged_in_email_setting=$logged_in_email_setting}</td>
+    <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
   </tr>
     <tr class="crm-contactEmail-form-block-recipient">
        <td class="label">{if $single eq false}{ts}Recipient(s){/ts}{else}{$form.to.label}{/if}</td>
@@ -68,7 +68,7 @@
   {include file="CRM/Campaign/Form/addCampaignToComponent.tpl" campaignTrClass="crm-contactEmail-form-block-campaign_id"}
 </table>
 
-{include file="CRM/Contact/Form/Task/EmailCommon.tpl"}
+{include file="CRM/Contact/Form/Task/EmailCommon.tpl" noAttach=0}
 {include file="CRM/Activity/Form/FollowUp.tpl" type='email-'}
 
 <div class="spacer"> </div>
diff --git a/civicrm/templates/CRM/Contact/Form/Task/EmailCommon.tpl b/civicrm/templates/CRM/Contact/Form/Task/EmailCommon.tpl
index 6c0f69516e8944a17b3bff3ffa81c8c474f2a75d..644950ab62a1007546823c13a10f760ac91c15fa 100644
--- a/civicrm/templates/CRM/Contact/Form/Task/EmailCommon.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Task/EmailCommon.tpl
@@ -21,10 +21,7 @@
   </div>
   <div class="clear"></div>
     <div class='html'>
-  {if !empty($editor) and $editor EQ 'textarea'}
-      <div class="help description">{ts}NOTE: If you are composing HTML-formatted messages, you may want to enable a Rich Text (WYSIWYG) editor (Administer &raquo; Customize Data & Screens &raquo; Display Preferences).{/ts}</div>
-  {/if}
-  {$form.html_message.html}<br />
+      {$form.html_message.html}<br />
     </div>
   </div><!-- /.crm-accordion-body -->
 </div><!-- /.crm-accordion-wrapper -->
@@ -59,7 +56,7 @@
    <div class="content">{$form.saveTemplateName.html|crmAddClass:huge}</div>
 </div>
 
-{if empty($noAttach)}
+{if !$noAttach}
     {include file="CRM/Form/attachment.tpl"}
 {/if}
 
diff --git a/civicrm/templates/CRM/Contact/Form/Task/Help/Email/id-from_email.hlp b/civicrm/templates/CRM/Contact/Form/Task/Help/Email/id-from_email.hlp
new file mode 100644
index 0000000000000000000000000000000000000000..d0ca4c29947210dff280a0dcf48dbe290324e670
--- /dev/null
+++ b/civicrm/templates/CRM/Contact/Form/Task/Help/Email/id-from_email.hlp
@@ -0,0 +1,19 @@
+{htxt id="id-from_email-title"}
+  {ts}From Address{/ts}
+{/htxt}
+{htxt id="id-from_email"}
+{crmSetting var="allow_mail_from_logged_in_contact" name="allow_mail_from_logged_in_contact"}
+{if $allow_mail_from_logged_in_contact}
+  <p>{ts}By default, CiviCRM uses the primary email address of the logged in user as the FROM address when sending emails to contacts. However, users with Administer CiviCRM permission can configure one or more general email addresses that can be selected as an alternative. EXAMPLE: "Client Services" &lt;clientservices@example.org&gt;{/ts}</p>
+{else}
+  <p>{ts}CiviCRM is currently configured to only use the defined From Email addresses. If you wish to be able to use the email address of the logged in user as the From Address you will need to set the setting "Allow mail from logged in contact" setting. Users with Administer CiviCRM can set this setting in the SMTP settings.{/ts}<p>
+    {if call_user_func(array('CRM_Core_Permission','check'), 'administer CiviCRM')}
+        {capture assign="smtpUrl"}{crmURL p="civicrm/admin/setting/smtp" q="reset=1"}{/capture}
+      <p>{ts 1=$smtpUrl}Go to <a href='%1'>Settings - Outbound Mail</a> to enable the usage of the logged in contact's email address as the from email{/ts}</p>
+    {/if}
+{/if}
+{if call_user_func(array('CRM_Core_Permission','check'), 'administer CiviCRM')}
+    {capture assign="fromConfig"}{crmURL p="civicrm/admin/options/from_email_address" q="reset=1"}{/capture}
+  <p>{ts 1=$fromConfig}Go to <a href='%1'>Administer CiviCRM &raquo; Communications &raquo; FROM Email Addresses</a> to add or edit general email addresses. Make sure these email addresses are valid email accounts with your email service provider.{/ts}</p>
+{/if}
+{/htxt}
diff --git a/civicrm/templates/CRM/Contact/Page/View/Relationship.tpl b/civicrm/templates/CRM/Contact/Page/View/Relationship.tpl
index 2cffd1e82f0394a4e666537debc4977df1ec57fa..bdc7ac33cd9133fcfcb35a06593683a95955a2f8 100644
--- a/civicrm/templates/CRM/Contact/Page/View/Relationship.tpl
+++ b/civicrm/templates/CRM/Contact/Page/View/Relationship.tpl
@@ -8,7 +8,9 @@
  +--------------------------------------------------------------------+
 *}
 {* Relationship tab within View Contact - browse, and view relationships for a contact *}
-{if $action neq 16} {* add, update or view *}
+{if $action eq 4 } {* action = view *}
+  {include file="CRM/Contact/Page/View/ViewRelationship.tpl"}
+{elseif $action neq 16} {* add, update *}
   {include file="CRM/Contact/Form/Relationship.tpl"}
 {else}
   <div id="contact-summary-relationship-tab" class="view-content">
diff --git a/civicrm/templates/CRM/Contact/Page/View/ViewRelationship.tpl b/civicrm/templates/CRM/Contact/Page/View/ViewRelationship.tpl
new file mode 100644
index 0000000000000000000000000000000000000000..1c675a13a19e4e1870170acb7ca3743a0abcddd7
--- /dev/null
+++ b/civicrm/templates/CRM/Contact/Page/View/ViewRelationship.tpl
@@ -0,0 +1,58 @@
+<div class="crm-block crm-content-block crm-relationship-view-block">
+  <table class="crm-info-panel">
+      {foreach from=$viewRelationship item="row"}
+        <tr>
+          <td class="label">{$row.relation}</td>
+          <td><a class="no-popup" href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.cid`"}">{$row.name}</a></td>
+        </tr>
+          {if $isCurrentEmployer}
+            <tr><td class="label">{ts}Current Employee?{/ts}</td><td>{ts}Yes{/ts}</td></tr>
+          {/if}
+          {if $row.start_date}
+            <tr><td class="label">{ts}Start Date{/ts}</td><td>{$row.start_date|crmDate}</td></tr>
+          {/if}
+          {if $row.end_date}
+            <tr><td class="label">{ts}End Date{/ts}</td><td>{$row.end_date|crmDate}</td></tr>
+          {/if}
+          {if $row.description}
+            <tr><td class="label">{ts}Description{/ts}</td><td>{$row.description}</td></tr>
+          {/if}
+          {foreach from=$viewNote item="rec"}
+              {if $rec }
+                <tr><td class="label">{ts}Note{/ts}</td><td>{$rec}</td></tr>
+              {/if}
+          {/foreach}
+        <tr>
+          <td class="label"><label>{ts}Permissions{/ts}</label></td>
+          <td>
+              {if $row.is_permission_a_b or $row.is_permission_b_a}
+                  {if $row.is_permission_a_b}
+                    <div>
+                        {if $row.rtype EQ 'a_b' AND $is_contact_id_a}
+                            {include file="CRM/Contact/Page/View/RelationshipPerm.tpl" permType=$row.is_permission_a_b permDisplayName=$displayName otherDisplayName=$row.display_name displayText=true}
+                        {else}
+                            {include file="CRM/Contact/Page/View/RelationshipPerm.tpl" permType=$row.is_permission_a_b otherDisplayName=$displayName permDisplayName=$row.display_name displayText=true}
+                        {/if}
+                    </div>
+                  {/if}
+                  {if $row.is_permission_b_a}
+                    <div>
+                        {if $row.rtype EQ 'a_b' AND $is_contact_id_a}
+                            {include file="CRM/Contact/Page/View/RelationshipPerm.tpl" permType=$row.is_permission_b_a otherDisplayName=$displayName permDisplayName=$row.display_name displayText=true}
+                        {else}
+                            {include file="CRM/Contact/Page/View/RelationshipPerm.tpl" permType=$row.is_permission_b_a permDisplayName=$displayName otherDisplayName=$row.display_name displayText=true}
+                        {/if}
+                    </div>
+                  {/if}
+              {else}
+                  {ts}None{/ts}
+              {/if}
+          </td>
+        </tr>
+        <tr><td class="label">{ts}Status{/ts}</td><td>{if $row.is_active}{ts}Enabled{/ts}{else}{ts}Disabled{/ts}{/if}</td></tr>
+      {/foreach}
+  </table>
+    {include file="CRM/Custom/Page/CustomDataView.tpl"}
+</div>
+
+<div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
diff --git a/civicrm/templates/CRM/Contribute/Form/AdditionalPayment.tpl b/civicrm/templates/CRM/Contribute/Form/AdditionalPayment.tpl
index 40049945e7227d721490a436e576f6b12ce649cc..886f43b84d51918eb481baf023eddf56a2ba11cf 100644
--- a/civicrm/templates/CRM/Contribute/Form/AdditionalPayment.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/AdditionalPayment.tpl
@@ -38,7 +38,7 @@
   </div>
   <table class="form-layout-compressed">
     <tr>
-      <td class="font-size12pt label"><strong>{if $component eq 'event'}{ts}Participant{/ts}{else}{ts}Contact{/ts}{/if}</strong></td><td class="font-size12pt"><strong>{$displayName}</strong></td>
+      <td class="label"><strong>{if $component eq 'event'}{ts}Participant{/ts}{else}{ts}Contact{/ts}{/if}</strong></td><td><strong>{$displayName}</strong></td>
     </tr>
     {if $eventName}
       <tr>
@@ -61,7 +61,7 @@
         </tr>
         <tr id="fromEmail" class="crm-payment-form-block-from_email_address" style="display:none;">
           <td class="label">{$form.from_email_address.label}</td>
-          <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+          <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
         </tr>
       {/if}
       {if $contributionMode}
diff --git a/civicrm/templates/CRM/Contribute/Form/Contribution.tpl b/civicrm/templates/CRM/Contribute/Form/Contribution.tpl
index a0e62b165df5d71457dafe509ab77a060983889e..e9d4c7885fa987bf4da5ea7c3ed781ba8d291ca5 100644
--- a/civicrm/templates/CRM/Contribute/Form/Contribution.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Contribution.tpl
@@ -217,7 +217,7 @@
         {if empty($is_template)}
         <tr id="fromEmail" class="crm-contribution-form-block-receipt_date" style="display:none;">
           <td class="label">{$form.from_email_address.label}</td>
-          <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+          <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
         </tr>
         {/if}
         {if empty($is_template)}
@@ -597,7 +597,6 @@
           // replace all thousandMarker and change the separator to a dot
           totalAmount = totalAmount.replace(thousandMarker,'').replace(separator,'.');
 
-          var totalTaxAmount = '{/literal}{$totalTaxAmount}{literal}';
           var taxAmount = (taxRate/100)*totalAmount;
           taxAmount = isNaN (taxAmount) ? 0:taxAmount;
           var totalTaxAmount = taxAmount + Number(totalAmount);
diff --git a/civicrm/templates/CRM/Contribute/Form/ContributionPage/Settings.tpl b/civicrm/templates/CRM/Contribute/Form/ContributionPage/Settings.tpl
index b9eadf760c8e3a67f58921e3ff291fa3b1c26730..082f334b824b9a420c1de68224a076993d20912d 100644
--- a/civicrm/templates/CRM/Contribute/Form/ContributionPage/Settings.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/ContributionPage/Settings.tpl
@@ -43,19 +43,13 @@
             <tr class="crm-contribution-for_organization_help">
                 <td class="description" colspan="2">
                     {capture assign="profileURL"}{crmURL p='civicrm/admin/uf/group' q='reset=1'}{/capture}
-                    {if $invalidProfiles}
-                      {ts 1=$profileURL}You must <a href="%1">configure a valid organization profile</a> in order to allow individuals to contribute on behalf of an organization. Valid profiles include Contact and / or Organization fields, and may include Contribution and Membership fields.{/ts}
-                    {else}
-                      {ts 1=$profileURL}To change the organization data collected use the "On Behalf Of Organization" profile (<a href="%1">Administer > Customize Data and Screens > Profiles</a>).{/ts}
-                    {/if}
+                    {ts 1=$profileURL}To change the organization data collected use the "On Behalf Of Organization" profile (<a href="%1">Administer > Customize Data and Screens > Profiles</a>).{/ts}
                 </td>
             </tr>
-            {if !$invalidProfiles}
-              <tr class="crm-contribution-onbehalf_profile_id">
-                <td class="label">{$form.onbehalf_profile_id.label}</td>
-                <td>{$form.onbehalf_profile_id.html}</td>
-              </tr>
-            {/if}
+            <tr class="crm-contribution-onbehalf_profile_id">
+              <td class="label">{$form.onbehalf_profile_id.label}</td>
+              <td>{$form.onbehalf_profile_id.html}</td>
+            </tr>
             <tr id="for_org_text" class="crm-contribution-contributionpage-settings-form-block-for_organization">
                 <td class="label">{$form.for_organization.label}</td>
                 <td>{$form.for_organization.html}<br />
@@ -141,12 +135,12 @@
         <td>{$form.is_share.html} {$form.is_share.label} {help id="id-is_share"}</td>
       </tr>
         <tr class="crm-contribution-contributionpage-settings-form-block-is_active">
-        <td>&nbsp;</td>  
+        <td>&nbsp;</td>
         <td>{$form.is_active.html} {$form.is_active.label}</td>
       </tr>
   {if $contributionPageID}
         <tr class="crm-contribution-contributionpage-settings-form-block-info_link">
-        <td>&nbsp;</td>  
+        <td>&nbsp;</td>
         <td class="description">
           {if $config->userSystem->is_drupal || $config->userFramework EQ 'WordPress'}
               {ts}When your page is active, you can link people to the page by copying and pasting the following URL:{/ts}<br />
diff --git a/civicrm/templates/CRM/Contribute/Form/ContributionPage/Tab.tpl b/civicrm/templates/CRM/Contribute/Form/ContributionPage/Tab.tpl
index 31d32369508ffdc0dbb5b79361ed527a43f59348..ca86c0f092bac923870a553a617fc7938d0e63bc 100644
--- a/civicrm/templates/CRM/Contribute/Form/ContributionPage/Tab.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/ContributionPage/Tab.tpl
@@ -16,7 +16,7 @@
                  <div class="crm-contribpage-links-list-inner">
                    <ul>
                             <li><a class="crm-contribpage-contribution" href="{crmURL p='civicrm/contribute/add' q="reset=1&action=add&context=standalone"}">{ts}New Contribution{/ts}</a></li>
-                            <li><a class="crm-contribution-test" href="{crmURL p='civicrm/contribute/transact' q="reset=1&action=preview&id=`$contributionPageID`"}">{ts}Online Contribution (Test-drive){/ts}</a></li>
+                            <li><a class="crm-contribution-test" href="{crmURL p='civicrm/contribute/transact' q="reset=1&action=preview&id=`$contributionPageID`" fe='true'}">{ts}Online Contribution (Test-drive){/ts}</a></li>
                             <li><a class="crm-contribution-live" href="{crmURL p='civicrm/contribute/transact' q="reset=1&id=`$contributionPageID`" fe='true'}" target="_blank">{ts}Online Contribution (Live){/ts}</a></li>
                 </ul>
                  </div>
diff --git a/civicrm/templates/CRM/Contribute/Form/Search/Common.tpl b/civicrm/templates/CRM/Contribute/Form/Search/Common.tpl
index c585ac38dea73d59792d56a97c6b73b40759d1f2..4101c7aca307b986ffc53b21939c164e7e4d401e 100644
--- a/civicrm/templates/CRM/Contribute/Form/Search/Common.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Search/Common.tpl
@@ -9,7 +9,7 @@
 *}
 
 <tr>
-{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="receive_date" colspan="2"}
+{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="receive_date" to='' from='' colspan="2" class='' hideRelativeLabel=0}
 </tr>
 <tr>
   <td><label>{ts}Contribution Amounts{/ts}</label> <br />
@@ -159,7 +159,7 @@
   </td>
 </tr>
 <tr>
-  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_cancel_date" colspan="2"}
+  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_cancel_date" to='' from='' colspan="2" class='' hideRelativeLabel=0}
 </tr>
 <tr>
   <td>
diff --git a/civicrm/templates/CRM/Contribute/Form/Search/ContributionRecur.tpl b/civicrm/templates/CRM/Contribute/Form/Search/ContributionRecur.tpl
index 0988205710b03879b0a703022584da3fc9c4ba3b..1eb1679a8af8a7febf61d30288223c51bfc4b4c3 100644
--- a/civicrm/templates/CRM/Contribute/Form/Search/ContributionRecur.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Search/ContributionRecur.tpl
@@ -20,27 +20,27 @@
       </tr>
       <tr>
         <td><label for="contribution_recur_start_date_relative">{$form.contribution_recur_start_date_relative.label}</label></td>
-        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_start_date" colspan="2" hideRelativeLabel=1}
+        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_start_date" to='' from='' colspan="2" hideRelativeLabel=1 class =''}
       </tr>
       <tr>
         <td><label for="contribution_recur_end_date_relative">{$form.contribution_recur_end_date_relative.label}</label></td>
-        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_end_date" colspan="2" hideRelativeLabel=1}
+        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_end_date" to='' from='' colspan="2" hideRelativeLabel=1 class =''}
       </tr>
       <tr>
         <td><label for="contribution_recur_modified_date_relative">{$form.contribution_recur_modified_date_relative.label}</label></td>
-        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_modified_date" colspan="2" hideRelativeLabel=1}
+        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_modified_date" to='' from='' colspan="2" class ='' hideRelativeLabel=1}
       </tr>
       <tr>
         <td><label for="contribution_recur_next_sched_contribution_date_relative">{$form.contribution_recur_next_sched_contribution_date_relative.label}</label></td>
-        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_next_sched_contribution_date" colspan="2" hideRelativeLabel=1}
+        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_next_sched_contribution_date" to='' from='' colspan="2" hideRelativeLabel=1 class=''}
       </tr>
       <tr>
         <td><label for="contribution_recur_failure_rety_date_relative">{$form.contribution_recur_failure_retry_date_relative.label}</label></td>
-        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_failure_retry_date" colspan="2" hideRelativeLabel=1}
+        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_failure_retry_date" to='' from='' colspan="2" hideRelativeLabel=1 class=''}
       </tr>
       <tr>
         <td><label for="contribution_recur_cancel_date_relative">{$form.contribution_recur_cancel_date_relative.label}</label></td>
-        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_cancel_date" colspan="2" hideRelativeLabel=1}
+        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_cancel_date" to='' from='' colspan="2" hideRelativeLabel=1 class=''}
       </tr>
       <tr>
         <td>{ts}Status{/ts}</td>
diff --git a/civicrm/templates/CRM/Contribute/Form/Selector.tpl b/civicrm/templates/CRM/Contribute/Form/Selector.tpl
index 7b377458f29170d30352e4fbc0a05d8e71820c93..d522a3fc87ea5e8602d1e9a85813c59dcb7695e7 100644
--- a/civicrm/templates/CRM/Contribute/Form/Selector.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Selector.tpl
@@ -56,10 +56,7 @@
           {/if}
         </td>
       {foreach from=$columnHeaders item=column}
-          {assign var='columnName' value=''}
-          {if $column.field_name}
-            {assign var='columnName' value=$column.field_name}
-          {/if}
+        {assign var='columnName' value=$column.field_name}
         {if !$columnName}{* if field_name has not been set skip, this helps with not changing anything not specifically edited *}
         {elseif $columnName === 'total_amount'}{* rendered above as soft credit columns = confusing *}
         {elseif $column.type === 'actions'}{* rendered below as soft credit column handling = not fixed *}
@@ -76,7 +73,7 @@
               {$row.$columnName|crmDate}
             </td>
           {else}
-          <td class="crm-{$columnName} crm-{$columnName}_{if $row.columnName}{$row.columnName}{/if}">
+          <td class="crm-{$columnName} crm-{$columnName}_">
             {$row.$columnName}
           </td>
           {/if}
diff --git a/civicrm/templates/CRM/Contribute/Form/Task/Invoice.hlp b/civicrm/templates/CRM/Contribute/Form/Task/Invoice.hlp
index 3a64ef0dfea91b318f718730328525ca22f9ccd3..fd235fe8559b1a497eddf5f52e93ffec1a238d2a 100644
--- a/civicrm/templates/CRM/Contribute/Form/Task/Invoice.hlp
+++ b/civicrm/templates/CRM/Contribute/Form/Task/Invoice.hlp
@@ -7,9 +7,6 @@
  | and copyright information, see https://civicrm.org/licensing       |
  +--------------------------------------------------------------------+
 *}
-{htxt id ="id-from_email-title"}
-  {ts}From Address{/ts}
-{/htxt}
 {htxt id="content-intro-title"}
   {ts}Message Formats{/ts}
 {/htxt}
diff --git a/civicrm/templates/CRM/Contribute/Form/Task/Invoice.tpl b/civicrm/templates/CRM/Contribute/Form/Task/Invoice.tpl
index 777354f29f069c1dbddf8f99d6e8816df52eb5d9..208d0a8223a6cc8b1195555380413dfac897be56 100644
--- a/civicrm/templates/CRM/Contribute/Form/Task/Invoice.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Task/Invoice.tpl
@@ -26,7 +26,7 @@
   {/if}
   <tr id="selectEmailFrom" style="display: none" class="crm-contactEmail-form-block-fromEmailAddress crm-email-element">
     <td class="label">{$form.from_email_address.label}</td>
-    <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+    <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
   </tr>
   <tr class="crm-email-element crm-contactEmail-form-block-cc_id">
     <td class="label">{$form.cc_id.label}</td>
diff --git a/civicrm/templates/CRM/Contribute/Form/Task/PDF.tpl b/civicrm/templates/CRM/Contribute/Form/Task/PDF.tpl
index ca5b3e1228a0dc580eef5311464280d0850475af..b799bac83c0ceeece2598a9090416feb490f9b77 100644
--- a/civicrm/templates/CRM/Contribute/Form/Task/PDF.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Task/PDF.tpl
@@ -21,7 +21,7 @@
   </tr>
   <tr id="selectEmailFrom" style="display: none" class="crm-contactEmail-form-block-fromEmailAddress crm-email-element">
     <td class="label">{$form.from_email_address.label}</td>
-    <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+    <td>{$form.from_email_address.html}  {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
   </tr>
   <tr>
     <td>{$form.output.pdf_receipt.html}</td>
diff --git a/civicrm/templates/CRM/Contribute/Form/Task/PDFLetter.tpl b/civicrm/templates/CRM/Contribute/Form/Task/PDFLetter.tpl
index 22b090590e7e361d6dd2ea9efcdfcf037101bd8c..701a68f4d6a8c62fa13306e92165e23122097c43 100644
--- a/civicrm/templates/CRM/Contribute/Form/Task/PDFLetter.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Task/PDFLetter.tpl
@@ -36,7 +36,7 @@
         <td>{$form.email_options.html}</td>
       </tr>
       <tr>
-        <td class="label-left">{$form.from_email_address.label} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+        <td class="label-left">{$form.from_email_address.label}  {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
         <td>{$form.from_email_address.html}</td>
       </tr>
     </table>
diff --git a/civicrm/templates/CRM/Contribute/Page/PcpUserDashboard.tpl b/civicrm/templates/CRM/Contribute/Page/PcpUserDashboard.tpl
index 23c59e82830bb249930d5119605bb0d5d503370e..551af6448325558b8aeb96ac7bf6e0b5724897ae 100644
--- a/civicrm/templates/CRM/Contribute/Page/PcpUserDashboard.tpl
+++ b/civicrm/templates/CRM/Contribute/Page/PcpUserDashboard.tpl
@@ -49,10 +49,10 @@
 {strip}
 {if $pcpInfo} {* Change layout and text if they already have a PCP. *}
     <br />
-    <div class="float-right" style="width: 65%">
+    <div>
     <div>{ts}Create a Personal Campaign Page for another campaign:{/ts}</div>
 {else}
-    <div style="width: 65%">
+    <div>
     <div class="label">{ts}Become a supporter by creating a Personal Campaign Page:{/ts}</div>
 {/if}
 <table class="selector">
@@ -64,7 +64,7 @@
 
   {foreach from=$pcpBlock item=row}
   <tr class="{cycle values="odd-row,even-row"}">
-    <td>{if $row.component eq 'contribute'}<a href="{crmURL p='civicrm/contribute/transact' q="id=`$row.pageId`&reset=1"}" title="{ts}View campaign page{/ts}">{else}<a href="{crmURL p='civicrm/event/register' q="id=`$row.pageId`&reset=1"}" title="{ts}View campaign page{/ts}">{/if}{$row.pageTitle}</a></td>
+    <td>{if $row.pageComponent eq 'contribute'}<a href="{crmURL p='civicrm/contribute/transact' q="id=`$row.pageId`&reset=1"}" title="{ts}View campaign page{/ts}">{else}<a href="{crmURL p='civicrm/event/register' q="id=`$row.pageId`&reset=1"}" title="{ts}View campaign page{/ts}">{/if}{$row.pageTitle}</a></td>
         <td>{if $row.end_date}{$row.end_date|truncate:10:''|crmDate}{else}({ts}ongoing{/ts}){/if}</td>
     <td>{$row.action|replace:'xx':$row.pageId}</td>
   </tr>
diff --git a/civicrm/templates/CRM/Core/Calendar/ICal.tpl b/civicrm/templates/CRM/Core/Calendar/ICal.tpl
index f38502d5adf5f9c895a6dfdb22b8260b61dd0ef0..ab15f5e1c07ed46e0aefaf195644f8fdfa2b0646 100644
--- a/civicrm/templates/CRM/Core/Calendar/ICal.tpl
+++ b/civicrm/templates/CRM/Core/Calendar/ICal.tpl
@@ -24,15 +24,15 @@ CATEGORIES:{$event.event_type|crmICalText}
 {/if}
 CALSCALE:GREGORIAN
 {if $event.start_date}
-DTSTAMP;TZID={$timezone}:{$event.start_date|crmICalDate}
-DTSTART;TZID={$timezone}:{$event.start_date|crmICalDate}
+DTSTAMP;TZID={$event.tz|default:$timezone}:{$event.start_date|crmICalDate}
+DTSTART;TZID={$event.tz|default:$timezone}:{$event.start_date|crmICalDate}
 {else}
 DTSTAMP;TZID={$timezone}:{$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'|crmICalDate}
 {/if}
 {if $event.end_date}
-DTEND;TZID={$timezone}:{$event.end_date|crmICalDate}
+DTEND;TZID={$event.tz|default:$timezone}:{$event.end_date|crmICalDate}
 {else}
-DTEND;TZID={$timezone}:{$event.start_date|crmICalDate}
+DTEND;TZID={$event.tz|default:$timezone}:{$event.start_date|crmICalDate}
 {/if}
 {if $event.is_show_location EQ 1 && $event.location}
 LOCATION:{$event.location|crmICalText}
diff --git a/civicrm/templates/CRM/Core/DatePickerRangeWrapper.tpl b/civicrm/templates/CRM/Core/DatePickerRangeWrapper.tpl
index f43499bd1308570de952e04f4ee7397c69000f51..1a0139cfa87a71497672d6f0e99d785e3677846c 100644
--- a/civicrm/templates/CRM/Core/DatePickerRangeWrapper.tpl
+++ b/civicrm/templates/CRM/Core/DatePickerRangeWrapper.tpl
@@ -9,7 +9,6 @@
 *}
 {* Wrapper around DatePickerRange TPL file *}
 <td {if !empty($colspan)} colspan="{$colspan}" {else} colspan="2" {/if} {if !empty($class)} class="{$class}" {/if}>
-  {assign var='hideRelativeLabel' value=$hideRelativeLabel|default:0}
   {assign var='from' value=$from|default:'_low'}
   {assign var='to' value=$to|default:'_high'}
   {include file="CRM/Core/DatePickerRange.tpl" fieldName=$fieldName hideRelativeLabel=$hideRelativeLabel to=$to from=$from}
diff --git a/civicrm/templates/CRM/Custom/Page/Group.hlp b/civicrm/templates/CRM/Custom/Form/Group.hlp
similarity index 98%
rename from civicrm/templates/CRM/Custom/Page/Group.hlp
rename to civicrm/templates/CRM/Custom/Form/Group.hlp
index 05cd658563ba75aee3ef9b74063dceb0c460b63a..3e9df92edeaad9fabe205b7132ce4ff69cbaa272 100644
--- a/civicrm/templates/CRM/Custom/Page/Group.hlp
+++ b/civicrm/templates/CRM/Custom/Form/Group.hlp
@@ -25,12 +25,12 @@
   {ts}Display Style{/ts}
 {/htxt}
 {htxt id="id-display_style"}
-    {ts}Select 'Inline' to include this set of fields in the main contact Add/Edit form and Contact Summary screens. Select 'Tab' or 'Tab with Table' to create a separate navigation tab for display and editing these values (generally for less frequently accessed and/or larger sets of fields). 'Tab with Table' is recommended for customs data sets which allow multiple records.{/ts} 
+    {ts}Select 'Inline' to include this set of fields in the main contact Add/Edit form and Contact Summary screens. Select 'Tab' or 'Tab with Table' to create a separate navigation tab for display and editing these values (generally for less frequently accessed and/or larger sets of fields). 'Tab with Table' is recommended for customs data sets which allow multiple records.{/ts}
     <p class="font-italic">{ts}NOTE: This setting applies only to custom sets used for Contact records (e.g. Individuals, Households, Organizations, or ALL contact types).{/ts}</p>
 {/htxt}
 
 {htxt id="id-extends-title"}
-  {ts}Entity Type{/ts}
+  {ts}Used For{/ts}
 {/htxt}
 {htxt id="id-extends"}
     {ts}Select the type of record that this set of custom fields is applicable for. You can configure custom data for a specific type of contact (e.g. Individuals but NOT Organizations), ANY type of contact, or other record types such as activities, contributions, memberships and event participants.{/ts}
@@ -64,7 +64,7 @@
 {/htxt}
 
 {htxt id="id-weight-title"}
-  {ts}Weight{/ts}
+  {ts}Order{/ts}
 {/htxt}
 {htxt id="id-weight"}
     {ts}Weight controls the order in which custom field sets are presented when there are more than one. Enter a positive or negative integer - lower numbers are displayed ahead of higher numbers.{/ts}
diff --git a/civicrm/templates/CRM/Custom/Form/Search.tpl b/civicrm/templates/CRM/Custom/Form/Search.tpl
index 8bf00efc5b6748184dabcc6b35a4bece258309d5..5e593598218c79697b6e238adf24421d1250cff8 100644
--- a/civicrm/templates/CRM/Custom/Form/Search.tpl
+++ b/civicrm/templates/CRM/Custom/Form/Search.tpl
@@ -29,7 +29,7 @@
                     {$form.$element_name_from.html|crmAddClass:six}
                     &nbsp;&nbsp;{$form.$element_name_to.label}&nbsp;&nbsp;{$form.$element_name_to.html|crmAddClass:six}
                   {elseif empty($element.skip_calendar)}
-                    {include file="CRM/Core/DatePickerRangeCustomField.tpl" fieldName=$element_name hideRelativeLabel=0}<td>
+                    {include file="CRM/Core/DatePickerRangeCustomField.tpl" fieldName=$element_name to='' from='' colspan='' class='' hideRelativeLabel=0}<td>
                   {/if}
             {else}
                 <td class="label">{$form.$element_name.label}</td><td>
diff --git a/civicrm/templates/CRM/Custom/Page/Field.tpl b/civicrm/templates/CRM/Custom/Page/Field.tpl
index 39b40c802bef3949a5f81d4ecbfa114692fd66ef..83609a7b8c0e8a79f5715ae0526126b3735ac893 100644
--- a/civicrm/templates/CRM/Custom/Page/Field.tpl
+++ b/civicrm/templates/CRM/Custom/Page/Field.tpl
@@ -7,14 +7,7 @@
  | and copyright information, see https://civicrm.org/licensing       |
  +--------------------------------------------------------------------+
 *}
-{if $action eq 1 or $action eq 2 or $action eq 4}
-    {include file="CRM/Custom/Form/Field.tpl"}
-{elseif $action eq 8}
-    {include file="CRM/Custom/Form/DeleteField.tpl"}
-{elseif $action eq 1024 }
-    {include file="CRM/Custom/Form/Preview.tpl"}
-{else}
-    {if $customField}
+  {if $customField}
 
     <div id="field_page">
         {strip}
@@ -55,15 +48,12 @@
      </div>
 
     {else}
-        {if $action eq 16}
         <div class="messages status no-popup crm-empty-table">
           <img src="{$config->resourceBase}i/Inform.gif" alt="{ts}status{/ts}"/>
           {ts}None found.{/ts}
         </div>
-        {/if}
     {/if}
     <div class="action-link">
-      {crmButton p='civicrm/admin/custom/group/field/add' q="reset=1&action=add&gid=$gid" id="newCustomField"  class="action-item" icon="plus-circle"}{ts}Add Custom Field{/ts}{/crmButton}
+      {crmButton p='civicrm/admin/custom/group/field/add' q="reset=1&gid=$gid" id="newCustomField"  class="action-item" icon="plus-circle"}{ts}Add Custom Field{/ts}{/crmButton}
       {crmButton p="civicrm/admin/custom/group" q="reset=1" class="cancel" icon="times"}{ts}Done{/ts}{/crmButton}
     </div>
-{/if}
diff --git a/civicrm/templates/CRM/Custom/Page/Group.tpl b/civicrm/templates/CRM/Custom/Page/Group.tpl
index be07b3f2406a53a136bf15892731ae9a014fba07..6652165b7d2a13fef53bbba284424f773c4b96c7 100644
--- a/civicrm/templates/CRM/Custom/Page/Group.tpl
+++ b/civicrm/templates/CRM/Custom/Page/Group.tpl
@@ -8,13 +8,6 @@
  +--------------------------------------------------------------------+
 *}
 {* The name "custom data group" is replaced by "custom data set"  *}
-{if $action eq 1 or $action eq 2 or $action eq 4}
-    {include file="CRM/Custom/Form/Group.tpl"}
-{elseif $action eq 1024}
-    {include file="CRM/Custom/Form/Preview.tpl"}
-{elseif $action eq 8}
-    {include file="CRM/Custom/Form/DeleteGroup.tpl"}
-{else}
     <div class="help">
     {ts}Custom data is stored in custom fields. Custom fields are organized into logically related custom data sets (e.g. Volunteer Info). Use custom fields to collect and store custom data which are not included in the standard CiviCRM forms. You can create one or many sets of custom fields.{/ts} {docURL page="user/organising-your-data/creating-custom-fields"}
     </div>
@@ -54,22 +47,17 @@
         </tbody>
       </table>
 
-        {if NOT ($action eq 1 or $action eq 2) }
         <div class="action-link">
-        {crmButton p='civicrm/admin/custom/group' q="action=add&reset=1" id="newCustomDataGroup"  icon="plus-circle"}{ts}Add Set of Custom Fields{/ts}{/crmButton}
+        {crmButton p='civicrm/admin/custom/group/edit' q="action=add&reset=1" id="newCustomDataGroup"  icon="plus-circle"}{ts}Add Set of Custom Fields{/ts}{/crmButton}
         </div>
-        {/if}
 
         {/strip}
     </div>
     </div>
     {else}
-       {if $action ne 1} {* When we are adding an item, we should not display this message *}
        <div class="messages status no-popup">
        <img src="{$config->resourceBase}i/Inform.gif" alt="{ts}status{/ts}"/> &nbsp;
-         {capture assign=crmURL}{crmURL p='civicrm/admin/custom/group' q='action=add&reset=1'}{/capture}
+         {capture assign=crmURL}{crmURL p='civicrm/admin/custom/group/edit' q='action=add&reset=1'}{/capture}
          {ts 1=$crmURL}No custom data groups have been created yet. You can <a id="newCustomDataGroup" href='%1'>add one</a>.{/ts}
        </div>
-       {/if}
     {/if}
-{/if}
diff --git a/civicrm/templates/CRM/Event/Form/EventFees.tpl b/civicrm/templates/CRM/Event/Form/EventFees.tpl
index 2274143108ed0c9337d5d6a104fde1a08678bba4..a82fa8b2f44fcfd56f7df3620172df892c36604b 100644
--- a/civicrm/templates/CRM/Event/Form/EventFees.tpl
+++ b/civicrm/templates/CRM/Event/Form/EventFees.tpl
@@ -105,7 +105,7 @@
         </tr>
         <tr id="from-email" class="crm-event-eventfees-form-block-from_email_address">
           <td class="label">{$form.from_email_address.label}</td>
-          <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+          <td>{$form.from_email_address.html}  {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
         </tr>
         <tr id='notice' class="crm-event-eventfees-form-block-receipt_text">
         <td class="label">{$form.receipt_text.label}</td>
@@ -132,7 +132,7 @@
       </tr>
       <tr id="from-email" class="crm-event-eventfees-form-block-from_email_address">
         <td class="label">{$form.from_email_address.label}</td>
-        <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+        <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
       </tr>
       <tr id='notice' class="crm-event-eventfees-form-block-receipt_text">
         <td class="label">{$form.receipt_text.label}</td>
diff --git a/civicrm/templates/CRM/Event/Form/ManageEvent/EventInfo.tpl b/civicrm/templates/CRM/Event/Form/ManageEvent/EventInfo.tpl
index 5bb6b6a706d5bd1d22fb07352842a34fee2412a1..1877ae26ad38fa2f82d7a64af1d01d85526e452f 100644
--- a/civicrm/templates/CRM/Event/Form/ManageEvent/EventInfo.tpl
+++ b/civicrm/templates/CRM/Event/Form/ManageEvent/EventInfo.tpl
@@ -59,6 +59,10 @@
       <td class="label">{$form.description.label} {if $action == 2}{include file='CRM/Core/I18n/Dialog.tpl' table='civicrm_event' field='description' id=$eventID}{/if}</td>
       <td>{$form.description.html}</td>
     </tr>
+    <tr class="crm-event-manage-eventinfo-form-block-event_tz">
+      <td class="label">{$form.event_tz.label}</td>
+      <td>{$form.event_tz.html}</td>
+    </tr>
     {if !$isTemplate}
       <tr class="crm-event-manage-eventinfo-form-block-start_date">
         <td class="label">{$form.start_date.label}</td>
diff --git a/civicrm/templates/CRM/Event/Form/ManageEvent/Registration.tpl b/civicrm/templates/CRM/Event/Form/ManageEvent/Registration.tpl
index c3db65bb90d1d8a47ff62dd04af838b59e86aee0..9c62e3742d11f645703871bd27d335c0fd3ef19b 100644
--- a/civicrm/templates/CRM/Event/Form/ManageEvent/Registration.tpl
+++ b/civicrm/templates/CRM/Event/Form/ManageEvent/Registration.tpl
@@ -54,6 +54,11 @@
     <td>{$form.registration_link_text.html} {help id="id-link_text"}</td>
   </tr>
   {if !$isTemplate}
+    <div class="description">{ts 1=$event_tz}{/ts}</td>
+    <tr class="crm-event-manage-registration-form-block-event_tz">
+      <td scope="row" class="label" width="20%"></td>
+      <td><div class="description">{ts 1=$event_tz}Registration start and end dates must be specified in the Event's timezone, %1{/ts}</td>
+    </tr>
     <tr class="crm-event-manage-registration-form-block-registration_start_date">
       <td scope="row" class="label" width="20%">{$form.registration_start_date.label}</td>
       <td>{$form.registration_start_date.html}</td>
diff --git a/civicrm/templates/CRM/Event/Form/ManageEvent/Tab.tpl b/civicrm/templates/CRM/Event/Form/ManageEvent/Tab.tpl
index fc7f2087b109a67bb12ee4d24772ecd42a75d195..8f75a54441cc43a20e5c7e3b2a514a441b4f0569 100644
--- a/civicrm/templates/CRM/Event/Form/ManageEvent/Tab.tpl
+++ b/civicrm/templates/CRM/Event/Form/ManageEvent/Tab.tpl
@@ -19,7 +19,7 @@
                     <li><a class="crm-event-participant" href="{crmURL p='civicrm/participant/add' q="reset=1&action=add&context=standalone&eid=`$id`"}">{ts}Register Participant{/ts}</a></li>
                        <li><a class="crm-event-info" href="{crmURL p='civicrm/event/info' q="reset=1&id=`$id`" fe='true'}" target="_blank">{ts}Event Info{/ts}</a></li>
                     {if $isOnlineRegistration}
-                        <li><a class="crm-event-test" href="{crmURL p='civicrm/event/register' q="reset=1&action=preview&id=`$id`"}">{ts}Online Registration (Test-drive){/ts}</a></li>
+                        <li><a class="crm-event-test" href="{crmURL p='civicrm/event/register' q="reset=1&action=preview&id=`$id`" fe='true'}">{ts}Online Registration (Test-drive){/ts}</a></li>
                                <li><a class="crm-event-live" href="{crmURL p='civicrm/event/register' q="reset=1&id=`$id`" fe='true'}" target="_blank">{ts}Online Registration (Live){/ts}</a></li>
                     {/if}
                 </ul>
diff --git a/civicrm/templates/CRM/Event/Form/ParticipantFeeSelection.tpl b/civicrm/templates/CRM/Event/Form/ParticipantFeeSelection.tpl
index 5f89ee8a6d900f2dea9c928e41eacd204f015bc5..d721f5f0fd4690b2d06b0747202532d7f7efeacd 100644
--- a/civicrm/templates/CRM/Event/Form/ParticipantFeeSelection.tpl
+++ b/civicrm/templates/CRM/Event/Form/ParticipantFeeSelection.tpl
@@ -92,7 +92,7 @@ CRM.$(function($) {
   {/if}
   <table class="form-layout">
     <tr>
-      <td class="font-size12pt label"><strong>{ts}Participant{/ts}</strong></td><td class="font-size12pt"><strong>{$displayName}</strong></td>
+      <td class="label"><strong>{ts}Participant{/ts}</strong></td><td><strong>{$displayName}</strong></td>
     </tr>
     <tr>
       <td class='label'>{ts}Event{/ts}</td><td>{$eventName}</td>
@@ -143,7 +143,7 @@ CRM.$(function($) {
        </tr>
        <tr id="from-email" class="crm-event-eventfees-form-block-from_email_address">
          <td class="label">{$form.from_email_address.label}</td>
-         <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+         <td>{$form.from_email_address.html}  {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
        </tr>
        <tr id='notice' class="crm-event-eventfees-form-block-receipt_text">
          <td class="label">{$form.receipt_text.label}</td>
diff --git a/civicrm/templates/CRM/Event/Form/Registration/EventInfoBlock.tpl b/civicrm/templates/CRM/Event/Form/Registration/EventInfoBlock.tpl
index 8a0486b4c22ce784fc9a7fd9c16a314c0e304105..f77f5dc5f69a6ecfda3645db707a105e1aa7331e 100644
--- a/civicrm/templates/CRM/Event/Form/Registration/EventInfoBlock.tpl
+++ b/civicrm/templates/CRM/Event/Form/Registration/EventInfoBlock.tpl
@@ -18,20 +18,27 @@
     {/if}
     </td>
   </tr>
-  <tr><td>{ts}When{/ts}</td>
-      <td width="90%">
-        {$event.event_start_date|crmDate}
-        {if $event.event_end_date}
-            &nbsp; {ts}through{/ts} &nbsp;
-            {* Only show end time if end date = start date *}
-            {if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}
-                {$event.event_end_date|crmDate:0:1}
-            {else}
-                {$event.event_end_date|crmDate}
-            {/if}
-        {/if}
+  <tr class="crm-section event_date_time-section">
+      <td class="label">{ts}Event Start{/ts}</td>
+      <td class="content">
+          <time datetime="{$event.event_start_date_utc|date_format:"%Y-%m-%dT%H:%M:%S"}Z">{$event.event_start_date|crmDate}<span class="timezone"> {$event.event_tz}</span></time>
+      </td>
+  </tr>
+  {if $event.event_end_date}
+  <tr class="crm-section event_date_time-section">
+      <td class="label">{ts}Event End{/ts}</td>
+      <td class="content">
+          <time datetime="{$event.event_end_date_utc|date_format:"%Y-%m-%dT%H:%M:%S"}Z">{strip}
+          {* Only show end time if end date = start date *}
+          {if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}
+              {$event.event_end_date|crmDate:0:1}
+          {else}
+              {$event.event_end_date|crmDate}
+          {/if}
+          {/strip}<span class="timezone"> {$event.event_tz}</span></time>
       </td>
   </tr>
+  {/if}
 
   {if $isShowLocation}
     {if $location.address.1}
diff --git a/civicrm/templates/CRM/Event/Form/Registration/Register.tpl b/civicrm/templates/CRM/Event/Form/Registration/Register.tpl
index 7e69599a06ae44ca56a046c8648637435293d1f6..9f0b9db70039dc0ac7a4155837f9152c91327772 100644
--- a/civicrm/templates/CRM/Event/Form/Registration/Register.tpl
+++ b/civicrm/templates/CRM/Event/Form/Registration/Register.tpl
@@ -60,10 +60,9 @@
       <div class="crm-public-form-item crm-section additional_participants-section" id="noOfparticipants">
         <div class="label">{$form.additional_participants.label} <span class="crm-marker" title="{ts}This field is required.{/ts}">*</span></div>
         <div class="content">
-          {$form.additional_participants.html}{if $contact_id || $contact_id == NULL}{ts}(including yourself){/ts}{/if}
+          {$form.additional_participants.html}{if $contact_id || $contact_id == NULL}&nbsp;{ts}(including yourself){/ts}{/if}
           <br/>
-          <span
-            class="description">{ts}Fill in your registration information on this page. If you are registering additional people, you will be able to enter their registration information after you complete this page and click &quot;Review your registration&quot;.{/ts}</span>
+          <div class="description" id="additionalParticipantsDescription" style="display: none;">{ts}Fill in your registration information on this page. You will be able to enter the registration information for additional people after you complete this page and click &quot;Continue&quot;.{/ts}</div>
         </div>
         <div class="clear"></div>
       </div>
@@ -174,6 +173,26 @@
   {/if}
   {literal}
 
+  CRM.$(function($) {
+    $('#additional_participants').change(function() {
+      toggleAdditionalParticipants();
+      allowParticipant();
+    });
+
+    function toggleAdditionalParticipants() {
+      var submit_button = $("#crm-submit-buttons > button").html();
+      var review_translated = '{/literal}{ts escape="js"}Review{/ts}{literal}';
+      var continue_translated = '{/literal}{ts escape="js"}Continue{/ts}{literal}';
+      if ($('#additional_participants').val()) {
+        $("#additionalParticipantsDescription").show();
+        $("#crm-submit-buttons > button").html(submit_button.replace(review_translated, continue_translated));
+      } else {
+        $("#additionalParticipantsDescription").hide();
+        $("#crm-submit-buttons > button").html(submit_button.replace(continue_translated, review_translated));
+      }
+    }
+  });
+
   function allowParticipant() {
     {/literal}{if $allowGroupOnWaitlist}{literal}
     var additionalParticipants = cj('#additional_participants').val();
diff --git a/civicrm/templates/CRM/Event/Form/Search/Common.tpl b/civicrm/templates/CRM/Event/Form/Search/Common.tpl
index b3b7e87b95aa94da6dc839352cc0bf33e34584f4..1081d1e137d9234f1bb1f800cb374da2642ecf03 100644
--- a/civicrm/templates/CRM/Event/Form/Search/Common.tpl
+++ b/civicrm/templates/CRM/Event/Form/Search/Common.tpl
@@ -17,9 +17,9 @@
   <td class="crm-event-form-block-event_type_id"> {$form.event_type_id.label}<br />{$form.event_type_id.html} </td>
 </tr>
 <tr>
-    {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="event" colspan="2"}</tr>
+    {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="event" to='' from='' colspan="2" class='' hideRelativeLabel=0}</tr>
 <tr>
-  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="participant_register_date" colspan="2"}
+  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="participant_register_date" to='' from='' colspan="2" class='' hideRelativeLabel=0}
 </tr>
 <tr>
   <td class="crm-event-form-block-participant_status"><label>{$form.participant_status_id.label}</label>
diff --git a/civicrm/templates/CRM/Event/Page/EventInfo.tpl b/civicrm/templates/CRM/Event/Page/EventInfo.tpl
index 36bb493cccfbbf50e4420544c4382d1d47b5c7cd..5d33dca43d3b68d528d7d0c9730ebb8a21b79fa8 100644
--- a/civicrm/templates/CRM/Event/Page/EventInfo.tpl
+++ b/civicrm/templates/CRM/Event/Page/EventInfo.tpl
@@ -99,20 +99,25 @@
   {/if}
   <div class="clear"></div>
   <div class="crm-section event_date_time-section">
-      <div class="label">{ts}When{/ts}</div>
+      <div class="label">{ts}Event Start{/ts}</div>
       <div class="content">
-        {strip}
-            {$event.event_start_date|crmDate}
-            {if $event.event_end_date}
-                &nbsp;{ts}through{/ts}&nbsp;
-                {* Only show end time if end date = start date *}
-                {if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}
-                    {$event.event_end_date|crmDate:0:1}
-                {else}
-                    {$event.event_end_date|crmDate}
-                {/if}
-            {/if}
-        {/strip}
+          <time datetime="{$event.event_start_date_utc|date_format:"%Y-%m-%dT%H:%M:%S"}Z">{$event.event_start_date|crmDate}<span class="timezone"> {$event.event_tz}</span></time>
+      </div>
+    <div class="clear"></div>
+  </div>
+  {if $event.event_end_date}
+  <div class="crm-section event_date_time-section">
+      <div class="label">{ts}Event End{/ts}</div>
+      <div class="content">
+          <time datetime="{$event.event_end_date_utc|date_format:"%Y-%m-%dT%H:%M:%S"}Z">{strip}
+          {* Only show end time if end date = start date *}
+          {if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}
+              {$event.event_end_date|crmDate:0:1}
+          {else}
+              {$event.event_end_date|crmDate}
+          {/if}
+          {/strip}<span class="timezone"> {$event.event_tz}</span></time>
+      {/if}
       </div>
     <div class="clear"></div>
   </div>
diff --git a/civicrm/templates/CRM/Event/Page/List.tpl b/civicrm/templates/CRM/Event/Page/List.tpl
index 50da60fd8b6d9caf50469bf443b98ad9379cbd1a..5db5103dbbfeda53c1360233bcbdc66a48d8d26a 100644
--- a/civicrm/templates/CRM/Event/Page/List.tpl
+++ b/civicrm/templates/CRM/Event/Page/List.tpl
@@ -30,13 +30,15 @@
         <td><a href="{crmURL p='civicrm/event/info' q="reset=1&id=`$event.event_id`"}" title="{ts}read more{/ts}"><strong>{$event.title}</strong></a></td>
         <td>{if $event.summary}{$event.summary|purify} (<a href="{crmURL p='civicrm/event/info' q="reset=1&id=`$event.event_id`"}" title="{ts}details...{/ts}">{ts}read more{/ts}...</a>){else}&nbsp;{/if}</td>
         <td class="nowrap" data-order="{$event.start_date|crmDate:'%Y-%m-%d'}">
-          {if $event.start_date}{$event.start_date|crmDate}{if $event.end_date}<br /><em>{ts}through{/ts}</em><br />{strip}
+          {if $event.start_date}<time datetime="{$event.start_date_utc|date_format:"%Y-%m-%dT%H:%M:%S"}Z">{$event.start_date|crmDate}{if !$event.end_date}<span class="timezone"> {$event.tz}</span>{/if}</time>{if $event.end_date}<br /><em>{ts}through{/ts}</em><br /><time datetime="{$event.end_date_utc|date_format:"%Y-%m-%dT%H:%M:%S"}Z">{strip}
             {* Only show end time if end date = start date *}
             {if $event.end_date|date_format:"%Y%m%d" == $event.start_date|date_format:"%Y%m%d"}
-              {$event.end_date|crmDate:0:1}
+                {$event.end_date|crmDate:0:1}
             {else}
-              {$event.end_date|crmDate}
-            {/if}{/strip}{/if}
+                {$event.end_date|crmDate}
+            {/if}
+          {/strip}<span class="timezone"> {$event.tz}</span></time>
+{/if}
           {else}{ts}(not available){/ts}{/if}
         </td>
         <td>{if $event.is_show_location EQ 1 AND $event.location}{$event.location}{else}{ts}(not available){/ts}{/if}</td>
diff --git a/civicrm/templates/CRM/Event/Page/ManageEvent.tpl b/civicrm/templates/CRM/Event/Page/ManageEvent.tpl
index f0dbdea85c52fb52103ce8a64b9a6c312d0ecad2..124ba7f13f9f2b75c808e3dd8cbfcf8dd251f96f 100644
--- a/civicrm/templates/CRM/Event/Page/ManageEvent.tpl
+++ b/civicrm/templates/CRM/Event/Page/ManageEvent.tpl
@@ -62,8 +62,8 @@
           <td class="crm-event-state_province">{$row.state_province}</td>
           <td class="crm-event-event_type">{$row.event_type}</td>
           <td class="crm-event-is_public">{if $row.is_public eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}</td>
-          <td class="crm-event-start_date" data-order="{$row.start_date|crmDate:'%Y-%m-%d'}">{$row.start_date|crmDate:"%b %d, %Y %l:%M %P"}</td>
-          <td class="crm-event-end_date" data-order="{$row.end_date|crmDate:'%Y-%m-%d'}">{$row.end_date|crmDate:"%b %d, %Y %l:%M %P"}</td>
+          <td class="crm-event-start_date" data-order="{$row.start_date|crmDate:'%Y-%m-%d %H:%M'}">{$row.start_date|crmDate:"%b %d, %Y %l:%M %P"}{if $row.start_date_with_tz}<br />{$row.start_date_with_tz|crmDate:"%b %d, %Y %l:%M %P"} {$row.event_tz}{elseif !$row.event_tz} <span class="error-message">{ts 1='<i class="crm-i fa-warning"></i>'}%1 No timezone set{/ts}</span>{/if}</td>
+          <td class="crm-event-end_date" data-order="{$row.end_date|crmDate:'%Y-%m-%d %H:%M'}">{$row.end_date|crmDate:"%b %d, %Y %l:%M %P"}{if $row.end_date_with_tz}<br />{$row.end_date_with_tz|crmDate:"%b %d, %Y %l:%M %P"} {$row.event_tz}{/if}</td>
           {if call_user_func(array('CRM_Campaign_BAO_Campaign','isCampaignEnable'))}
             <td class="crm-event-campaign">{$row.campaign}</td>
           {/if}
diff --git a/civicrm/templates/CRM/Financial/Form/BatchTransaction.tpl b/civicrm/templates/CRM/Financial/Form/BatchTransaction.tpl
index 456fdfe7a9bef1b99265dec1766da843fdd3775e..c385088028068930564af8d1ec7160a6667126e9 100644
--- a/civicrm/templates/CRM/Financial/Form/BatchTransaction.tpl
+++ b/civicrm/templates/CRM/Financial/Form/BatchTransaction.tpl
@@ -19,7 +19,7 @@
         <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
         <table class="form-layout-compressed">
           <tr>
-            <td class="font-size12pt" colspan="2">
+            <td colspan="2">
               {$form.sort_name.label}<br>
               {$form.sort_name.html|crmAddClass:'twenty'}
             </td>
diff --git a/civicrm/templates/CRM/Financial/Page/BatchTransaction.tpl b/civicrm/templates/CRM/Financial/Page/BatchTransaction.tpl
index 9c7f8254fc5fda3f0f36c8b44b0b078b4dca8892..1b1519723ececb876f63652d25a993e7455de136 100644
--- a/civicrm/templates/CRM/Financial/Page/BatchTransaction.tpl
+++ b/civicrm/templates/CRM/Financial/Page/BatchTransaction.tpl
@@ -26,7 +26,7 @@
   </tbody>
 </table>
 
-<div class="crm-submit-buttons">{if in_array($batchStatus, array('Open', 'Reopened'))}{$form.close_batch.html}{/if} {$form.export_batch.html}</div>
+<div class="crm-submit-buttons">{if array_key_exists('close_batch', $form)}{$form.close_batch.html}{/if} {if array_key_exists('close_batch', $form)}{$form.export_batch.html}{/if}</div>
 
 {if in_array($batchStatus, array('Open', 'Reopened'))} {* Add / remove transactions only allowed for Open/Reopened batches *}
   <br /><div class="form-layout-compressed">{$form.trans_remove.html}&nbsp;{$form.rSubmit.html}</div><br/>
@@ -75,17 +75,17 @@ CRM.$(function($) {
 });
 function assignRemove(recordID, op) {
   var recordBAO = 'CRM_Batch_BAO_Batch';
-  if (op == 'assign' || op == 'remove') {
-    recordBAO = 'CRM_Batch_BAO_EntityBatch';   
+  if (op === 'assign' || op === 'remove') {
+    recordBAO = 'CRM_Batch_BAO_EntityBatch';
   }
   var entityID = {/literal}"{$entityID}"{literal};
-  if (op == 'close' || op == 'export') {
+  if (op === 'close' || op === 'export') {
     var mismatch = checkMismatch();
   }
   else {
     CRM.$('#mark_x_' + recordID).closest('tr').block({message: {/literal}'{ts escape="js"}Updating{/ts}'{literal}});
   }
-  if (op == 'close' || (op == 'export' && mismatch.length)) {
+  if (op === 'close' || (op === 'export' && mismatch.length)) {
     CRM.$("#enableDisableStatusMsg").dialog({
       title: {/literal}'{ts escape="js"}Close Batch{/ts}'{literal},
       modal: true,
diff --git a/civicrm/templates/CRM/Friend/Form.tpl b/civicrm/templates/CRM/Friend/Form.tpl
index 3adbc782609a02ae27c56a5979e969c0c109ee13..fcbe4b27ce92aba124b0ddeb606ea949639699e5 100644
--- a/civicrm/templates/CRM/Friend/Form.tpl
+++ b/civicrm/templates/CRM/Friend/Form.tpl
@@ -36,11 +36,11 @@
   </tr>
 
   <tr>
-    <td class="right font-size12pt">{$form.from_name.label}&nbsp;&nbsp;</td>
-    <td class="font-size12pt">{$form.from_name.html} &lt;{$form.from_email.html}&gt;</td>
+    <td class="right">{$form.from_name.label}&nbsp;&nbsp;</td>
+    <td>{$form.from_name.html} &lt;{$form.from_email.html}&gt;</td>
   </tr>
   <tr>
-    <td class="label font-size12pt">{$form.suggested_message.label}</td>
+    <td class="label">{$form.suggested_message.label}</td>
     <td>{$form.suggested_message.html}</td>
   </tr>
 
diff --git a/civicrm/templates/CRM/Mailing/Form/Search.tpl b/civicrm/templates/CRM/Mailing/Form/Search.tpl
index a355ca7ed776a6dd075d7084221d73a53f6477a7..91d681a68c1129df36b8148f667c38d88be6a19c 100644
--- a/civicrm/templates/CRM/Mailing/Form/Search.tpl
+++ b/civicrm/templates/CRM/Mailing/Form/Search.tpl
@@ -15,7 +15,7 @@
       </td>
     </tr>
     <tr>
-      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="mailing" colspan='2'}
+      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="mailing" to='' from='' colspan='2' class='' hideRelativeLabel=0}
     </tr>
     <tr>
       <td colspan="1">{$form.sort_name.label} {help id="id-create_sort_name"}<br />
diff --git a/civicrm/templates/CRM/Mailing/Form/Search/Common.tpl b/civicrm/templates/CRM/Mailing/Form/Search/Common.tpl
index 8392543a39214a82d4860780373f2db93adeb9ac..a29908a4c0a4fb2fceb2b10847ca79dd5bcd575a 100644
--- a/civicrm/templates/CRM/Mailing/Form/Search/Common.tpl
+++ b/civicrm/templates/CRM/Mailing/Form/Search/Common.tpl
@@ -11,7 +11,7 @@
 </td>
 </tr>
 <tr>
-{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="mailing_job_start_date"}
+{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="mailing_job_start_date" to='' from='' colspan='' class='' hideRelativeLabel=0}
 </tr>
 <tr>
   <td>
diff --git a/civicrm/templates/CRM/Member/Form/Membership.hlp b/civicrm/templates/CRM/Member/Form/Membership.hlp
index 3e26e0ea0c268a474018764d6b1cbdfa5d3bf909..d8f9c28aa1c3eeafad270b29d2661035fc55deb7 100644
--- a/civicrm/templates/CRM/Member/Form/Membership.hlp
+++ b/civicrm/templates/CRM/Member/Form/Membership.hlp
@@ -20,12 +20,3 @@
     </ul>
   {/if}
 {/htxt}
-{htxt id ="id-from_email"}
-  <p>{ts}Select the "FROM" Email Address for this mailing from the dropdown list. Available email addresses are configurable by users with Administer CiviCRM permission. EXAMPLE: "Client Services" &lt;clientservices@example.org&gt;{/ts}</p>
-{if $params.isAdmin}
-  {capture assign="fromConfig"}{crmURL p="civicrm/admin/options/from_email_address" q="reset=1"}{/capture}
-  <p>{ts 1=$fromConfig}Go to <a href='%1'>Administer CiviCRM &raquo; Communications &raquo; FROM Email Addresses</a> to add or edit email addresses. Make sure these email addresses are valid email accounts with your email service provider.{/ts}</p>
-{else}
-  {ts}Contact your site administrator if you need to use a "FROM" Email Address which is not in the dropdown list.{/ts}
-{/if}
-{/htxt}
diff --git a/civicrm/templates/CRM/Member/Form/Membership.tpl b/civicrm/templates/CRM/Member/Form/Membership.tpl
index 4cf2f8d956c6443fd4a8efdeb0f7c97770188d3a..e35c0d60f223dcdd76aa5728bb78f95e0c493b7a 100644
--- a/civicrm/templates/CRM/Member/Form/Membership.tpl
+++ b/civicrm/templates/CRM/Member/Form/Membership.tpl
@@ -198,7 +198,7 @@
         {/if}
         <tr id="fromEmail" style="display: none" class="crm-contactEmail-form-block-fromEmailAddress crm-email-element">
           <td class="label">{$form.from_email_address.label}</td>
-          <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+          <td>{$form.from_email_address.html}  {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
         </tr>
         <tr id='notice' style="display:none;">
           <td class="label">{$form.receipt_text.label}</td>
diff --git a/civicrm/templates/CRM/Member/Form/MembershipRenewal.tpl b/civicrm/templates/CRM/Member/Form/MembershipRenewal.tpl
index 7aa5b9dff9d457d4150c5ddb31cbaf4723935710..0c6afa812d50a3d79d7112c505b43da4a9e4942e 100644
--- a/civicrm/templates/CRM/Member/Form/MembershipRenewal.tpl
+++ b/civicrm/templates/CRM/Member/Form/MembershipRenewal.tpl
@@ -118,7 +118,7 @@
         </tr>
         <tr id="fromEmail">
           <td class="label">{$form.from_email_address.label}</td>
-          <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+          <td>{$form.from_email_address.html}  {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
         </tr>
         <tr id="notice" class="crm-member-membershiprenew-form-block-receipt_text_renewal">
           <td class="label">{$form.receipt_text_renewal.label}</td>
diff --git a/civicrm/templates/CRM/Member/Form/Search/Common.tpl b/civicrm/templates/CRM/Member/Form/Search/Common.tpl
index f816ea63bce86c218772f3302e589509f841c4b4..c34e451edd2b7cd59e2b2fbae76e898680670b89 100644
--- a/civicrm/templates/CRM/Member/Form/Search/Common.tpl
+++ b/civicrm/templates/CRM/Member/Form/Search/Common.tpl
@@ -47,13 +47,13 @@
   <td>{$form.member_is_override.label}{help id="id-member_is_override" file="CRM/Member/Form/Search.hlp"}{$form.member_is_override.html}</td>
 </tr>
 <tr>
-  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="membership_join_date" colspan='2'}
+  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="membership_join_date" to='' from='' colspan='2' class='' hideRelativeLabel=0}
 </tr>
 <tr>
-  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="membership_start_date" colspan='2'}
+  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="membership_start_date" to='' from='' colspan='2' class='' hideRelativeLabel=0}
 </tr>
 <tr>
-  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="membership_end_date" colspan='2'}
+  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="membership_end_date" to='' from='' colspan='2' class='' hideRelativeLabel=0}
 </tr>
 
 {* campaign in membership search *}
diff --git a/civicrm/templates/CRM/Pledge/Form/Pledge.tpl b/civicrm/templates/CRM/Pledge/Form/Pledge.tpl
index d49e3013bef3c6c8b22bfe76fa9d11b6f88f5466..b14178a7100918c3b4eceefd6213303722459244 100644
--- a/civicrm/templates/CRM/Pledge/Form/Pledge.tpl
+++ b/civicrm/templates/CRM/Pledge/Form/Pledge.tpl
@@ -99,7 +99,7 @@
         {/if}
           <tr id="fromEmail" style="display:none;">
             <td class="label">{$form.from_email_address.label}</td>
-            <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+            <td>{$form.from_email_address.html}  {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
           </tr>
           <tr id="acknowledgeDate">
             <td class="label" class="crm-pledge-form-block-acknowledge_date">{$form.acknowledge_date.label}</td>
diff --git a/civicrm/templates/CRM/Pledge/Form/Search/Common.tpl b/civicrm/templates/CRM/Pledge/Form/Search/Common.tpl
index a073fa0c5b25901e7598951eb67c3d6c4c05ee03..34bdc059a4ef125854e448e852170881ab611116 100644
--- a/civicrm/templates/CRM/Pledge/Form/Search/Common.tpl
+++ b/civicrm/templates/CRM/Pledge/Form/Search/Common.tpl
@@ -9,7 +9,7 @@
 *}
 
 <tr>
-{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="pledge_payment_scheduled_date" colspan="2"}
+{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="pledge_payment_scheduled_date" to='' from='' colspan="2" class='' hideRelativeLabel=0}
 </tr>
 <tr>
   <td colspan="2">
@@ -29,13 +29,13 @@
   </td>
 </tr>
 <tr>
-{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="pledge_create_date" colspan="2"}
+{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="pledge_create_date" to='' from='' colspan="2" class='' hideRelativeLabel=0}
 </tr>
 <tr>
-{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="pledge_start_date" colspan="2"}
+{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="pledge_start_date" to='' from='' colspan="2" class='' hideRelativeLabel=0}
 </tr>
 <tr>
-{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="pledge_end_date" colspan="2"}
+{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="pledge_end_date" to='' from='' colspan="2" class='' hideRelativeLabel=0}
 </tr>
 <tr>
   <td>
diff --git a/civicrm/templates/CRM/Report/Form/Tabs/Filters.tpl b/civicrm/templates/CRM/Report/Form/Tabs/Filters.tpl
index 5324ca33af7e4b5d1279c14ac9d754af89069430..aab5a09470eb47017539bc128b857ba1fee7f0e0 100644
--- a/civicrm/templates/CRM/Report/Form/Tabs/Filters.tpl
+++ b/civicrm/templates/CRM/Report/Form/Tabs/Filters.tpl
@@ -30,7 +30,7 @@
                 {if !empty($field.operatorType) && $field.operatorType & 4}
                   <tr class="report-contents crm-report crm-report-criteria-filter crm-report-criteria-filter-{$tableName}">
                     <td class="label report-contents">{if !empty($field.title)}{$field.title}{/if}</td>
-                      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName=$fieldName hideRelativeLabel=1 from='_from' to='_to'}
+                      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName=$fieldName hideRelativeLabel=1 from='_from' to='_to' class='' colspan=''}
                   </tr>
                 {elseif $form.$fieldOp.html}
                   <tr class="report-contents crm-report crm-report-criteria-filter crm-report-criteria-filter-{$tableName}" {if !empty($field.no_display)} style="display: none;"{/if}>
diff --git a/civicrm/templates/CRM/Report/Page/Options.tpl b/civicrm/templates/CRM/Report/Page/Options.tpl
index 03c9e5050b452b7be2c763d7fde4331843cd48f0..33d26800408f1e6489eec0181c993c335975a548 100644
--- a/civicrm/templates/CRM/Report/Page/Options.tpl
+++ b/civicrm/templates/CRM/Report/Page/Options.tpl
@@ -8,11 +8,11 @@
  +--------------------------------------------------------------------+
 *}
 <div class="help">
-  {ts 1=$GName}The existing option choices for %1 group are listed below. You can add, edit or delete them from this screen.{/ts}
+  {ts 1=$gLabel}The existing option choices for %1 group are listed below. You can add, edit or delete them from this screen.{/ts}
 </div>
 {if $action ne 1 and $action ne 2}
   <div class="action-link">
-    <a href="{$newReport}"  id="new"|cat:$GName class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts 1=$GName}Register New %1{/ts}</span></a>
+    <a href="{$newReport}"  id="new_{$gName}" class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts 1=$gLabel}Register New %1{/ts}</span></a>
   </div>
   <div class="spacer"></div>
 {/if}
@@ -58,7 +58,7 @@
 
     {if $action ne 1 and $action ne 2}
       <div class="action-link">
-        <a href="{$newReport}"  id="new"|cat:$GName class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts 1=$GName}Register New %1{/ts}</span></a>
+        <a href="{$newReport}"  id="new_{$gName}" class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts 1=$gLabel}Register New %1{/ts}</span></a>
       </div>
     {/if}
   </div>
diff --git a/civicrm/templates/CRM/UF/Page/Group.tpl b/civicrm/templates/CRM/UF/Page/Group.tpl
index 727c429a2db09fc9c1d0044b0cc89feeb8950812..4bfc276a744071f6364a50fca1871d95979a6304 100644
--- a/civicrm/templates/CRM/UF/Page/Group.tpl
+++ b/civicrm/templates/CRM/UF/Page/Group.tpl
@@ -8,149 +8,146 @@
  +--------------------------------------------------------------------+
 *}
 {if $action eq 1 or $action eq 2 or $action eq 4 or $action eq 8 or $action eq 64 or $action eq 16384}
-    {* Add or edit Profile Group form *}
-    {include file="CRM/UF/Form/Group.tpl"}
+  {* Add or edit Profile Group form *}
+  {include file="CRM/UF/Form/Group.tpl"}
 {elseif $action eq 1024}
-    {* Preview Profile Group form *}
-    {include file="CRM/UF/Form/Preview.tpl"}
+  {* Preview Profile Group form *}
+  {include file="CRM/UF/Form/Preview.tpl"}
 {elseif $action eq 8192}
-    {* Display HTML Form Snippet Code *}
-    <div class="help">
-        {ts}The HTML code below will display a form consisting of the active fields in this Profile. You can copy this HTML code and paste it into any block or page on your website where you want to collect contact information.{/ts} {help id='standalone'}
-    </div>
-    <br />
-    <form name="html_code" action="{crmURL p='civicrm/admin/uf/group' q="action=profile&gid=$gid"}">
+  {* Display HTML Form Snippet Code *}
+  <div class="help">
+      {ts}The HTML code below will display a form consisting of the active fields in this Profile. You can copy this HTML code and paste it into any block or page on your website where you want to collect contact information.{/ts} {help id='standalone'}
+  </div>
+  <br />
+  <form name="html_code" action="{crmURL p='civicrm/admin/uf/group' q="action=profile&gid=$gid"}">
     <div id="standalone-form">
-        <textarea rows="20" cols="80" name="profile" id="profile">{$profile}</textarea>
-        <div class="spacer"></div>
-        <a href="#" onclick="html_code.profile.select(); return false;" class="button"><span>{ts}Select HTML Code{/ts}</span></a>
+      <textarea rows="20" cols="80" name="profile" id="profile">{$profile}</textarea>
+      <div class="spacer"></div>
+      <a href="#" onclick="html_code.profile.select(); return false;" class="button"><span>{ts}Select HTML Code{/ts}</span></a>
     </div>
     <div class="action-link">
-        &nbsp; <a href="{crmURL p='civicrm/admin/uf/group' q="reset=1"}"><i class="crm-i fa-chevron-left" aria-hidden="true"></i>  {ts}Back to Profile Listings{/ts}</a>
+      &nbsp; <a href="{crmURL p='civicrm/admin/uf/group' q="reset=1"}"><i class="crm-i fa-chevron-left" aria-hidden="true"></i>  {ts}Back to Profile Listings{/ts}</a>
     </div>
-    </form>
+  </form>
 
 {else}
-    <div class="help">
-        {ts}CiviCRM Profile(s) allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features. They provide a powerful set of tools for you to collect information from constituents and selectively share contact information.{/ts} {help id='profile_overview'}
-    </div>
+  <div class="help">
+    {ts}CiviCRM Profile(s) allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features. They provide a powerful set of tools for you to collect information from constituents and selectively share contact information.{/ts} {help id='profile_overview'}
+  </div>
 
-<div class="crm-content-block crm-block">
+  <div class="crm-content-block crm-block">
     {if NOT ($action eq 1 or $action eq 2)}
-    <div class="crm-submit-buttons">
-        <a href="{crmURL p='civicrm/admin/uf/group/add' q="action=add&reset=1"}" id="newCiviCRMProfile-top" class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts}Add Profile{/ts}</span></a>
-    </div>
+      <div class="crm-submit-buttons">
+          <a href="{crmURL p='civicrm/admin/uf/group/add' q="action=add&reset=1"}" id="newCiviCRMProfile-top" class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts}Add Profile{/ts}</span></a>
+      </div>
     {/if}
     {if $rows}
-    <div id='mainTabContainer'>
+      <div id='mainTabContainer'>
         <ul>
-            <li id='tab_user-profiles'>    <a href='#user-profiles'     title='{ts}User-defined Profile{/ts}'>{ts}User-defined Profiles{/ts}</a></li>
-            <li id='tab_reserved-profiles'><a href='#reserved-profiles' title='{ts}Reserved Profiles{/ts}'>{ts}Reserved Profiles{/ts}</a></li>
+          <li id='tab_user-profiles'>    <a href='#user-profiles'     title='{ts}User-defined Profile{/ts}'>{ts}User-defined Profiles{/ts}</a></li>
+          <li id='tab_reserved-profiles'><a href='#reserved-profiles' title='{ts}Reserved Profiles{/ts}'>{ts}Reserved Profiles{/ts}</a></li>
         </ul>
 
         {* handle enable/disable actions*}
         {include file="CRM/common/enableDisableApi.tpl"}
         {include file="CRM/common/jsortable.tpl"}
         <div id="user-profiles">
-           <div class="crm-content-block">
-           <table class="display">
-             <thead>
-              <tr>
-                <th id="sortable">{ts}Profile Title{/ts}</th>
-                <th>{ts}Public Title{/ts}</th>
-                <th>{ts}Created By{/ts}</th>
-                <th>{ts}Description{/ts}</th>
-                <th>{ts}Type{/ts}</th>
-                <th>{ts}ID{/ts}</th>
-                <th id="nosort">{ts}Used For{/ts}</th>
-                <th></th>
-              </tr>
-            </thead>
-            <tbody>
-            {foreach from=$rows item=row}
-            {if !$row.is_reserved }
-              <tr id="UFGroup-{$row.id}" data-action="setvalue" class="crm-entity{if !empty($row.class)} {$row.class}{/if}{if NOT $row.is_active} disabled{/if}">
-                <td class="crmf-title crm-editable">{$row.title}</td>
-                <td class="crmf-frontend_title crm-editable">{$row.frontend_title}</td>
-                <td>
-                  {if $row.created_id && $row.created_by}
-                    <a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.created_id`"}">{ts}{$row.created_by}{/ts}</a>
-                  {/if}
-                </td>
-                <td class="crmf-description crm-editable" data-type="textarea">{$row.description|escape}</td>
-                <td>{$row.group_type}</td>
-                <td>{$row.id}</td>
-                <td>{$row.module}</td>
-                <td>{$row.action|replace:'xx':$row.id}</td>
-              </tr>
-            {/if}
-            {/foreach}
-            </tbody>
+          <div class="crm-content-block">
+            <table class="display">
+              <thead>
+                <tr>
+                  <th id="sortable">{ts}Profile Title{/ts}</th>
+                  <th>{ts}Public Title{/ts}</th>
+                  <th>{ts}Created By{/ts}</th>
+                  <th>{ts}Description{/ts}</th>
+                  <th>{ts}Type{/ts}</th>
+                  <th>{ts}ID{/ts}</th>
+                  <th id="nosort">{ts}Used For{/ts}</th>
+                  <th></th>
+                </tr>
+              </thead>
+              <tbody>
+                {foreach from=$rows item=row}
+                {if !$row.is_reserved }
+                  <tr id="UFGroup-{$row.id}" data-action="setvalue" class="crm-entity{if !empty($row.class)} {$row.class}{/if}{if NOT $row.is_active} disabled{/if}">
+                    <td class="crmf-title crm-editable">{$row.title}</td>
+                    <td class="crmf-frontend_title crm-editable">{$row.frontend_title}</td>
+                    <td>
+                      {if $row.created_id && $row.created_by}
+                        <a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.created_id`"}">{ts}{$row.created_by}{/ts}</a>
+                      {/if}
+                    </td>
+                    <td class="crmf-description crm-editable" data-type="textarea">{$row.description|escape}</td>
+                    <td>{$row.group_type}</td>
+                    <td>{$row.id}</td>
+                    <td>{$row.module}</td>
+                    <td>{$row.action|replace:'xx':$row.id}</td>
+                  </tr>
+                {/if}
+                {/foreach}
+              </tbody>
             </table>
 
             {if NOT ($action eq 1 or $action eq 2)}
-            <div class="crm-submit-buttons">
-                <a href="{crmURL p='civicrm/admin/uf/group/add' q='action=add&reset=1'}" id="newCiviCRMProfile-bottom" class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts}Add Profile{/ts}</span></a>
-            </div>
+              <div class="crm-submit-buttons">
+                  <a href="{crmURL p='civicrm/admin/uf/group/add' q='action=add&reset=1'}" id="newCiviCRMProfile-bottom" class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts}Add Profile{/ts}</span></a>
+              </div>
             {/if}
-            </div>
+          </div>
         </div>{* user profile*}
 
         <div id="reserved-profiles">
-        <div class="crm-content-block">
+          <div class="crm-content-block">
             <table class="display">
-             <thead>
-              <tr>
-                <th id="sortable">{ts}Profile Title{/ts}</th>
-                <th>{ts}Public Title{/ts}</th>
-                <th>{ts}Created By{/ts}</th>
-                <th>{ts}Description{/ts}</th>
-                <th>{ts}Type{/ts}</th>
-                <th>{ts}ID{/ts}</th>
-                <th id="nosort">{ts}Used For{/ts}</th>
-                <th></th>
-              </tr>
-            </thead>
-            <tbody>
-            {foreach from=$rows item=row}
-            {if $row.is_reserved}
-              <tr id="UFGroup-{$row.id}" class="crm-entity{if !empty($row.class)} {$row.class}{/if}{if NOT $row.is_active} disabled{/if}">
-                <td>{$row.title}</td>
-                <td>{$row.frontend_title}</td>
-                <td>
-                  {if $row.created_id && $row.created_by}
-                    <a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.created_id`"}">{ts}{$row.created_by}{/ts}</a>
+              <thead>
+                <tr>
+                  <th id="sortable">{ts}Profile Title{/ts}</th>
+                  <th>{ts}Public Title{/ts}</th>
+                  <th>{ts}Created By{/ts}</th>
+                  <th>{ts}Description{/ts}</th>
+                  <th>{ts}Type{/ts}</th>
+                  <th>{ts}ID{/ts}</th>
+                  <th id="nosort">{ts}Used For{/ts}</th>
+                  <th></th>
+                </tr>
+              </thead>
+              <tbody>
+                {foreach from=$rows item=row}
+                  {if $row.is_reserved}
+                    <tr id="UFGroup-{$row.id}" class="crm-entity{if !empty($row.class)} {$row.class}{/if}{if NOT $row.is_active} disabled{/if}">
+                      <td>{$row.title}</td>
+                      <td>{$row.frontend_title}</td>
+                      <td>
+                        {if $row.created_id && $row.created_by}
+                          <a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.created_id`"}">{ts}{$row.created_by}{/ts}</a>
+                        {/if}
+                      </td>
+                      <td>{$row.description|escape}</td>
+                      <td>{$row.group_type}</td>
+                      <td>{$row.id}</td>
+                      <td>{$row.module}</td>
+                      <td>{$row.action|replace:'xx':$row.id}</td>
+                    </tr>
                   {/if}
-                </td>
-                <td>{$row.description|escape}</td>
-                <td>{$row.group_type}</td>
-                <td>{$row.id}</td>
-                <td>{$row.module}</td>
-                <td>{$row.action|replace:'xx':$row.id}</td>
-              </tr>
-            {/if}
-            {/foreach}
-            </tbody>
+                {/foreach}
+              </tbody>
             </table>
 
             {if NOT ($action eq 1 or $action eq 2)}
-            <div class="crm-submit-buttons">
+              <div class="crm-submit-buttons">
                 <a href="{crmURL p='civicrm/admin/uf/group/add' q='action=add&reset=1'}" id="newCiviCRMProfile-bottom" class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts}Add Profile{/ts}</span></a>
-            </div>
+              </div>
             {/if}
-            </div>
+          </div>
         </div>{* reserved profile*}
-
-  </div>
-{include file="CRM/common/TabHeader.tpl"}
-
+      </div>
+      {include file="CRM/common/TabHeader.tpl"}
     {else}
-    {if $action ne 1} {* When we are adding an item, we should not display this message *}
-       <div class="messages status no-popup">
-         {icon icon="fa-info-circle"}{/icon}
-         {capture assign=crmURL}{crmURL p='civicrm/admin/uf/group/add' q='action=add&reset=1'}{/capture}{ts 1=$crmURL}No CiviCRM Profiles have been created yet. You can <a href='%1'>add one now</a>.{/ts}
-       </div>
-    {/if}
+      {if $action ne 1} {* When we are adding an item, we should not display this message *}
+        <div class="messages status no-popup">
+          {icon icon="fa-info-circle"}{/icon}
+          {capture assign=crmURL}{crmURL p='civicrm/admin/uf/group/add' q='action=add&reset=1'}{/capture}{ts 1=$crmURL}No CiviCRM Profiles have been created yet. You can <a href='%1'>add one now</a>.{/ts}
+        </div>
+      {/if}
     {/if}
 {/if}
-</div>
diff --git a/civicrm/templates/CRM/common/contactFooter.tpl b/civicrm/templates/CRM/common/contactFooter.tpl
index d87f279f9707f1a4bc3d2ccc02f198f213b8b610..db1f334b77ec7e954197beecc03157cfc97232ae 100644
--- a/civicrm/templates/CRM/common/contactFooter.tpl
+++ b/civicrm/templates/CRM/common/contactFooter.tpl
@@ -11,15 +11,15 @@
 {strip}
 <div class="crm-footer" id="crm-record-log">
   <span class="col1">
-    {if !empty($external_identifier)}{ts}External ID{/ts}:&nbsp;{$external_identifier}{/if}
+    {if $external_identifier}{ts}External ID{/ts}:&nbsp;{$external_identifier}{/if}
     {if $action !== 2}&nbsp; &nbsp;{ts}Contact ID{/ts}:&nbsp;{$contactId}{/if}
   </span>
-  {if !empty($lastModified)}
+  {if $lastModified}
     {ts}Last Change by{/ts}: <a href="{crmURL p='civicrm/contact/view' q="action=view&reset=1&cid=`$lastModified.id`"}">{$lastModified.name}</a> ({$lastModified.date|crmDate}) &nbsp;
-    {if !empty($changeLog)}
+    {if $changeLog}
       <a href="{crmURL p='civicrm/contact/view' q="reset=1&action=browse&selectedChild=log&cid=`$contactId`"}" class="crm-log-view"><i class="crm-i fa-history" aria-hidden="true"></i> {ts}View Change Log{/ts}</a>
     {/if}
   {/if}
-  {if !empty($created_date)}<div class="contact-created-date">{ts}Created{/ts}: {$created_date|crmDate}</div>{/if}
+  {if $created_date}<div class="contact-created-date">{ts}Created{/ts}: {$created_date|crmDate}</div>{/if}
 </div>
 {/strip}
diff --git a/civicrm/templates/CRM/common/footer.tpl b/civicrm/templates/CRM/common/footer.tpl
index 4399e31d94b0a0e06018b3bf71023887ddc5aaa1..ddae7088b1f0b89a6b3474f68ee1dd9b80a13019 100644
--- a/civicrm/templates/CRM/common/footer.tpl
+++ b/civicrm/templates/CRM/common/footer.tpl
@@ -16,7 +16,7 @@
   <div class="crm-footer" id="civicrm-footer">
     {crmVersion assign=version}
     {ts}Powered by CiviCRM{/ts} <a href="https://download.civicrm.org/about/{$version}">{$version}</a>.
-    {if !empty($footer_status_severity)}
+    {if $footer_status_severity}
       <span class="status{if $footer_status_severity gt 3} crm-error{elseif $footer_status_severity gt 2} crm-warning{else} crm-ok{/if}">
       <a href="{crmURL p='civicrm/a/#/status'}">{$footer_status_message}</a>
     </span>
diff --git a/civicrm/templates/CRM/common/searchResultTasks.tpl b/civicrm/templates/CRM/common/searchResultTasks.tpl
index be4b9e4a5dd59e04a72e3d07b3b8b7c5b6a03550..c126d858a1f47adde06fe1279a0f5f2eb3959bcb 100644
--- a/civicrm/templates/CRM/common/searchResultTasks.tpl
+++ b/civicrm/templates/CRM/common/searchResultTasks.tpl
@@ -12,7 +12,7 @@
 <div id="search-status">
   <table class="form-layout-compressed">
   <tr>
-    <td class="font-size12pt" style="width: 40%;">
+    <td style="width: 40%;">
     {if !empty($savedSearch.name)}{$savedSearch.name} ({ts}smart group{/ts}) - {/if}
     {ts count=$pager->_totalItems plural='%count Results'}%count Result{/ts}{if !empty($selectorLabel)}&nbsp;-&nbsp;{$selectorLabel}{/if}
     {if $context == 'Event' && $participantCount && ( $pager->_totalItems ne $participantCount ) }
@@ -34,7 +34,7 @@
   </tr>
 {/if}
   <tr>
-    <td class="font-size11pt"> {ts}Select Records{/ts}:</td>
+    <td>{ts}Select Records{/ts}:</td>
     <td class="nowrap">
       {$form.radio_ts.ts_all.html} <label for="{$ts_all_id}">{ts count=$pager->_totalItems plural='All %count records'}The found record{/ts}</label> &nbsp; {if $pager->_totalItems > 1} {$form.radio_ts.ts_sel.html} <label for="{$ts_sel_id}">{ts 1="<span></span>"}%1 Selected records only{/ts}</label>{/if}
     </td>
diff --git a/civicrm/templates/CRM/common/snippet.tpl b/civicrm/templates/CRM/common/snippet.tpl
index 633c707b9da07789fdd62c8fc46516a1f82f64ec..177d7dc83d5122a53be94b8b0c0b58eac40cd264 100644
--- a/civicrm/templates/CRM/common/snippet.tpl
+++ b/civicrm/templates/CRM/common/snippet.tpl
@@ -34,7 +34,7 @@
           {include file="CRM/common/status.tpl"}
         {/if}
 
-        {if !empty($isForm)}
+        {if $isForm}
           {include file="CRM/Form/default.tpl"}
         {else}
           {include file=$tplFile}
diff --git a/civicrm/vendor/autoload.php b/civicrm/vendor/autoload.php
index 23916208e2fd3d1f5abf81518c41954d2f9f4adc..deaebe6c4b1965681ca2b009fea76a68fddbc2ac 100644
--- a/civicrm/vendor/autoload.php
+++ b/civicrm/vendor/autoload.php
@@ -4,4 +4,4 @@
 
 require_once __DIR__ . '/composer/autoload_real.php';
 
-return ComposerAutoloaderInit7d109fbe539c9854c6b4b47395293a82::getLoader();
+return ComposerAutoloaderInitf31a2c5ac61f3c5ca23bf7ff0747cc07::getLoader();
diff --git a/civicrm/vendor/composer/autoload_real.php b/civicrm/vendor/composer/autoload_real.php
index fbcea183541e506f1033264686226b6d8814096b..ea73384341c31b4e97ee023678e5f4dcdf172827 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 ComposerAutoloaderInit7d109fbe539c9854c6b4b47395293a82
+class ComposerAutoloaderInitf31a2c5ac61f3c5ca23bf7ff0747cc07
 {
     private static $loader;
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit7d109fbe539c9854c6b4b47395293a82
             return self::$loader;
         }
 
-        spl_autoload_register(array('ComposerAutoloaderInit7d109fbe539c9854c6b4b47395293a82', 'loadClassLoader'), true, true);
+        spl_autoload_register(array('ComposerAutoloaderInitf31a2c5ac61f3c5ca23bf7ff0747cc07', 'loadClassLoader'), true, true);
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
-        spl_autoload_unregister(array('ComposerAutoloaderInit7d109fbe539c9854c6b4b47395293a82', 'loadClassLoader'));
+        spl_autoload_unregister(array('ComposerAutoloaderInitf31a2c5ac61f3c5ca23bf7ff0747cc07', 'loadClassLoader'));
 
         $includePaths = require __DIR__ . '/include_paths.php';
         $includePaths[] = get_include_path();
@@ -31,7 +31,7 @@ class ComposerAutoloaderInit7d109fbe539c9854c6b4b47395293a82
         if ($useStaticLoader) {
             require_once __DIR__ . '/autoload_static.php';
 
-            call_user_func(\Composer\Autoload\ComposerStaticInit7d109fbe539c9854c6b4b47395293a82::getInitializer($loader));
+            call_user_func(\Composer\Autoload\ComposerStaticInitf31a2c5ac61f3c5ca23bf7ff0747cc07::getInitializer($loader));
         } else {
             $map = require __DIR__ . '/autoload_namespaces.php';
             foreach ($map as $namespace => $path) {
@@ -52,19 +52,19 @@ class ComposerAutoloaderInit7d109fbe539c9854c6b4b47395293a82
         $loader->register(true);
 
         if ($useStaticLoader) {
-            $includeFiles = Composer\Autoload\ComposerStaticInit7d109fbe539c9854c6b4b47395293a82::$files;
+            $includeFiles = Composer\Autoload\ComposerStaticInitf31a2c5ac61f3c5ca23bf7ff0747cc07::$files;
         } else {
             $includeFiles = require __DIR__ . '/autoload_files.php';
         }
         foreach ($includeFiles as $fileIdentifier => $file) {
-            composerRequire7d109fbe539c9854c6b4b47395293a82($fileIdentifier, $file);
+            composerRequiref31a2c5ac61f3c5ca23bf7ff0747cc07($fileIdentifier, $file);
         }
 
         return $loader;
     }
 }
 
-function composerRequire7d109fbe539c9854c6b4b47395293a82($fileIdentifier, $file)
+function composerRequiref31a2c5ac61f3c5ca23bf7ff0747cc07($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 af6f0fad29a7a07cb380383288538bc73426f4d6..28a136fc47cbcbfa517d72c1ab382e915d2f6589 100644
--- a/civicrm/vendor/composer/autoload_static.php
+++ b/civicrm/vendor/composer/autoload_static.php
@@ -4,7 +4,7 @@
 
 namespace Composer\Autoload;
 
-class ComposerStaticInit7d109fbe539c9854c6b4b47395293a82
+class ComposerStaticInitf31a2c5ac61f3c5ca23bf7ff0747cc07
 {
     public static $files = array (
         '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
@@ -672,11 +672,11 @@ class ComposerStaticInit7d109fbe539c9854c6b4b47395293a82
     public static function getInitializer(ClassLoader $loader)
     {
         return \Closure::bind(function () use ($loader) {
-            $loader->prefixLengthsPsr4 = ComposerStaticInit7d109fbe539c9854c6b4b47395293a82::$prefixLengthsPsr4;
-            $loader->prefixDirsPsr4 = ComposerStaticInit7d109fbe539c9854c6b4b47395293a82::$prefixDirsPsr4;
-            $loader->prefixesPsr0 = ComposerStaticInit7d109fbe539c9854c6b4b47395293a82::$prefixesPsr0;
-            $loader->fallbackDirsPsr0 = ComposerStaticInit7d109fbe539c9854c6b4b47395293a82::$fallbackDirsPsr0;
-            $loader->classMap = ComposerStaticInit7d109fbe539c9854c6b4b47395293a82::$classMap;
+            $loader->prefixLengthsPsr4 = ComposerStaticInitf31a2c5ac61f3c5ca23bf7ff0747cc07::$prefixLengthsPsr4;
+            $loader->prefixDirsPsr4 = ComposerStaticInitf31a2c5ac61f3c5ca23bf7ff0747cc07::$prefixDirsPsr4;
+            $loader->prefixesPsr0 = ComposerStaticInitf31a2c5ac61f3c5ca23bf7ff0747cc07::$prefixesPsr0;
+            $loader->fallbackDirsPsr0 = ComposerStaticInitf31a2c5ac61f3c5ca23bf7ff0747cc07::$fallbackDirsPsr0;
+            $loader->classMap = ComposerStaticInitf31a2c5ac61f3c5ca23bf7ff0747cc07::$classMap;
 
         }, null, ClassLoader::class);
     }
diff --git a/civicrm/xml/schema/Activity/Activity.xml b/civicrm/xml/schema/Activity/Activity.xml
index 2b6c5195c947543c46cdd2e19b32c9f47cc1978c..7a3611411958fcaa196ea6b144ac409fbe7f1fef 100644
--- a/civicrm/xml/schema/Activity/Activity.xml
+++ b/civicrm/xml/schema/Activity/Activity.xml
@@ -418,6 +418,7 @@
     <default>CURRENT_TIMESTAMP</default>
     <html>
       <label>Created Date</label>
+      <type>Select Date</type>
     </html>
     <add>4.7</add>
   </field>
@@ -431,6 +432,7 @@
     <default>CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP</default>
     <html>
       <label>Modified Date</label>
+      <type>Select Date</type>
     </html>
     <readonly>true</readonly>
     <add>4.7</add>
diff --git a/civicrm/xml/schema/Case/Case.xml b/civicrm/xml/schema/Case/Case.xml
index a95d44923aff6eefc6d2a08d3803d8cde9a4fcb9..acc66e4ede1f9eaf94268b1002c9a19ed17688d2 100644
--- a/civicrm/xml/schema/Case/Case.xml
+++ b/civicrm/xml/schema/Case/Case.xml
@@ -153,6 +153,7 @@
     <html>
       <label>Created Date</label>
     </html>
+    <readonly>true</readonly>
     <add>4.7</add>
   </field>
   <field>
diff --git a/civicrm/xml/schema/Contact/Relationship.xml b/civicrm/xml/schema/Contact/Relationship.xml
index 9151dc12e500e6be7013be4b712eff12e981d2a9..141ae932c639a1f087e5a5e8a24d2e713bc57c92 100644
--- a/civicrm/xml/schema/Contact/Relationship.xml
+++ b/civicrm/xml/schema/Contact/Relationship.xml
@@ -178,6 +178,24 @@
     </html>
     <add>2.2</add>
   </field>
+  <field>
+    <name>created_date</name>
+    <type>timestamp</type>
+    <comment>Relationship created date.</comment>
+    <required>true</required>
+    <default>CURRENT_TIMESTAMP</default>
+    <add>5.47</add>
+  </field>
+  <field>
+    <name>modified_date</name>
+    <title>Relationship Modified Date</title>
+    <type>timestamp</type>
+    <required>true</required>
+    <comment>Relationship last modified.</comment>
+    <default>CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP</default>
+    <add>5.47</add>
+    <readonly>true</readonly>
+  </field>
   <foreignKey>
     <name>case_id</name>
     <table>civicrm_case</table>
diff --git a/civicrm/xml/schema/Contribute/ContributionRecur.xml b/civicrm/xml/schema/Contribute/ContributionRecur.xml
index 10ccc535920a9ecb613fd846e3db759e52c1add4..b19292e66a13245b1622262c415baff33b70f4ce 100644
--- a/civicrm/xml/schema/Contribute/ContributionRecur.xml
+++ b/civicrm/xml/schema/Contribute/ContributionRecur.xml
@@ -359,7 +359,7 @@
     <pseudoconstant>
       <table>civicrm_payment_processor</table>
       <keyColumn>id</keyColumn>
-      <labelColumn>name</labelColumn>
+      <labelColumn>title</labelColumn>
     </pseudoconstant>
     <html>
       <type>Select</type>
diff --git a/civicrm/xml/schema/Core/CustomField.xml b/civicrm/xml/schema/Core/CustomField.xml
index 8fb1c82c10b0115454bff015afd9498d0de4ca4a..c5a4a2f617facc47d23cc1e20614c25a3892657e 100644
--- a/civicrm/xml/schema/Core/CustomField.xml
+++ b/civicrm/xml/schema/Core/CustomField.xml
@@ -11,8 +11,8 @@
   <paths>
     <add>civicrm/admin/custom/group/field/add?reset=1&amp;action=add&amp;gid=[custom_group_id]</add>
     <update>civicrm/admin/custom/group/field/update?action=update&amp;reset=1&amp;id=[id]&amp;gid=[custom_group_id]</update>
-    <preview>civicrm/admin/custom/group/field?action=preview&amp;reset=1&amp;id=[id]&amp;gid=[custom_group_id]</preview>
-    <delete>civicrm/admin/custom/group/field?action=delete&amp;reset=1&amp;id=[id]&amp;gid=[custom_group_id]</delete>
+    <preview>civicrm/admin/custom/group/preview&amp;reset=1&amp;fid=[id]</preview>
+    <delete>civicrm/admin/custom/group/field/delete?reset=1&amp;id=[id]</delete>
     <move>civicrm/admin/custom/group/field/move?reset=1&amp;fid=[id]</move>
   </paths>
   <field>
diff --git a/civicrm/xml/schema/Core/CustomGroup.xml b/civicrm/xml/schema/Core/CustomGroup.xml
index 853a106e3263e247bbf5a71a530ccbc4588055a1..cd38ce06701141465999b2cc3423f601a66cba80 100644
--- a/civicrm/xml/schema/Core/CustomGroup.xml
+++ b/civicrm/xml/schema/Core/CustomGroup.xml
@@ -11,10 +11,10 @@
   <title>Custom Field Group</title>
   <labelField>title</labelField>
   <paths>
-    <add>civicrm/admin/custom/group?action=add&amp;reset=1</add>
-    <update>civicrm/admin/custom/group?action=update&amp;reset=1&amp;id=[id]</update>
-    <preview>civicrm/admin/custom/group?action=preview&amp;reset=1&amp;id=[id]</preview>
-    <delete>civicrm/admin/custom/group?action=delete&amp;reset=1&amp;id=[id]</delete>
+    <add>civicrm/admin/custom/group/edit?action=add&amp;reset=1</add>
+    <update>civicrm/admin/custom/group/edit?action=update&amp;reset=1&amp;id=[id]</update>
+    <preview>civicrm/admin/custom/group/preview?reset=1&amp;gid=[id]</preview>
+    <delete>civicrm/admin/custom/group/delete?reset=1&amp;id=[id]</delete>
   </paths>
   <field>
     <name>id</name>
@@ -198,11 +198,10 @@
     <add>2.1</add>
   </index>
   <index>
-    <name>UI_name_extends</name>
+    <name>UI_name</name>
     <fieldName>name</fieldName>
-    <fieldName>extends</fieldName>
     <unique>true</unique>
-    <add>2.1</add>
+    <add>5.47</add>
   </index>
   <field>
     <name>created_id</name>
diff --git a/civicrm/xml/schema/Core/Navigation.xml b/civicrm/xml/schema/Core/Navigation.xml
index dd489e66e00cfe70c68f54bb28e9361af4a46532..bb97737ad3729661ea4cc24d3e54557d10157304 100644
--- a/civicrm/xml/schema/Core/Navigation.xml
+++ b/civicrm/xml/schema/Core/Navigation.xml
@@ -125,6 +125,8 @@
     <title>Is Active</title>
     <type>boolean</type>
     <comment>Is this navigation item active?</comment>
+    <default>1</default>
+    <required>true</required>
     <add>3.0</add>
   </field>
   <field>
@@ -143,6 +145,8 @@
     <title>Order</title>
     <type>int</type>
     <comment>Ordering of the navigation items in various blocks.</comment>
+    <default>0</default>
+    <required>true</required>
     <add>3.0</add>
   </field>
 </table>
diff --git a/civicrm/xml/schema/Event/Event.xml b/civicrm/xml/schema/Event/Event.xml
index a90b01446b2241b0762807c83c183e4fc2fb4ebe..067a3a528cce1df450a7f557b57c7cda618a8a10 100644
--- a/civicrm/xml/schema/Event/Event.xml
+++ b/civicrm/xml/schema/Event/Event.xml
@@ -124,13 +124,15 @@
   </field>
   <field>
     <name>start_date</name>
-    <type>datetime</type>
+    <type>timestamp</type>
     <uniqueName>event_start_date</uniqueName>
     <title>Event Start Date</title>
     <headerPattern>/^start|(s(tart\s)?date)$/i</headerPattern>
     <import>true</import>
     <comment>Date and time that event starts.</comment>
     <add>1.7</add>
+    <required>false</required>
+    <default>NULL</default>
     <html>
       <type>Select Date</type>
       <formatType>activityDateTime</formatType>
@@ -138,13 +140,15 @@
   </field>
   <field>
     <name>end_date</name>
-    <type>datetime</type>
+    <type>timestamp</type>
     <uniqueName>event_end_date</uniqueName>
     <title>Event End Date</title>
     <headerPattern>/^end|(e(nd\s)?date)$/i</headerPattern>
     <import>true</import>
     <comment>Date and time that event ends. May be NULL if no defined end date/time</comment>
     <add>1.7</add>
+    <required>false</required>
+    <default>NULL</default>
     <html>
       <type>Select Date</type>
       <formatType>activityDateTime</formatType>
@@ -175,9 +179,11 @@
   </field>
   <field>
     <name>registration_start_date</name>
-    <type>datetime</type>
+    <type>timestamp</type>
     <comment>Date and time that online registration starts.</comment>
     <add>1.8</add>
+    <required>false</required>
+    <default>NULL</default>
     <html>
       <type>Select Date</type>
       <formatType>activityDateTime</formatType>
@@ -186,9 +192,11 @@
   </field>
   <field>
     <name>registration_end_date</name>
-    <type>datetime</type>
+    <type>timestamp</type>
     <comment>Date and time that online registration ends.</comment>
     <add>1.8</add>
+    <required>false</required>
+    <default>NULL</default>
     <html>
       <type>Select Date</type>
       <formatType>activityDateTime</formatType>
@@ -894,4 +902,20 @@
       <type>CheckBox</type>
     </html>
   </field>
+  <field>
+    <name>event_tz</name>
+    <type>text</type>
+    <uniqueName>event_tz</uniqueName>
+    <title>Event Time Zone</title>
+    <import>true</import>
+    <comment>Event's native time zone</comment>
+    <add>5.47</add>
+    <default>NULL</default>
+    <html>
+      <type>Select</type>
+    </html>
+    <pseudoconstant>
+      <callback>CRM_Core_SelectValues::timezone</callback>
+    </pseudoconstant>
+  </field>
 </table>
diff --git a/civicrm/xml/schema/Grant/files.xml b/civicrm/xml/schema/Grant/files.xml
deleted file mode 100644
index b87a6e51c6459d62739ddae5bdcbd4910c89c7cb..0000000000000000000000000000000000000000
--- a/civicrm/xml/schema/Grant/files.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-
-<tables xmlns:xi="http://www.w3.org/2001/XInclude">
-<xi:include href="Grant.xml"                 parse="xml" />
-</tables>
diff --git a/civicrm/xml/schema/Mailing/Event/Queue.xml b/civicrm/xml/schema/Mailing/Event/Queue.xml
index 6449d51afe45707770151cde17ff90c6c355fd83..491eddaa75eaa66dc72d2ee84bb2143f1575e0d5 100644
--- a/civicrm/xml/schema/Mailing/Event/Queue.xml
+++ b/civicrm/xml/schema/Mailing/Event/Queue.xml
@@ -3,6 +3,7 @@
 <table>
   <base>CRM/Mailing/Event</base>
   <class>Queue</class>
+  <entity>MailingEventQueue</entity>
   <name>civicrm_mailing_event_queue</name>
   <comment>A collection of all intended recipients of a job</comment>
   <archive>true</archive>
diff --git a/civicrm/xml/schema/Queue/Queue.xml b/civicrm/xml/schema/Queue/Queue.xml
new file mode 100644
index 0000000000000000000000000000000000000000..176f70b0e3226d4cdeefa18841a479d391b82be7
--- /dev/null
+++ b/civicrm/xml/schema/Queue/Queue.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="iso-8859-1" ?>
+
+<table>
+  <!--
+    NOTE: To facilitate upgrades, manually copy the CREATE TABLE statement
+    from sql/civicrm.mysql to sql/civicrm_queue_item.mysql
+  -->
+  <base>CRM/Queue</base>
+  <class>Queue</class>
+  <name>civicrm_queue</name>
+  <comment>Stores a list of persistent queues</comment>
+  <add>5.47</add>
+  <field>
+    <name>id</name>
+    <title>System Queue ID</title>
+    <type>int unsigned</type>
+    <required>true</required>
+    <html>
+      <type>Number</type>
+    </html>
+    <add>5.47</add>
+  </field>
+  <primaryKey>
+    <name>id</name>
+    <autoincrement>true</autoincrement>
+  </primaryKey>
+  <field>
+    <name>name</name>
+    <title>Name</title>
+    <type>varchar</type>
+    <length>64</length>
+    <comment>Name of the queue</comment>
+    <required>true</required>
+    <html>
+      <type>Text</type>
+    </html>
+    <add>5.47</add>
+  </field>
+  <index>
+    <name>UI_name</name>
+    <fieldName>name</fieldName>
+    <unique>true</unique>
+    <add>5.47</add>
+  </index>
+  <field>
+    <name>type</name>
+    <title>Type</title>
+    <type>varchar</type>
+    <length>64</length>
+    <comment>Type of the queue</comment>
+    <required>true</required>
+    <html>
+      <type>Text</type>
+    </html>
+    <add>5.47</add>
+    <pseudoconstant>
+      <callback>CRM_Queue_BAO_Queue::getTypes</callback>
+    </pseudoconstant>
+  </field>
+  <field>
+    <name>is_autorun</name>
+    <title>Enable Autorun</title>
+    <type>boolean</type>
+    <comment>Should the standard background attempt to autorun tasks in this queue?</comment>
+    <html>
+      <type>CheckBox</type>
+      <label>Auto Run</label>
+    </html>
+  </field>
+
+</table>
diff --git a/civicrm/xml/schema/Queue/QueueItem.xml b/civicrm/xml/schema/Queue/QueueItem.xml
index 92b35e8cf324f5f32c902092620e11fc4b241079..1419b0ab843fb18fb0b90f102a5aa5b2e4612847 100644
--- a/civicrm/xml/schema/Queue/QueueItem.xml
+++ b/civicrm/xml/schema/Queue/QueueItem.xml
@@ -12,7 +12,7 @@
   <add>4.2</add>
   <field>
     <name>id</name>
-    <title>Queue ID</title>
+    <title>Queue Item ID</title>
     <type>int unsigned</type>
     <required>true</required>
     <html>
@@ -29,6 +29,7 @@
     <type>varchar</type>
     <length>64</length>
     <comment>Name of the queue which includes this item</comment>
+    <!-- This SHOULD match `civicrm_queue.name`; however, historically, it has been required to create records in `civicrm_queue`. -->
     <required>true</required>
     <html>
       <type>Text</type>
diff --git a/civicrm/xml/schema/Queue/files.xml b/civicrm/xml/schema/Queue/files.xml
index 50b023f899aff268aebf97a85f3e9c5c971ccbdd..940e6b275d511e740a6c1cf1371f2925d1739313 100644
--- a/civicrm/xml/schema/Queue/files.xml
+++ b/civicrm/xml/schema/Queue/files.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="iso-8859-1" ?>
 
 <tables xmlns:xi="http://www.w3.org/2001/XInclude">
+<xi:include href="Queue.xml"                     parse="xml" />
 <xi:include href="QueueItem.xml"                 parse="xml" />
 </tables>
diff --git a/civicrm/xml/schema/Schema.xml b/civicrm/xml/schema/Schema.xml
index b7843f4009263e39af83a6a4e4569eea23f16c12..d2de20ac9f830c2b6d3ab1ecc3c0aeb8658471e0 100644
--- a/civicrm/xml/schema/Schema.xml
+++ b/civicrm/xml/schema/Schema.xml
@@ -23,7 +23,6 @@
 <xi:include href="Event/Cart/files.xml"        parse="xml" />
 <xi:include href="Dedupe/files.xml"            parse="xml" />
 <xi:include href="Case/files.xml"              parse="xml" />
-<xi:include href="Grant/files.xml"             parse="xml" />
 <xi:include href="Friend/files.xml"            parse="xml" />
 <xi:include href="Pledge/files.xml"            parse="xml" />
 <xi:include href="Queue/files.xml"            parse="xml" />
diff --git a/civicrm/xml/templates/civicrm_data.tpl b/civicrm/xml/templates/civicrm_data.tpl
index b46a6d1d289023a5175849dd0f4f1ed34174688b..12349708e60b9cca1942adb73bd3d75ba1613e67 100644
--- a/civicrm/xml/templates/civicrm_data.tpl
+++ b/civicrm/xml/templates/civicrm_data.tpl
@@ -26,6 +26,11 @@ INSERT INTO civicrm_component (name, namespace) VALUES ('CiviCase'      , 'CRM_C
 INSERT INTO civicrm_component (name, namespace) VALUES ('CiviReport'    , 'CRM_Report' );
 INSERT INTO civicrm_component (name, namespace) VALUES ('CiviCampaign'  , 'CRM_Campaign' );
 
+-- CiviGrant has migrated to an extension, but instead of removing the above insert,
+-- go ahead and insert it, then delete. This is because too much legacy code has hard-coded
+-- references to component ID, so it's better to keep the auto-increment values stable.
+DELETE FROM civicrm_component WHERE name = 'CiviGrant';
+
 -- Create organization contact
 INSERT INTO civicrm_contact( `contact_type`, `sort_name`, `display_name`, `legal_name`, `organization_name`)
 VALUES ('Organization', @defaultOrganization, @defaultOrganization, @defaultOrganization, @defaultOrganization);
@@ -138,8 +143,6 @@ VALUES
    ('user_dashboard_options'        , '{ts escape="sql"}User Dashboard Options{/ts}'             , NULL, 1, 1, 1),
    ('address_options'               , '{ts escape="sql"}Addressing Options{/ts}'                 , NULL, 1, 1, 0),
    ('group_type'                    , '{ts escape="sql"}Group Type{/ts}'                         , NULL, 1, 1, 0),
-   ('grant_status'                  , '{ts escape="sql"}Grant status{/ts}'                       , NULL, 1, 1, 0),
-   ('grant_type'                    , '{ts escape="sql"}Grant Type{/ts}'                         , NULL, 1, 1, 0),
    ('custom_search'                 , '{ts escape="sql"}Custom Search{/ts}'                      , NULL, 1, 1, 0),
    ('activity_status'               , '{ts escape="sql"}Activity Status{/ts}'                    , 'Integer', 1, 1, 0),
    ('case_type'                     , '{ts escape="sql"}Case Type{/ts}'                          , NULL, 1, 1, 0),
@@ -224,8 +227,6 @@ SELECT @option_group_id_asOpt          := max(id) from civicrm_option_group wher
 SELECT @option_group_id_udOpt          := max(id) from civicrm_option_group where name = 'user_dashboard_options';
 SELECT @option_group_id_adOpt          := max(id) from civicrm_option_group where name = 'address_options';
 SELECT @option_group_id_gType          := max(id) from civicrm_option_group where name = 'group_type';
-SELECT @option_group_id_grantSt        := max(id) from civicrm_option_group where name = 'grant_status';
-SELECT @option_group_id_grantTyp       := max(id) from civicrm_option_group where name = 'grant_type';
 SELECT @option_group_id_csearch        := max(id) from civicrm_option_group where name = 'custom_search';
 SELECT @option_group_id_acs            := max(id) from civicrm_option_group where name = 'activity_status';
 SELECT @option_group_id_ct             := max(id) from civicrm_option_group where name = 'case_type';
@@ -292,7 +293,6 @@ SELECT @eventCompId      := max(id) FROM civicrm_component where name = 'CiviEve
 SELECT @memberCompId     := max(id) FROM civicrm_component where name = 'CiviMember';
 SELECT @pledgeCompId     := max(id) FROM civicrm_component where name = 'CiviPledge';
 SELECT @caseCompId       := max(id) FROM civicrm_component where name = 'CiviCase';
-SELECT @grantCompId      := max(id) FROM civicrm_component where name = 'CiviGrant';
 SELECT @campaignCompId   := max(id) FROM civicrm_component where name = 'CiviCampaign';
 SELECT @mailCompId       := max(id) FROM civicrm_component where name = 'CiviMail';
 
@@ -470,7 +470,6 @@ VALUES
   (@option_group_id_cvOpt, '{ts escape="sql"}Memberships{/ts}'  ,   8, 'CiviMember', NULL, 0, NULL,  8,  NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_cvOpt, '{ts escape="sql"}Events{/ts}'       ,   9, 'CiviEvent', NULL, 0, NULL,  9,  NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_cvOpt, '{ts escape="sql"}Cases{/ts}'        ,  10, 'CiviCase', NULL, 0, NULL,  10, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_cvOpt, '{ts escape="sql"}Grants{/ts}'       ,  11, 'CiviGrant', NULL, 0, NULL,  11, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_cvOpt, '{ts escape="sql"}Pledges{/ts}'      ,  13, 'CiviPledge', NULL, 0, NULL,  13, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_cvOpt, '{ts escape="sql"}Mailings{/ts}'     ,  14, 'CiviMail', NULL, 0, NULL,  14, NULL, 0, 0, 1, NULL, NULL, NULL),
 
@@ -507,7 +506,6 @@ VALUES
   (@option_group_id_asOpt, '{ts escape="sql"}Memberships{/ts}'             ,   8, 'CiviMember', NULL, 0, NULL,  9, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, '{ts escape="sql"}Events{/ts}'                  ,   9, 'CiviEvent', NULL, 0, NULL, 10, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, '{ts escape="sql"}Cases{/ts}'                   ,  10, 'CiviCase', NULL, 0, NULL, 11, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_asOpt, 'Grants'                                        ,  12, 'CiviGrant', NULL, 0, NULL, 14, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, '{ts escape="sql"}Demographics{/ts}'            ,  13, 'demographics', NULL, 0, NULL, 15, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, '{ts escape="sql"}Pledges{/ts}'                 ,  15, 'CiviPledge', NULL, 0, NULL, 17, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, '{ts escape="sql"}Contact Type{/ts}'            ,  16, 'contactType', NULL, 0, NULL, 18, NULL, 0, 0, 1, NULL, NULL, NULL),
@@ -559,14 +557,6 @@ VALUES
   (@option_group_id_gType, '{ts escape="sql"}Access Control{/ts}', 1, 'Access Control', NULL, 0, NULL, 1, NULL, 0, 1, 1, NULL, NULL, NULL),
   (@option_group_id_gType, '{ts escape="sql"}Mailing List{/ts}',   2, 'Mailing List',   NULL, 0, NULL, 2, NULL, 0, 1, 1, NULL, NULL, NULL),
 
-  (@option_group_id_grantSt, '{ts escape="sql"}Submitted{/ts}', 1, 'Submitted',  NULL, 0, 1,    1, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, '{ts escape="sql"}Eligible{/ts}', 2, 'Eligible',  NULL, 0, NULL, 2, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, '{ts escape="sql"}Ineligible{/ts}', 3, 'Ineligible', NULL, 0, NULL, 3, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, '{ts escape="sql"}Paid{/ts}', 4, 'Paid', NULL, 0, NULL, 4, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, '{ts escape="sql"}Awaiting Information{/ts}', 5, 'Awaiting Information', NULL, 0, NULL, 5, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, '{ts escape="sql"}Withdrawn{/ts}', 6, 'Withdrawn', NULL, 0, NULL, 6, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, '{ts escape="sql"}Approved for Payment{/ts}',  7, 'Approved for Payment', NULL, 0, NULL, 7, NULL, 0, 0, 1, NULL, NULL, NULL),
-
   (@option_group_id_csearch , 'CRM_Contact_Form_Search_Custom_Sample'               , 1, 'CRM_Contact_Form_Search_Custom_Sample'      , NULL, 0, NULL, 1, '{ts escape="sql"}Household Name and State{/ts}', 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_csearch , 'CRM_Contact_Form_Search_Custom_ContributionAggregate', 2, 'CRM_Contact_Form_Search_Custom_ContributionAggregate', NULL, 0, NULL, 2, '{ts escape="sql"}Contribution Aggregate{/ts}', 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_csearch , 'CRM_Contact_Form_Search_Custom_Group'                , 4, 'CRM_Contact_Form_Search_Custom_Group'       , NULL, 0, NULL, 4, '{ts escape="sql"}Include / Exclude Search{/ts}', 0, 0, 1, NULL, NULL, NULL),
@@ -612,7 +602,6 @@ VALUES
   (@option_group_id_report , '{ts escape="sql"}Database Log Report{/ts}',                     'contact/log',                    'CRM_Report_Form_Contact_Log',                    NULL, 0, NULL, 27, '{ts escape="sql"}Log of contact and activity records created or updated in a given date range.{/ts}', 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_report , '{ts escape="sql"}Activity Summary Report{/ts}',                 'activitySummary',                'CRM_Report_Form_ActivitySummary',                NULL, 0, NULL, 28, '{ts escape="sql"}Shows activity statistics by type / date{/ts}', 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_report, '{ts escape="sql"}Bookkeeping Transactions Report{/ts}',          'contribute/bookkeeping',         'CRM_Report_Form_Contribute_Bookkeeping',         NULL, 0, 0, 29,    '{ts escape="sql"}Shows Bookkeeping Transactions Report{/ts}', 0, 0, 1, 2, NULL, NULL),
-  (@option_group_id_report , {localize}'{ts escape="sql"}Grant Report (Detail){/ts}'{/localize}, 'grant/detail', 'CRM_Report_Form_Grant_Detail', NULL, 0, 0, 30, {localize}'{ts escape="sql"}Grant Report Detail{/ts}'{/localize}, 0, 0, 1, @grantCompId, NULL, NULL),
   (@option_group_id_report, {localize}'{ts escape="sql"}Participant list Count Report{/ts}'{/localize}, 'event/participantlist', 'CRM_Report_Form_Event_ParticipantListCount', NULL, 0, 0, 31, {localize}'{ts escape="sql"}Shows the Participant list with Participant Count.{/ts}'{/localize}, 0, 0, 1, @eventCompId, NULL, NULL),
   (@option_group_id_report, {localize}'{ts escape="sql"}Income Count Summary Report{/ts}'{/localize}, 'event/incomesummary', 'CRM_Report_Form_Event_IncomeCountSummary', NULL, 0, 0, 32, {localize}'{ts escape="sql"}Shows the Income Summary of events with Count.{/ts}'{/localize}, 0, 0, 1, @eventCompId, NULL, NULL),
   (@option_group_id_report, {localize}'{ts escape="sql"}Case Detail Report{/ts}'{/localize}, 'case/detail', 'CRM_Report_Form_Case_Detail', NULL, 0, 0, 33, {localize}'{ts escape="sql"}Case Details{/ts}'{/localize}, 0, 0, 1, @caseCompId, NULL, NULL),
@@ -622,7 +611,6 @@ VALUES
   (@option_group_id_report, {localize}'{ts escape="sql"}Mail Click-Through Report{/ts}'{/localize}, 'Mailing/clicks', 'CRM_Report_Form_Mailing_Clicks', NULL, 0, NULL, 37, {localize}'{ts escape="sql"}Display clicks from each mailing{/ts}'{/localize}, 0, 0, 1, @mailCompId, NULL, NULL),
   (@option_group_id_report, {localize}'{ts escape="sql"}Contact Logging Report (Summary){/ts}'{/localize}, 'logging/contact/summary', 'CRM_Report_Form_Contact_LoggingSummary', NULL, 0, NULL, 38, {localize}'{ts escape="sql"}Contact modification report for the logging infrastructure (summary).{/ts}'{/localize}, 0, 0, 0, NULL, NULL, NULL),
   (@option_group_id_report, {localize}'{ts escape="sql"}Contact Logging Report (Detail){/ts}'{/localize}, 'logging/contact/detail', 'CRM_Report_Form_Contact_LoggingDetail', NULL, 0, NULL, 39, {localize}'{ts escape="sql"}Contact modification report for the logging infrastructure (detail).{/ts}'{/localize}, 0, 0, 0, NULL, NULL, NULL),
-  (@option_group_id_report, {localize}'{ts escape="sql"}Grant Report (Statistics){/ts}'{/localize}, 'grant/statistics', 'CRM_Report_Form_Grant_Statistics', NULL, 0, NULL, 42, {localize}'{ts escape="sql"}Shows statistics for Grants.{/ts}'{/localize}, 0, 0, 1, @grantCompId, NULL, NULL),
   (@option_group_id_report, {localize}'{ts escape="sql"}Survey Report (Detail){/ts}'{/localize},    'survey/detail', 'CRM_Report_Form_Campaign_SurveyDetails',  NULL, 0, NULL, 43, {localize}'{ts escape="sql"}Detailed report for canvassing, phone-banking, walk lists or other surveys.{/ts}'{/localize}, 0, 0, 1, @campaignCompId, NULL, NULL),
   (@option_group_id_report, {localize}'{ts escape="sql"}Personal Campaign Page Report{/ts}'{/localize}, 'contribute/pcp', 'CRM_Report_Form_Contribute_PCP', NULL, 0, NULL, 44, {localize}'{ts escape="sql"}Summarizes amount raised and number of contributors for each Personal Campaign Page.{/ts}'{/localize}, 0, 0, 1, @contributeCompId, NULL, NULL),
   (@option_group_id_report , {localize}'{ts escape="sql"}Pledge Summary Report{/ts}'{/localize}, 'pledge/summary', 'CRM_Report_Form_Pledge_Summary', NULL, 0, NULL, 45, {localize}'{ts escape="sql"}Groups and totals pledges by criteria including contact, time period, pledge status, location, etc.{/ts}'{/localize}, 0, 0, 1, @pledgeCompId, NULL, NULL),
@@ -682,7 +670,6 @@ VALUES
   (@option_group_id_mt, '{ts escape="sql"}Export Participant{/ts}', 10, 'Export Participant',  NULL, 0, 0,   10, NULL, 0, 1, 1, NULL, NULL, NULL),
   (@option_group_id_mt, '{ts escape="sql"}Export Pledge{/ts}',      11, 'Export Pledge',       NULL, 0, 0,   11, NULL, 0, 1, 1, NULL, NULL, NULL),
   (@option_group_id_mt, '{ts escape="sql"}Export Case{/ts}',        12, 'Export Case',         NULL, 0, 0,   12, NULL, 0, 1, 1, NULL, NULL, NULL),
-  (@option_group_id_mt, '{ts escape="sql"}Export Grant{/ts}',       13, 'Export Grant',        NULL, 0, 0,   13, NULL, 0, 1, 1, NULL, NULL, NULL),
   (@option_group_id_mt, '{ts escape="sql"}Export Activity{/ts}',    14, 'Export Activity',     NULL, 0, 0,   14, NULL, 0, 1, 1, NULL, NULL, NULL),
 
   (@option_group_id_fu, '{ts escape="sql"}day{/ts}'    , 'day'  ,    'day',  NULL, 0, NULL, 1, NULL, 0, 1, 1, NULL, NULL, NULL),
@@ -1103,12 +1090,6 @@ VALUES
 -- from email address.
   (@option_group_id_fma, '"FIXME" <info@EXAMPLE.ORG>', '1', '"FIXME" <info@EXAMPLE.ORG>', NULL, 0, 1, 1, '{ts escape="sql"}Default domain email address and from name.{/ts}', 0, 0, 1, NULL, @domainID, NULL ),
 
--- grant types
-  (@option_group_id_grantTyp, '{ts escape="sql"}Emergency{/ts}'          , 1, 'Emergency'         , NULL, 0, 1,    1, NULL, 0, 0, 1, NULL, @domainID, NULL),
-  (@option_group_id_grantTyp, '{ts escape="sql"}Family Support{/ts}'     , 2, 'Family Support'    , NULL, 0, NULL, 2, NULL, 0, 0, 1, NULL, @domainID, NULL),
-  (@option_group_id_grantTyp, '{ts escape="sql"}General Protection{/ts}' , 3, 'General Protection', NULL, 0, NULL, 3, NULL, 0, 0, 1, NULL, @domainID, NULL),
-  (@option_group_id_grantTyp, '{ts escape="sql"}Impunity{/ts}'           , 4, 'Impunity'          , NULL, 0, NULL, 4, NULL, 0, 0, 1, NULL, @domainID, NULL),
-
 -- Mail Approval Status Preferences
   (@option_group_id_mail_approval_status, '{ts escape="sql"}Approved{/ts}' , 1, 'Approved', NULL, 0, 1, 1, NULL, 0, 1, 1, @mailCompId, @domainID, NULL),
   (@option_group_id_mail_approval_status, '{ts escape="sql"}Rejected{/ts}' , 2, 'Rejected', NULL, 0, 0, 2, NULL, 0, 1, 1, @mailCompId, @domainID, NULL),
diff --git a/civicrm/xml/templates/civicrm_navigation.tpl b/civicrm/xml/templates/civicrm_navigation.tpl
index b6098f865c33d2c0bea4e797bf0c7fd9a0f2594e..4a72cc125f8f0da02152fc2afa1575cf44a875bc 100644
--- a/civicrm/xml/templates/civicrm_navigation.tpl
+++ b/civicrm/xml/templates/civicrm_navigation.tpl
@@ -249,20 +249,6 @@ VALUES
     ( @domainID, 'civicrm/case/search?reset=1', '{ts escape="sql" skip="true"}Find Cases{/ts}', 'Find Cases', 'access my cases and activities,access all cases and activities', 'OR',     @caselastID, '1', 1, 3 ),
     ( @domainID, 'civicrm/report/list?compid=7&reset=1', '{ts escape="sql" skip="true"}Case Reports{/ts}', 'Case Reports', 'access my cases and activities,access all cases and activities,administer CiviCase', 'OR', @caselastID, '1', 0,    4 );
 
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight, icon )
-VALUES
-    ( @domainID, NULL, '{ts escape="sql" skip="true"}Grants{/ts}', 'Grants', 'access CiviGrant', '', NULL, '1', NULL, 90, 'crm-i fa-money' );
-
-SET @grantlastID:=LAST_INSERT_ID();
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
-VALUES
-    ( @domainID, 'civicrm/grant?reset=1',           '{ts escape="sql" skip="true"}Dashboard{/ts}', 'Dashboard', 'access CiviGrant', '',       @grantlastID, '1', NULL, 1 ),
-    ( @domainID, 'civicrm/grant/add?reset=1&action=add&context=standalone', '{ts escape="sql" skip="true"}New Grant{/ts}', 'New Grant', 'access CiviGrant,edit grants', 'AND', @grantlastID, '1', NULL, 2 ),
-    ( @domainID, 'civicrm/grant/search?reset=1',    '{ts escape="sql" skip="true"}Find Grants{/ts}', 'Find Grants', 'access CiviGrant', '',   @grantlastID, '1', 1, 3 ),
-    ( @domainID, 'civicrm/report/list?compid=5&reset=1', '{ts escape="sql" skip="true"}Grant Reports{/ts}', 'Grant Reports', 'access CiviGrant', '', @grantlastID, '1', 0,    4 );
-
 INSERT INTO civicrm_navigation
     ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight, icon )
 VALUES
@@ -475,18 +461,6 @@ VALUES
     ( @domainID, 'civicrm/admin/paymentProcessor?reset=1',                  '{ts escape="sql" skip="true"}Payment Processors{/ts}', 'Payment Processors',              'administer CiviCRM', '',                     @adminEventlastID, '1', NULL, 12),
     ( @domainID, 'civicrm/admin/setting/preferences/event?reset=1',         '{ts escape="sql" skip="true"}CiviEvent Component Settings{/ts}', 'CiviEvent Component Settings','access CiviEvent,administer CiviCRM', 'AND', @adminEventlastID, '1', NULL, 13 );
 
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
-VALUES
-    ( @domainID, NULL, '{ts escape="sql" skip="true"}CiviGrant{/ts}', 'CiviGrant', 'access CiviGrant,administer CiviCRM', 'AND', @adminlastID, '1', NULL, 13 );
-
-SET @adminGrantlastID:=LAST_INSERT_ID();
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
-VALUES
-    ( @domainID, 'civicrm/admin/options/grant_type?reset=1', '{ts escape="sql" skip="true"}Grant Types{/ts}', 'Grant Types', 'access CiviGrant,administer CiviCRM', 'AND', @adminGrantlastID, '1', NULL, 1 ),
-    ( @domainID, 'civicrm/admin/options/grant_status?reset=1', '{ts escape="sql" skip="true"}Grant Status{/ts}', 'Grant Status', 'access CiviGrant,administer CiviCRM', 'AND', @adminGrantlastID, '1', NULL, 2 );
-
 INSERT INTO civicrm_navigation
     ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
 VALUES
diff --git a/civicrm/xml/templates/dao.tpl b/civicrm/xml/templates/dao.tpl
index 06c0164e8977da01c43030210cc4d59b9fde0467..7234a22dd6ef4cb91c0066245db9270bd7d31f01 100644
--- a/civicrm/xml/templates/dao.tpl
+++ b/civicrm/xml/templates/dao.tpl
@@ -72,7 +72,11 @@ class {$table.className} extends CRM_Core_DAO {ldelim}
      * {$field.comment|regex_replace:"/\n[ ]*/":"\n* "}
      *
 {/if}
-     * @var {$field.phpType}
+     * @var {$field.phpType}{if $field.phpNullable}|null
+{/if}
+
+     *   (SQL type: {$field.sqlType})
+     *   Note that values will be retrieved from the database as a string.
      */
     public ${$field.name};
 
diff --git a/civicrm/xml/templates/listAll.tpl b/civicrm/xml/templates/listAll.tpl
index 33fa586a0ebfb607ce821dc9a82f7b565fe6a6ea..182f53f121a54bd4355d8cb82942407bdc0abf7e 100644
--- a/civicrm/xml/templates/listAll.tpl
+++ b/civicrm/xml/templates/listAll.tpl
@@ -4,7 +4,7 @@
 return [
 {foreach from=$tables key=tableName item=table}
   '{$table.className}' => [
-    'name' => '{$table.objectName}',
+    'name' => '{$table.entity}',
     'class' => '{$table.className}',
     'table' => '{$tableName}',
   ],
diff --git a/civicrm/xml/templates/message_templates/case_activity_html.tpl b/civicrm/xml/templates/message_templates/case_activity_html.tpl
index 00c667f7b701c925710a1b250d10e6dbca09643f..6c4e30ee98a7ed192a0dbc6132f22bfb33a8055b 100644
--- a/civicrm/xml/templates/message_templates/case_activity_html.tpl
+++ b/civicrm/xml/templates/message_templates/case_activity_html.tpl
@@ -60,7 +60,7 @@
             {foreach from=$activity.fields item=field}
               <tr>
                 <td {$labelStyle}>
-                  {$field.label}{if !empty($field.category)}({$field.category}){/if}
+                  {$field.label}
                 </td>
                 <td {$valueStyle}>
                   {if $field.type eq 'Date'}
diff --git a/civicrm/xml/templates/message_templates/case_activity_text.tpl b/civicrm/xml/templates/message_templates/case_activity_text.tpl
index 430d061f360e12244b9de382cd85ec8acbf603c6..685848c830bb6703b8aa398c571ab92e40ef9c3a 100644
--- a/civicrm/xml/templates/message_templates/case_activity_text.tpl
+++ b/civicrm/xml/templates/message_templates/case_activity_text.tpl
@@ -17,9 +17,9 @@
 
 {foreach from=$activity.fields item=field}
 {if $field.type eq 'Date'}
-{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value|crmDate:$config->dateformatDatetime}
+{$field.label} : {$field.value|crmDate:$config->dateformatDatetime}
 {else}
-{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value}
+{$field.label} : {$field.value}
 {/if}
 {/foreach}
 
diff --git a/civicrm/xml/templates/message_templates/contribution_invoice_receipt_html.tpl b/civicrm/xml/templates/message_templates/contribution_invoice_receipt_html.tpl
index 712a447a032669fb532c8e5ac453c6cedb8576eb..d0a6d7f03d3fc915966746ba3f63737a721a4cab 100644
--- a/civicrm/xml/templates/message_templates/contribution_invoice_receipt_html.tpl
+++ b/civicrm/xml/templates/message_templates/contribution_invoice_receipt_html.tpl
@@ -97,7 +97,7 @@
                   <td style="text-align:right;"><font size="1">{$value.qty}</font></td>
                   <td style="text-align:right;"><font size="1">{$value.unit_price|crmMoney:$currency}</font></td>
                   {if $value.tax_amount != ''}
-                    <td style="text-align:right;"><font size="1">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>
+                    <td style="text-align:right;"><font size="1">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>
                   {else}
                     <td style="text-align:right;"><font size="1">{if $taxTerm}{ts 1=$taxTerm}-{/ts}{/if}</font></td>
                   {/if}
@@ -327,7 +327,7 @@
                   <td style="padding-left:28px;text-align:right;"><font size="1">{$value.qty}</font></td>
                   <td style="padding-left:28px;text-align:right;"><font size="1">{$value.unit_price|crmMoney:$currency}</font></td>
                   {if $value.tax_amount != ''}
-                    <td style="padding-left:28px;text-align:right;"><font size="1">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>
+                    <td style="padding-left:28px;text-align:right;"><font size="1">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>
                   {else}
                     <td style="padding-left:28px;text-align:right"><font size="1">{if $taxTerm}{ts 1=$taxTerm}No %1{/ts}{/if}</font></td>
                   {/if}
diff --git a/civicrm/xml/templates/message_templates/contribution_offline_receipt_html.tpl b/civicrm/xml/templates/message_templates/contribution_offline_receipt_html.tpl
index 331e115591ebbf49d49f1e99e4bb259cbb78769d..c95b996aca1b955511c74979cbc1c2b3365f1c9e 100644
--- a/civicrm/xml/templates/message_templates/contribution_offline_receipt_html.tpl
+++ b/civicrm/xml/templates/message_templates/contribution_offline_receipt_html.tpl
@@ -45,12 +45,12 @@
       </td>
      </tr>
      <tr>
-      {if !empty($formValues.contributionType_name)}
+      {if '{contribution.financial_type_id}'}
         <td {$labelStyle}>
          {ts}Financial Type{/ts}
         </td>
         <td {$valueStyle}>
-         {$formValues.contributionType_name}
+         {contribution.financial_type_id:label}
         </td>
       {/if}
      </tr>
@@ -86,7 +86,7 @@
               <td>
                 {$line.unit_price*$line.qty|crmMoney:$currency}
               </td>
-              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+              {if $line.tax_rate || $line.tax_amount != ""}
                 <td>
                   {$line.tax_rate|string_format:"%.2f"}%
                 </td>
@@ -131,13 +131,13 @@
       {/foreach}
      {/if}
 
-     {if isset($totalTaxAmount) && $totalTaxAmount !== 'null'}
+     {if $isShowTax}
       <tr>
         <td {$labelStyle}>
           {ts}Total Tax Amount{/ts}
         </td>
         <td {$valueStyle}>
-          {$totalTaxAmount|crmMoney:$currency}
+          {contribution.tax_amount}
         </td>
       </tr>
      {/if}
@@ -147,60 +147,60 @@
        {ts}Total Amount{/ts}
       </td>
       <td {$valueStyle}>
-       {$formValues.total_amount|crmMoney:$currency}
+        {contribution.total_amount}
       </td>
      </tr>
 
-     {if !empty($receive_date)}
-      <tr>
+     {if '{contribution.receive_date}'}
+       <tr>
        <td {$labelStyle}>
         {ts}Date Received{/ts}
        </td>
        <td {$valueStyle}>
-        {$receive_date|truncate:10:''|crmDate}
+         {contribution.receive_date}
        </td>
       </tr>
      {/if}
 
-      {if !empty($receipt_date)}
+      {if '{contribution.receipt_date}'}
       <tr>
        <td {$labelStyle}>
         {ts}Receipt Date{/ts}
        </td>
        <td {$valueStyle}>
-        {$receipt_date|truncate:10:''|crmDate}
+         {contribution.receipt_date}
        </td>
       </tr>
      {/if}
 
-     {if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}
+     {if '{contribution.payment_instrument_id}' and empty($formValues.hidden_CreditCard)}
       <tr>
        <td {$labelStyle}>
         {ts}Paid By{/ts}
        </td>
        <td {$valueStyle}>
-        {$formValues.paidBy}
+         {contribution.payment_instrument_id:label}
        </td>
       </tr>
-      {if !empty($formValues.check_number)}
+      {if '{contribution.check_number}'}
        <tr>
         <td {$labelStyle}>
          {ts}Check Number{/ts}
         </td>
         <td {$valueStyle}>
-         {$formValues.check_number}
+          {contribution.check_number}
         </td>
        </tr>
       {/if}
      {/if}
 
-     {if !empty($formValues.trxn_id)}
+     {if '{contribution.trxn_id}'}
       <tr>
        <td {$labelStyle}>
         {ts}Transaction ID{/ts}
        </td>
        <td {$valueStyle}>
-        {$formValues.trxn_id}
+         {contribution.trxn_id}
        </td>
       </tr>
      {/if}
diff --git a/civicrm/xml/templates/message_templates/contribution_offline_receipt_text.tpl b/civicrm/xml/templates/message_templates/contribution_offline_receipt_text.tpl
index 75091e234d9598c37a4e095b26fc7f960b647f66..f895c06ccbede244f8dc962132f8286ab515742b 100644
--- a/civicrm/xml/templates/message_templates/contribution_offline_receipt_text.tpl
+++ b/civicrm/xml/templates/message_templates/contribution_offline_receipt_text.tpl
@@ -9,8 +9,8 @@
 
 ===========================================================
 {ts}Contributor{/ts}: {contact.display_name}
-{if !empty($formValues.contributionType_name)}
-{ts}Financial Type{/ts}: {$formValues.contributionType_name}
+{if '{contribution.financial_type_id}'}
+{ts}Financial Type{/ts}: {contribution.financial_type_id:label}
 {/if}
 {if $lineItem}
 {foreach from=$lineItem item=value key=priceset}
@@ -27,7 +27,7 @@
 {$ts_item|string_format:"%-30s"} {$ts_qty|string_format:"%5s"} {$ts_each|string_format:"%10s"} {if !empty($getTaxDetails)} {$ts_subtotal|string_format:"%10s"} {$ts_taxRate} {$ts_taxAmount|string_format:"%10s"} {/if} {$ts_total|string_format:"%10s"}
 ----------------------------------------------------------
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")} {$line.tax_rate|string_format:"%.2f"} %   {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
+{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""} {$line.tax_rate|string_format:"%.2f"} %   {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
 {/foreach}
 {/foreach}
 {/if}
@@ -44,24 +44,24 @@
 {/foreach}
 {/if}
 
-{if isset($totalTaxAmount) && $totalTaxAmount !== 'null'}
-{ts}Total Tax Amount{/ts} : {$totalTaxAmount|crmMoney:$currency}
+{if $isShowTax}
+{ts}Total Tax Amount{/ts} : {contribution.tax_amount}
 {/if}
-{ts}Total Amount{/ts} : {$formValues.total_amount|crmMoney:$currency}
-{if !empty($receive_date)}
-{ts}Date Received{/ts}: {$receive_date|truncate:10:''|crmDate}
+{ts}Total Amount{/ts} : {contribution.total_amount}
+{if '{contribution.receive_date}'}
+{ts}Date Received{/ts}: {contribution.receive_date}
 {/if}
-{if !empty($receipt_date)}
-{ts}Receipt Date{/ts}: {$receipt_date|truncate:10:''|crmDate}
+{if '{contribution.receipt_date}'}
+{ts}Receipt Date{/ts}: {contribution.receipt_date}
 {/if}
-{if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}
-{ts}Paid By{/ts}: {$formValues.paidBy}
-{if !empty($formValues.check_number)}
-{ts}Check Number{/ts}: {$formValues.check_number}
+{if '{contribution.payment_instrument_id}' and empty($formValues.hidden_CreditCard)}
+{ts}Paid By{/ts}: {contribution.payment_instrument_id:label}
+{if '{contribution.check_number}'}
+{ts}Check Number{/ts}: {contribution.check_number}
 {/if}
 {/if}
-{if !empty($formValues.trxn_id)}
-{ts}Transaction ID{/ts}: {$formValues.trxn_id}
+{if '{contribution.trxn_id}'}
+{ts}Transaction ID{/ts}: {contribution.trxn_id}
 {/if}
 
 {if !empty($ccContribution)}
diff --git a/civicrm/xml/templates/message_templates/contribution_online_receipt_html.tpl b/civicrm/xml/templates/message_templates/contribution_online_receipt_html.tpl
index a05185bd7cdc0037e7dc213ef70ba03a06dcc1a6..8d0a16a39e8e40da6c93ecf4edd7792a243403cf 100644
--- a/civicrm/xml/templates/message_templates/contribution_online_receipt_html.tpl
+++ b/civicrm/xml/templates/message_templates/contribution_online_receipt_html.tpl
@@ -43,7 +43,7 @@
        </th>
       </tr>
 
-      {if !empty($lineItem) and !empty($priceSetID) and empty($is_quick_config)}
+      {if $isShowLineItems}
 
        {foreach from=$lineItem item=value key=priceset}
         <tr>
@@ -75,7 +75,7 @@
               <td>
                {$line.unit_price*$line.qty|crmMoney:$currency}
               </td>
-              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+              {if $line.tax_rate || $line.tax_amount != ""}
                <td>
                 {$line.tax_rate|string_format:"%.2f"}%
                </td>
@@ -119,7 +119,7 @@
         {/foreach}
 
        {/if}
-       {if isset($totalTaxAmount)}
+       {if $isShowTax}
         <tr>
          <td {$labelStyle}>
           {ts}Total Tax{/ts}
@@ -146,7 +146,7 @@
              {ts}Total Tax Amount{/ts}
            </td>
            <td {$valueStyle}>
-             {$totalTaxAmount|crmMoney:$currency}
+             {contribution.tax_amount|crmMoney}
            </td>
          </tr>
        {/if}
@@ -155,7 +155,7 @@
          {ts}Amount{/ts}
         </td>
         <td {$valueStyle}>
-         {$amount|crmMoney:$currency} {if isset($amount_level)} - {$amount_level}{/if}
+         {$amount|crmMoney:$currency} {if '{contribution.amount_level}'} - {contribution.amount_level}{/if}
         </td>
        </tr>
 
diff --git a/civicrm/xml/templates/message_templates/contribution_online_receipt_text.tpl b/civicrm/xml/templates/message_templates/contribution_online_receipt_text.tpl
index 5782ea423e151d110a6195dbde3b12dbbbd8dcc5..c2122c045faedea1334dc84b7c73d9dc9bac9167 100644
--- a/civicrm/xml/templates/message_templates/contribution_online_receipt_text.tpl
+++ b/civicrm/xml/templates/message_templates/contribution_online_receipt_text.tpl
@@ -14,7 +14,7 @@
 {ts}Contribution Information{/ts}
 
 ===========================================================
-{if $lineItem and $priceSetID and empty($is_quick_config)}
+{if $isShowLineItems}
 {foreach from=$lineItem item=value key=priceset}
 ---------------------------------------------------------
 {capture assign=ts_item}{ts}Item{/ts}{/capture}
@@ -29,7 +29,7 @@
 {$ts_item|string_format:"%-30s"} {$ts_qty|string_format:"%5s"} {$ts_each|string_format:"%10s"} {if !empty($dataArray)} {$ts_subtotal|string_format:"%10s"} {$ts_taxRate} {$ts_taxAmount|string_format:"%10s"} {/if} {$ts_total|string_format:"%10s"}
 ----------------------------------------------------------
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
+{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
 {/foreach}
 {/foreach}
 
@@ -45,13 +45,13 @@
 {/foreach}
 {/if}
 
-{if isset($totalTaxAmount)}
-{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}
+{if $isShowTax}
+{ts}Total Tax Amount{/ts}: {contribution.tax_amount|crmMoney}
 {/if}
 
 {ts}Total Amount{/ts}: {$amount|crmMoney:$currency}
 {else}
-{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if isset($amount_level) } - {$amount_level} {/if}
+{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if '{contribution.amount_level}'} - {contribution.amount_level}{/if}
 {/if}
 {/if}
 {if !empty($receive_date)}
diff --git a/civicrm/xml/templates/message_templates/event_offline_receipt_html.tpl b/civicrm/xml/templates/message_templates/event_offline_receipt_html.tpl
index 5068249e8090fcee5a482e81348edb1a1bab5a97..2554ff679842967ebbd435d86016ec6f0fcc335b 100644
--- a/civicrm/xml/templates/message_templates/event_offline_receipt_html.tpl
+++ b/civicrm/xml/templates/message_templates/event_offline_receipt_html.tpl
@@ -53,7 +53,7 @@
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
 
@@ -185,7 +185,7 @@
                <td>
                 {$line.unit_price*$line.qty|crmMoney}
                </td>
-               {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+               {if $line.tax_rate || $line.tax_amount != ""}
                 <td>
                  {$line.tax_rate|string_format:"%.2f"}%
                 </td>
diff --git a/civicrm/xml/templates/message_templates/event_offline_receipt_text.tpl b/civicrm/xml/templates/message_templates/event_offline_receipt_text.tpl
index 4b7e95e9f873e1a7a260fe11edcaccaef3b7b21b..81ce8dca5aca6a8acab87d1e7389d122044f38d6 100644
--- a/civicrm/xml/templates/message_templates/event_offline_receipt_text.tpl
+++ b/civicrm/xml/templates/message_templates/event_offline_receipt_text.tpl
@@ -42,7 +42,7 @@
 ==========================================================={if !empty($pricesetFieldsCount) }===================={/if}
 
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {if !empty($event.participant_role) and $event.participant_role neq 'Attendee' and empty($defaultRole)}
 {ts}Participant Role{/ts}: {$event.participant_role}
@@ -113,7 +113,7 @@
 
 {foreach from=$value item=line}
 {if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}
-{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
+{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
 {/foreach}
 {/if}
 {/foreach}
diff --git a/civicrm/xml/templates/message_templates/event_online_receipt_html.tpl b/civicrm/xml/templates/message_templates/event_online_receipt_html.tpl
index 6787823789a79a3d572bbed59c67d8add2bcb331..1b416a8072fecbf1ab2d679aa2f4a68fae3af320 100644
--- a/civicrm/xml/templates/message_templates/event_online_receipt_html.tpl
+++ b/civicrm/xml/templates/message_templates/event_online_receipt_html.tpl
@@ -64,7 +64,7 @@
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
 
@@ -224,7 +224,7 @@
                <td {$tdStyle}>
                 {$line.unit_price*$line.qty|crmMoney}
                </td>
-               {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+               {if $line.tax_rate || $line.tax_amount != ""}
                 <td {$tdStyle}>
                  {$line.tax_rate|string_format:"%.2f"}%
                 </td>
diff --git a/civicrm/xml/templates/message_templates/event_online_receipt_text.tpl b/civicrm/xml/templates/message_templates/event_online_receipt_text.tpl
index 50512cdfa2de9d005b0cfe585b826fe48ef79ec3..affb31472b2fbd51361f023111c8857b208fbeeb 100644
--- a/civicrm/xml/templates/message_templates/event_online_receipt_text.tpl
+++ b/civicrm/xml/templates/message_templates/event_online_receipt_text.tpl
@@ -47,7 +47,7 @@
 ==========================================================={if !empty($pricesetFieldsCount)}===================={/if}
 
 {$event.event_title}
-{$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 {if !empty($conference_sessions)}
 
 
@@ -129,7 +129,7 @@ You were registered by: {$payer.name}
 
 {foreach from=$value item=line}
 {if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}
-{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
+{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
 {/foreach}
 ----------------------------------------------------------------------------------------------------------------
 {if !empty($individual)}{ts}Participant Total{/ts} {$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:"%29s"} {$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:"%33s"} {$individual.$priceset.totalAmtWithTax|crmMoney:$currency|string_format:"%12s"}{/if}
diff --git a/civicrm/xml/templates/message_templates/membership_offline_receipt_html.tpl b/civicrm/xml/templates/message_templates/membership_offline_receipt_html.tpl
index 034a49975d9c9dd2d98276764d9ced066056bbe6..bb23c959a1e054dd49b74342cbce01e97ed8267a 100644
--- a/civicrm/xml/templates/message_templates/membership_offline_receipt_html.tpl
+++ b/civicrm/xml/templates/message_templates/membership_offline_receipt_html.tpl
@@ -116,7 +116,7 @@
                               <td>
                                 {$line.unit_price*$line.qty|crmMoney}
                               </td>
-                              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+                              {if $line.tax_rate || $line.tax_amount != ""}
                                 <td>
                                   {$line.tax_rate|string_format:"%.2f"}%
                                 </td>
diff --git a/civicrm/xml/templates/message_templates/membership_offline_receipt_text.tpl b/civicrm/xml/templates/message_templates/membership_offline_receipt_text.tpl
index 715aff3654714a92997ba38fe3453b6c9b2db06e..3477e091c7a0f2eebc0d27b57520d42b025ebdfd 100644
--- a/civicrm/xml/templates/message_templates/membership_offline_receipt_text.tpl
+++ b/civicrm/xml/templates/message_templates/membership_offline_receipt_text.tpl
@@ -43,7 +43,7 @@
 --------------------------------------------------------------------------------------------------
 
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
+{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
 {/foreach}
 {/foreach}
 
diff --git a/civicrm/xml/templates/message_templates/membership_online_receipt_html.tpl b/civicrm/xml/templates/message_templates/membership_online_receipt_html.tpl
index 35f4fbbb116455580e1578e2afabb03288a2d14c..7a948d4863c3ef8e89b6186f66aef502aa5b28dc 100644
--- a/civicrm/xml/templates/message_templates/membership_online_receipt_html.tpl
+++ b/civicrm/xml/templates/message_templates/membership_online_receipt_html.tpl
@@ -178,7 +178,7 @@
               <td>
                {$line.unit_price*$line.qty|crmMoney}
               </td>
-              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+              {if ($line.tax_rate || $line.tax_amount != "")}
                <td>
                 {$line.tax_rate|string_format:"%.2f"}%
                </td>
diff --git a/civicrm/xml/templates/message_templates/membership_online_receipt_text.tpl b/civicrm/xml/templates/message_templates/membership_online_receipt_text.tpl
index d1647bdbe20fdb61854e4b865cb214d4ea63d03b..2871eabb8eb3b723bab996816b64b1c886e952a1 100644
--- a/civicrm/xml/templates/message_templates/membership_online_receipt_text.tpl
+++ b/civicrm/xml/templates/message_templates/membership_online_receipt_text.tpl
@@ -65,7 +65,7 @@
 --------------------------------------------------------------------------------------------------
 
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
+{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
 {/foreach}
 {/foreach}
 
diff --git a/civicrm/xml/templates/message_templates/participant_cancelled_html.tpl b/civicrm/xml/templates/message_templates/participant_cancelled_html.tpl
index c0da77d4d58ad211d1d76ce97ee60579bf6adce1..24637e0922405b25d4456bfd7bdbcaff003cc1c8 100644
--- a/civicrm/xml/templates/message_templates/participant_cancelled_html.tpl
+++ b/civicrm/xml/templates/message_templates/participant_cancelled_html.tpl
@@ -35,7 +35,7 @@
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      <tr>
diff --git a/civicrm/xml/templates/message_templates/participant_cancelled_text.tpl b/civicrm/xml/templates/message_templates/participant_cancelled_text.tpl
index dedf895d880261c852be0c30ad74a739da0205a9..b60ce46af667d9230b210ad810f0dac28f2a81e7 100644
--- a/civicrm/xml/templates/message_templates/participant_cancelled_text.tpl
+++ b/civicrm/xml/templates/message_templates/participant_cancelled_text.tpl
@@ -8,7 +8,7 @@
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {ts}Participant Role{/ts}: {participant.role_id:label}
 
diff --git a/civicrm/xml/templates/message_templates/participant_confirm_html.tpl b/civicrm/xml/templates/message_templates/participant_confirm_html.tpl
index bd8b599b166a02a75c57643da60080a98d6ff63d..7b7d04b1755e8c1e63a2023e8da2b531ffe2087c 100644
--- a/civicrm/xml/templates/message_templates/participant_confirm_html.tpl
+++ b/civicrm/xml/templates/message_templates/participant_confirm_html.tpl
@@ -53,7 +53,7 @@
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      {if $conference_sessions}
diff --git a/civicrm/xml/templates/message_templates/participant_confirm_text.tpl b/civicrm/xml/templates/message_templates/participant_confirm_text.tpl
index 0ccf6ad260524621d887dee3c36af9c5acd0e443..3d685d4944549791e482099915ed922ccc5443af 100644
--- a/civicrm/xml/templates/message_templates/participant_confirm_text.tpl
+++ b/civicrm/xml/templates/message_templates/participant_confirm_text.tpl
@@ -22,7 +22,7 @@ Click this link to go to a web page where you can confirm your registration onli
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 {if $conference_sessions}
 
 
diff --git a/civicrm/xml/templates/message_templates/participant_expired_html.tpl b/civicrm/xml/templates/message_templates/participant_expired_html.tpl
index 57804d1429d0c411178e33c543723de3cc1b0090..2a7edf991de0ef4591efc6201e5cfa6204da0489 100644
--- a/civicrm/xml/templates/message_templates/participant_expired_html.tpl
+++ b/civicrm/xml/templates/message_templates/participant_expired_html.tpl
@@ -38,7 +38,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      <tr>
diff --git a/civicrm/xml/templates/message_templates/participant_expired_text.tpl b/civicrm/xml/templates/message_templates/participant_expired_text.tpl
index e6ec27f026105d71b9777d197f7fc6f10d430f97..b9fdd3f217eccffdb9b00c9d4de56136eadfe768 100644
--- a/civicrm/xml/templates/message_templates/participant_expired_text.tpl
+++ b/civicrm/xml/templates/message_templates/participant_expired_text.tpl
@@ -12,7 +12,7 @@ or want to inquire about reinstating your registration for this event.{/ts}
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {ts}Participant Role{/ts}: {$participant.role}
 
diff --git a/civicrm/xml/templates/message_templates/participant_transferred_html.tpl b/civicrm/xml/templates/message_templates/participant_transferred_html.tpl
index a5e2b927a74ec83221621020229b59c95fb689fe..22520519f7c7d681e557fdf6d68d3916aa2c1067 100644
--- a/civicrm/xml/templates/message_templates/participant_transferred_html.tpl
+++ b/civicrm/xml/templates/message_templates/participant_transferred_html.tpl
@@ -35,7 +35,7 @@
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      <tr>
diff --git a/civicrm/xml/templates/message_templates/participant_transferred_text.tpl b/civicrm/xml/templates/message_templates/participant_transferred_text.tpl
index 5c62b00570f5b2b7531d1ac01307170dab876ebf..87c9bb3225bb5f25e437eb19f7a195f7564d4311 100644
--- a/civicrm/xml/templates/message_templates/participant_transferred_text.tpl
+++ b/civicrm/xml/templates/message_templates/participant_transferred_text.tpl
@@ -7,7 +7,7 @@
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {ts}Participant Role{/ts}: {$participant.role}
 
diff --git a/civicrm/xml/templates/message_templates/payment_or_refund_notification_html.tpl b/civicrm/xml/templates/message_templates/payment_or_refund_notification_html.tpl
index d1d5983faabc95c1a60e72aa85abc228381115ff..8690a759b8cd89a420a17b73714505c579b5f354 100644
--- a/civicrm/xml/templates/message_templates/payment_or_refund_notification_html.tpl
+++ b/civicrm/xml/templates/message_templates/payment_or_refund_notification_html.tpl
@@ -177,7 +177,7 @@
     <tr>
       <td colspan="2" {$valueStyle}>
          {$event.event_title}<br />
-        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
     </tr>
 
diff --git a/civicrm/xml/templates/message_templates/payment_or_refund_notification_text.tpl b/civicrm/xml/templates/message_templates/payment_or_refund_notification_text.tpl
index 3499b2f9f63c453fbe5de4fde0a3d5a645ed030b..649e088e11560ffaea18356748d3263035af9daa 100644
--- a/civicrm/xml/templates/message_templates/payment_or_refund_notification_text.tpl
+++ b/civicrm/xml/templates/message_templates/payment_or_refund_notification_text.tpl
@@ -90,7 +90,7 @@
 ===============================================================================
 
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {if !empty($event.participant_role)}
 {ts}Participant Role{/ts}: {$event.participant_role}
diff --git a/civicrm/xml/version.xml b/civicrm/xml/version.xml
index 79a060a04febdd1a510f62b9211f543e22b2f259..dcc667b5838835edb0fdc3afc0d5799989eb548c 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.46.2</version_no>
+  <version_no>5.47.0</version_no>
 </version>
diff --git a/includes/admin-metaboxes/civicrm.metabox.contact.add.php b/includes/admin-metaboxes/civicrm.metabox.contact.add.php
index ce802947d0b6d9d0b295c7ed6f163a3989ab78c5..0bb9a21c26c6f27cbde010aee167632c48bfecc3 100644
--- a/includes/admin-metaboxes/civicrm.metabox.contact.add.php
+++ b/includes/admin-metaboxes/civicrm.metabox.contact.add.php
@@ -213,7 +213,7 @@ class CiviCRM_For_WordPress_Admin_Metabox_Contact_Add {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_render($unused = NULL, $metabox) {
+  public function meta_box_render($unused, $metabox) {
 
     if (!$this->civi->initialize()) {
       return;
@@ -295,7 +295,7 @@ class CiviCRM_For_WordPress_Admin_Metabox_Contact_Add {
   }
 
   /**
-   * Save the CiviCRM Basepage Setting.
+   * Save the CiviCRM Base Page Setting.
    *
    * @since 5.34
    */
diff --git a/includes/admin-pages/civicrm.page.error.php b/includes/admin-pages/civicrm.page.error.php
index 1f164ca2ad86102372c5863a095cdfaa1b9bbfb6..20106f0f660b22a21dc02983b13b0bd59ed2d5a4 100644
--- a/includes/admin-pages/civicrm.page.error.php
+++ b/includes/admin-pages/civicrm.page.error.php
@@ -83,7 +83,6 @@ class CiviCRM_For_WordPress_Admin_Page_Error {
      * @since 5.40
      *
      * @param str The default access capability.
-     * @return str The modified access capability.
      */
     return apply_filters('civicrm/admin/error/cap', 'manage_options');
 
@@ -170,6 +169,10 @@ class CiviCRM_For_WordPress_Admin_Page_Error {
      *
      * The Screen ID to use is: "civicrm_page_civi_error".
      *
+     * Used internally by:
+     *
+     * - self::meta_boxes_error_add()
+     *
      * @since 5.40
      *
      * @param str $screen_id The ID of the current screen.
@@ -283,7 +286,7 @@ class CiviCRM_For_WordPress_Admin_Page_Error {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_error_help_render($unused = NULL, $metabox) {
+  public function meta_box_error_help_render($unused, $metabox) {
 
     // Include template file.
     include CIVICRM_PLUGIN_DIR . 'assets/templates/metaboxes/metabox.error.help.php';
@@ -298,7 +301,7 @@ class CiviCRM_For_WordPress_Admin_Page_Error {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_error_php_render($unused = NULL, $metabox) {
+  public function meta_box_error_php_render($unused, $metabox) {
 
     global $civicrm_root;
 
@@ -315,7 +318,7 @@ class CiviCRM_For_WordPress_Admin_Page_Error {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_error_path_render($unused = NULL, $metabox) {
+  public function meta_box_error_path_render($unused, $metabox) {
 
     global $civicrm_root;
 
diff --git a/includes/admin-pages/civicrm.page.integration.php b/includes/admin-pages/civicrm.page.integration.php
index 683830dbb5309114f40801737ac13c86c4297345..511bf6f70537b2d3b861294ace0a3b2fd5706dea 100644
--- a/includes/admin-pages/civicrm.page.integration.php
+++ b/includes/admin-pages/civicrm.page.integration.php
@@ -106,7 +106,6 @@ class CiviCRM_For_WordPress_Admin_Page_Integration {
      * @since 5.37
      *
      * @param str The default access capability.
-     * @return str The modified access capability.
      */
     return apply_filters('civicrm/admin/integration/cap', 'manage_options');
 
@@ -194,6 +193,10 @@ class CiviCRM_For_WordPress_Admin_Page_Integration {
      *
      * The Screen ID to use is: "civicrm_page_cwps_settings".
      *
+     * Used internally by:
+     *
+     * - self::meta_boxes_integration_add()
+     *
      * @since 5.34
      *
      * @param str $screen_id The ID of the current screen.
@@ -295,7 +298,7 @@ class CiviCRM_For_WordPress_Admin_Page_Integration {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_integration_wordpress_render($unused = NULL, $metabox) {
+  public function meta_box_integration_wordpress_render($unused, $metabox) {
 
     // First check our transient for the data.
     $plugins = get_site_transient('civicrm_plugins_by_tag');
@@ -345,7 +348,7 @@ class CiviCRM_For_WordPress_Admin_Page_Integration {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_integration_git_render($unused = NULL, $metabox) {
+  public function meta_box_integration_git_render($unused, $metabox) {
 
     // First check our transient for the data.
     $plugins = get_site_transient('civicrm_plugins_by_repo');
@@ -393,7 +396,7 @@ class CiviCRM_For_WordPress_Admin_Page_Integration {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_integration_ext_render($unused = NULL, $metabox) {
+  public function meta_box_integration_ext_render($unused, $metabox) {
 
     if (!$this->civi->initialize()) {
       return;
diff --git a/includes/admin-pages/civicrm.page.options.php b/includes/admin-pages/civicrm.page.options.php
index 7483ac4127dcf6f57a067b18879a9375c65d4880..49c2f1e6f7ba26d0bf7a2b1f0cdc57e23581dc6d 100644
--- a/includes/admin-pages/civicrm.page.options.php
+++ b/includes/admin-pages/civicrm.page.options.php
@@ -109,7 +109,6 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
      * @since 5.37
      *
      * @param str The default access capability.
-     * @return str The modified access capability.
      */
     return apply_filters('civicrm/admin/settings/cap', 'manage_options');
 
@@ -229,6 +228,10 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
      *
      * The Screen ID to use is: "civicrm_page_cwps_settings".
      *
+     * Used internally by:
+     *
+     * - self::meta_boxes_options_add()
+     *
      * @since 5.34
      *
      * @param str $screen_id The ID of the current screen.
@@ -370,7 +373,7 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_options_basepage_render($unused = NULL, $metabox) {
+  public function meta_box_options_basepage_render($unused, $metabox) {
 
     // Get the setting.
     $basepage_slug = civicrm_api3('Setting', 'getvalue', [
@@ -439,7 +442,6 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
      * @since 5.34
      *
      * @param array $options_post The existing button attributes.
-     * @return array $options_post The modified button attributes.
      */
     $options_post = apply_filters('civicrm/metabox/basepage/submit/options', $options_post);
 
@@ -456,7 +458,7 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_options_shortcode_render($unused = NULL, $metabox) {
+  public function meta_box_options_shortcode_render($unused, $metabox) {
 
     if (!$this->civi->initialize()) {
       return;
@@ -487,7 +489,6 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
      * @since 5.44
      *
      * @param array $options_post The existing button attributes.
-     * @return array $options_post The modified button attributes.
      */
     $options_post = apply_filters('civicrm/metabox/shortcode/submit/options', $options_post);
 
@@ -504,7 +505,7 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_options_email_render($unused = NULL, $metabox) {
+  public function meta_box_options_email_render($unused, $metabox) {
 
     if (!$this->civi->initialize()) {
       return;
@@ -538,7 +539,6 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
      * @since 5.34
      *
      * @param array $options_post The existing button attributes.
-     * @return array $options_post The modified button attributes.
      */
     $options_post = apply_filters('civicrm/metabox/email_sync/submit/options', $options_post);
 
@@ -555,7 +555,7 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_options_cache_render($unused = NULL, $metabox) {
+  public function meta_box_options_cache_render($unused, $metabox) {
 
     // Set submit button options.
     $options = [
@@ -576,7 +576,7 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_options_links_render($unused = NULL, $metabox) {
+  public function meta_box_options_links_render($unused, $metabox) {
 
     if (!$this->civi->initialize()) {
       return;
@@ -608,7 +608,6 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
      * @since 5.34
      *
      * @param array $admin_links The default array of admin links.
-     * @return array $admin_links The modified array of admin links.
      */
     $admin_links = apply_filters('civicrm/metabox/links/admin', $admin_links);
 
@@ -635,7 +634,6 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
      * @since 5.34
      *
      * @param array $maintenance_links The default array of admin links.
-     * @return array $maintenance_links The modified array of admin links.
      */
     $maintenance_links = apply_filters('civicrm/metabox/links/maintenance', $maintenance_links);
 
@@ -683,7 +681,7 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
   }
 
   /**
-   * Save the CiviCRM Basepage Setting.
+   * Save the CiviCRM Base Page Setting.
    *
    * @since 5.34
    */
@@ -784,7 +782,7 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
   // ---------------------------------------------------------------------------
 
   /**
-   * Save the CiviCRM Basepage Setting.
+   * Save the CiviCRM Base Page Setting.
    *
    * @since 5.34
    */
diff --git a/includes/civicrm.admin.php b/includes/civicrm.admin.php
index f35ab87f5a803b0eafea499e5fb76e79c413c165..4187d770123c5df1e5ff835656b7b3504b243ae1 100644
--- a/includes/civicrm.admin.php
+++ b/includes/civicrm.admin.php
@@ -90,6 +90,9 @@ class CiviCRM_For_WordPress_Admin {
     $this->include_files();
     $this->setup_objects();
 
+    // Always check setting for path to "wp-load.php".
+    add_action('civicrm_initialized', [$this, 'add_wpload_setting']);
+
     // Filter Heartbeat on CiviCRM admin pages as late as is practical.
     add_filter('heartbeat_settings', [$this, 'heartbeat'], 1000, 1);
 
@@ -149,7 +152,7 @@ class CiviCRM_For_WordPress_Admin {
     }
     else {
 
-      // Listen for changes to the basepage setting.
+      // Listen for changes to the Base Page setting.
       add_action('civicrm_postSave_civicrm_setting', [$this, 'settings_change'], 10);
 
       // Set page title.
@@ -160,6 +163,12 @@ class CiviCRM_For_WordPress_Admin {
     /**
      * Broadcast that this object has registered its callbacks.
      *
+     * Used internally by:
+     *
+     * - CiviCRM_For_WordPress_Admin_Metabox_Contact_Add::register_hooks()
+     * - CiviCRM_For_WordPress_Admin_Page_Integration::register_hooks()
+     * - CiviCRM_For_WordPress_Admin_Page_Options::register_hooks()
+     *
      * @since 5.34
      */
     do_action('civicrm/admin/hooks/registered');
@@ -442,6 +451,9 @@ class CiviCRM_For_WordPress_Admin {
 
     }
 
+    // Success! Set static flag.
+    $initialized = TRUE;
+
     /**
      * Broadcast that CiviCRM is now initialized.
      *
@@ -449,8 +461,6 @@ class CiviCRM_For_WordPress_Admin {
      */
     do_action('civicrm_initialized');
 
-    // Success! Set and return static flag.
-    $initialized = TRUE;
     return $initialized;
 
   }
@@ -602,10 +612,10 @@ class CiviCRM_For_WordPress_Admin {
      * reduce risk of conflicts. The position is now conditionally set depending
      * on the version of WordPress.
      *
-     * @since 5.47 Conditionally set because WordPress 6.0 enforces integers. Backport to 5.45+
+     * @since 4.4
+     * @since 5.47 Conditionally set because WordPress 6.0 enforces integers.
      *
      * @param str|int $menu_position The default menu position.
-     * @return str The modified menu position expressed as a float.
      */
     $position = apply_filters('civicrm_menu_item_position', $menu_position);
 
@@ -658,10 +668,11 @@ class CiviCRM_For_WordPress_Admin {
         );
 
         /*
-        // Add scripts and styles like this.
-        add_action('admin_print_scripts-' . $this->menu_page, [$this, 'admin_installer_js']);
-        add_action('admin_print_styles-' . $this->menu_page, [$this, 'admin_installer_css']);
-        add_action('admin_head-' . $this->menu_page, [$this, 'admin_installer_head'], 50);
+         * Add scripts and styles like this if needed:
+         *
+         * add_action('admin_print_scripts-' . $this->menu_page, [$this, 'admin_installer_js']);
+         * add_action('admin_print_styles-' . $this->menu_page, [$this, 'admin_installer_css']);
+         * add_action('admin_head-' . $this->menu_page, [$this, 'admin_installer_head'], 50);
          */
 
       }
@@ -749,9 +760,6 @@ class CiviCRM_For_WordPress_Admin {
     // Add resources for back end.
     $this->civi->add_core_resources(FALSE);
 
-    // Check setting for path to wp-load.php.
-    $this->add_wpload_setting();
-
   }
 
   /**
@@ -771,20 +779,23 @@ class CiviCRM_For_WordPress_Admin {
    * Multisite, because the path to wp-load.php is common to all sites on the
    * network.
    *
-   * My final concern is that the value will only be set *after* someone visits
-   * CiviCRM in the back end. I have restricted it to this so as not to add
-   * overhead to the front end, but there remains the possibility that the value
-   * could be missing. To repeat: this would be better in civicrm.settings.php.
-   *
    * To get the path to wp-load.php, use:
-   * $path = CRM_Core_BAO_Setting::getItem('CiviCRM Preferences', 'wpLoadPhp');
+   * $path = Civi::settings()->get('wpLoadPhp');
    *
    * @since 4.6.3
    * @since 5.33 Moved to this class.
    */
   public function add_wpload_setting() {
 
-    if (!$this->civi->initialize()) {
+    if (!CIVICRM_INSTALLED) {
+      return;
+    }
+
+    if (!$this->initialize()) {
+      return;
+    }
+
+    if (version_compare(CRM_Core_BAO_Domain::getDomain()->version, '4.7.0', '<')) {
       return;
     }
 
@@ -792,17 +803,14 @@ class CiviCRM_For_WordPress_Admin {
     $path = ABSPATH . 'wp-load.php';
 
     // Get the setting, if it exists.
-    $setting = CRM_Core_BAO_Setting::getItem('CiviCRM Preferences', 'wpLoadPhp');
-
-    // If we don't have one, create it.
-    if (is_null($setting)) {
-      CRM_Core_BAO_Setting::setItem($path, 'CiviCRM Preferences', 'wpLoadPhp');
-    }
+    $setting = Civi::settings()->get('wpLoadPhp');
 
-    // Is it different to the one we've stored?
-    if ($setting !== $path) {
-      // Yes - set new path (this could be because we've changed server or location)
-      CRM_Core_BAO_Setting::setItem($path, 'CiviCRM Preferences', 'wpLoadPhp');
+    /*
+     * If we don't have a setting, create it. Also set it if it's different to
+     * what's stored. This could be because we've changed server or location.
+     */
+    if (empty($setting) || $setting !== $path) {
+      Civi::settings()->set('wpLoadPhp', $path);
     }
 
   }
@@ -821,7 +829,7 @@ class CiviCRM_For_WordPress_Admin {
     // Init link.
     $link = '';
 
-    if (!$this->civi->initialize()) {
+    if (!$this->initialize()) {
       return $link;
     }
 
@@ -851,7 +859,7 @@ class CiviCRM_For_WordPress_Admin {
    */
   public function clear_caches() {
 
-    if (!$this->civi->initialize()) {
+    if (!$this->initialize()) {
       return;
     }
 
@@ -888,7 +896,7 @@ class CiviCRM_For_WordPress_Admin {
       return FALSE;
     }
 
-    if (!$this->civi->initialize()) {
+    if (!$this->initialize()) {
       return FALSE;
     }
 
diff --git a/includes/civicrm.basepage.php b/includes/civicrm.basepage.php
index 70506d1ffa39d781cbc1e753e8f3dc2e694fbdb5..b6246cff1a09ececb10e7ce3d67d41282b5f265e 100644
--- a/includes/civicrm.basepage.php
+++ b/includes/civicrm.basepage.php
@@ -52,13 +52,13 @@ class CiviCRM_For_WordPress_Basepage {
     // Always listen for deactivation action.
     add_action('civicrm_deactivation', [$this, 'deactivate']);
 
-    // Always check if the basepage needs to be created.
+    // Always check if the Base Page needs to be created.
     add_action('civicrm_instance_loaded', [$this, 'maybe_create_basepage']);
 
   }
 
   /**
-   * Register hooks to handle CiviCRM in a WordPress wpBasePage context.
+   * Register hooks to handle CiviCRM in a WordPress Base Page context.
    *
    * @since 4.6
    */
@@ -69,22 +69,22 @@ class CiviCRM_For_WordPress_Basepage {
       return;
     }
 
-    // Cache CiviCRM base page markup.
+    // Cache CiviCRM Base Page markup.
     add_action('wp', [$this, 'basepage_handler'], 10, 1);
 
   }
 
   /**
-   * Trigger the process whereby the WordPress basepage is created.
+   * Triggers the process whereby the WordPress Base Page is created.
    *
-   * Sets a one-time-only option to flag that we need to create a basepage -
+   * Sets a one-time-only option to flag that we need to create a Base Page -
    * it will not update the option once it has been set to another value nor
    * create a new option with the same name.
    *
-   * As a result of doing this, we know that a basepage needs to be created, but
-   * the moment to do so is once CiviCRM has been successfully installed.
+   * As a result of doing this, we know that a Base Page needs to be created,
+   * but the moment to do so is once CiviCRM has been successfully installed.
    *
-   * @see do_basepage_creation()
+   * @see self::maybe_create_basepage()
    *
    * @since 5.6
    */
@@ -108,11 +108,11 @@ class CiviCRM_For_WordPress_Basepage {
   }
 
   /**
-   * Register the hook to create the WordPress basepage, if necessary.
+   * Auto-creates the WordPress Base Page if necessary.
    *
-   * Changes the one-time-only option so that the basepage can only be created
+   * Changes the one-time-only option so that the Base Page can only be created
    * once. Thereafter, we're on our own until there's a 'delete_post' callback
-   * to prevent the basepage from being deleted.
+   * to prevent the Base Page from being deleted.
    *
    * @since 5.6
    */
@@ -128,12 +128,7 @@ class CiviCRM_For_WordPress_Basepage {
       return;
     }
 
-    // Bail if not WordPress admin.
-    if (!is_admin()) {
-      return;
-    }
-
-    // Create basepage.
+    // Create the Base Page.
     add_action('wp_loaded', [$this, 'create_wp_basepage']);
 
     // Change option so the callback above never runs again.
@@ -142,71 +137,68 @@ class CiviCRM_For_WordPress_Basepage {
   }
 
   /**
-   * Create WordPress basepage and save setting.
+   * Creates the WordPress Base Page and saves the CiviCRM "wpBasePage" setting.
    *
    * @since 4.6
    * @since 5.6 Relocated from CiviCRM_For_WordPress to here.
+   * @since 5.44 Returns success or failure.
+   *
+   * @return bool TRUE if successful, FALSE otherwise.
    */
   public function create_wp_basepage() {
 
     if (!$this->civi->initialize()) {
-      return;
+      return FALSE;
     }
 
-    $config = CRM_Core_Config::singleton();
+    if (version_compare(CRM_Core_BAO_Domain::getDomain()->version, '4.7.0', '<')) {
+      return FALSE;
+    }
 
-    // Bail if we already have a basepage setting.
+    // Bail if we already have a Base Page setting.
+    $config = CRM_Core_Config::singleton();
     if (!empty($config->wpBasePage)) {
-      return;
+      return TRUE;
     }
 
     /**
-     * Filter the default page slug.
+     * Filter the default Base Page slug.
      *
      * @since 4.6
      *
-     * @param str The default basepage slug.
-     * @return str The modified basepage slug.
+     * @param str The default Base Page slug.
      */
     $slug = apply_filters('civicrm_basepage_slug', 'civicrm');
 
-    // Get existing page with that slug.
+    // Get existing Page with that slug.
     $page = get_page_by_path($slug);
 
-    // Does it exist?
-    if ($page) {
-
-      // We already have a basepage.
+    // Get the ID if the Base Page already exists.
+    $result = 0;
+    if ($page instanceof WP_Post) {
       $result = $page->ID;
-
     }
-    else {
 
-      // Create the basepage.
+    // Create the Base Page if it's missing.
+    if ($result === 0) {
       $result = $this->create_basepage($slug);
-
     }
 
-    // Were we successful?
+    // Save the Page slug as the setting if we have one.
     if ($result !== 0 && !is_wp_error($result)) {
-
-      // Get the post object.
       $post = get_post($result);
-
-      $params = [
-        'version' => 3,
+      civicrm_api3('Setting', 'create', [
         'wpBasePage' => $post->post_name,
-      ];
-
-      // Save the setting.
-      civicrm_api3('setting', 'create', $params);
-
+      ]);
+      return TRUE;
     }
 
+    return FALSE;
+
   }
 
   /**
-   * Create a WordPress page to act as the CiviCRM base page.
+   * Create a WordPress page to act as the CiviCRM Base Page.
    *
    * @since 4.6
    * @since 5.6 Relocated from CiviCRM_For_WordPress to here.
@@ -219,16 +211,40 @@ class CiviCRM_For_WordPress_Basepage {
     // If multisite, switch to main site.
     if (is_multisite() && !is_main_site()) {
 
-      // Store this site.
-      $original_site = get_current_blog_id();
+      /**
+       * Allow plugins to override the switch to the main site.
+       *
+       * This filter changes the default behaviour on WordPress Multisite so
+       * that the Base Page *is* created on every site on which CiviCRM is
+       * activated. This is a more sensible and inclusive default, since the
+       * absence of the Base Page on a sub-site often leads to confusion.
+       *
+       * To restore the previous functionality, return boolean TRUE.
+       *
+       * The previous functionality may be the desired behaviour when the
+       * WordPress Multisite instance in question is one where sub-sites aren't
+       * truly "separate" e.g. sites built on frameworks such as "Commons in
+       * a Box" or "MultilingualPress".
+       *
+       * @since 5.44
+       *
+       * @param bool False by default prevents the switch to the main site.
+       */
+      $switch = apply_filters('civicrm/basepage/main_site_only', FALSE);
+
+      if ($switch !== FALSE) {
 
-      // Switch.
-      global $current_site;
-      switch_to_blog($current_site->blog_id);
+        // Store this site.
+        $original_site = get_current_blog_id();
+
+        // Switch to main site.
+        switch_to_blog(get_main_site_id());
+
+      }
 
     }
 
-    // Define basepage.
+    // Define Base Page.
     $page = [
       'post_status' => 'publish',
       'post_type' => 'page',
@@ -248,12 +264,11 @@ class CiviCRM_For_WordPress_Basepage {
     ];
 
     /**
-     * Filter the default page title.
+     * Filter the default Base Page title.
      *
      * @since 4.6
      *
-     * @param str The default base page title.
-     * @return str The modified base page title.
+     * @param str The default Base Page title.
      */
     $page['post_title'] = apply_filters('civicrm_basepage_title', __('CiviCRM', 'civicrm'));
 
@@ -261,12 +276,12 @@ class CiviCRM_For_WordPress_Basepage {
     $content = __('Do not delete this page. Page content is generated by CiviCRM.', 'civicrm');
 
     /**
-     * Filter the default page content.
+     * Filter the default Base Page content.
      *
      * @since 4.6
      *
-     * @param str $content The default base page content.
-     * @return str $content The modified base page content.
+     * @param str $content The default Base Page content.
+     * @return str $content The modified Base Page content.
      */
     $page['post_content'] = apply_filters('civicrm_basepage_content', $content);
 
@@ -286,7 +301,7 @@ class CiviCRM_For_WordPress_Basepage {
   }
 
   /**
-   * Build CiviCRM base page content.
+   * Build CiviCRM Base Page content.
    *
    * Callback method for 'wp' hook, always called from WordPress front-end.
    *
@@ -350,7 +365,6 @@ class CiviCRM_For_WordPress_Basepage {
          *
          * @param bool By default "Base Page mode" should not be triggered.
          * @param WP_Post $post The current WordPress Post object.
-         * @return bool Whether or not to force "Base Page mode" - FALSE by default.
          */
         $basepage_mode = (bool) apply_filters('civicrm_force_basepage_mode', FALSE, $post);
 
@@ -362,7 +376,7 @@ class CiviCRM_For_WordPress_Basepage {
 
           // Start buffering.
           ob_start();
-          // Now, instead of echoing, base page output ends up in buffer.
+          // Now, instead of echoing, Base Page output ends up in buffer.
           $this->civi->invoke();
           // Save the output and flush the buffer.
           $this->basepage_markup = ob_get_clean();
@@ -433,7 +447,7 @@ class CiviCRM_For_WordPress_Basepage {
     // Add compatibility with Yoast SEO plugin's Open Graph title.
     add_filter('wpseo_opengraph_title', [$this, 'wpseo_page_title'], 100, 1);
 
-    // Don't let the Yoast SEO plugin parse the basepage title.
+    // Don't let the Yoast SEO plugin parse the Base Page title.
     if (class_exists('WPSEO_Frontend')) {
       $frontend = WPSEO_Frontend::get_instance();
       remove_filter('pre_get_document_title', [$frontend, 'title'], 15);
@@ -460,11 +474,11 @@ class CiviCRM_For_WordPress_Basepage {
 
     }
 
-    // Flag that we have parsed the base page.
+    // Flag that we have parsed the Base Page.
     $this->basepage_parsed = TRUE;
 
     /**
-     * Broadcast that the base page is parsed.
+     * Broadcast that the Base Page is parsed.
      *
      * @since 4.4
      */
@@ -473,7 +487,7 @@ class CiviCRM_For_WordPress_Basepage {
   }
 
   /**
-   * Get CiviCRM basepage title for <title> element.
+   * Get CiviCRM Base Page title for <title> element.
    *
    * Callback method for 'wp_title' hook, called at the end of function wp_title.
    *
@@ -518,7 +532,7 @@ class CiviCRM_For_WordPress_Basepage {
   }
 
   /**
-   * Get CiviCRM basepage title for <title> element.
+   * Get CiviCRM Base Page title for <title> element.
    *
    * Callback method for 'document_title_parts' hook. This filter was introduced
    * in WordPress 3.8 but it depends on whether the theme has implemented that
@@ -542,7 +556,7 @@ class CiviCRM_For_WordPress_Basepage {
   }
 
   /**
-   * Get CiviCRM base page title for Open Graph elements.
+   * Get CiviCRM Base Page title for Open Graph elements.
    *
    * Callback method for 'wpseo_opengraph_title' hook, to provide compatibility
    * with the WordPress SEO plugin.
@@ -554,30 +568,30 @@ class CiviCRM_For_WordPress_Basepage {
    */
   public function wpseo_page_title($post_title) {
 
-    // Hand back our base page title.
+    // Hand back our Base Page title.
     return $this->basepage_title;
 
   }
 
   /**
-   * Get CiviCRM base page content.
+   * Get CiviCRM Base Page content.
    *
    * Callback method for 'the_content' hook, always called from WordPress
    * front-end.
    *
    * @since 4.6
    *
-   * @return str $basepage_markup The base page markup.
+   * @return str $basepage_markup The Base Page markup.
    */
   public function basepage_render() {
 
-    // Hand back our base page markup.
+    // Hand back our Base Page markup.
     return $this->basepage_markup;
 
   }
 
   /**
-   * Provide the canonical URL for a page accessed through a basepage.
+   * Provide the canonical URL for a page accessed through a Base Page.
    *
    * WordPress will default to saying the canonical URL is the URL of the base
    * page itself, but we need to indicate that in this case, the whole thing
@@ -630,14 +644,14 @@ class CiviCRM_For_WordPress_Basepage {
 
     /*
      * We should, however, build the URL the way that CiviCRM expects it to be
-     * (rather than through some other funny base page).
+     * (rather than through some other funny Base Page).
      */
     return CRM_Utils_System::url($path, $query);
 
   }
 
   /**
-   * Get CiviCRM base page template.
+   * Get CiviCRM Base Page template.
    *
    * Callback method for 'template_include' hook, always called from WordPress
    * front-end.
@@ -663,7 +677,7 @@ class CiviCRM_For_WordPress_Basepage {
     }
 
     /**
-     * Allow base page template to be overridden.
+     * Allow Base Page template to be overridden.
      *
      * In most cases, the logic will not progress beyond here. Shortcodes in
      * posts and pages will have a template set, so we leave them alone unless
@@ -672,11 +686,10 @@ class CiviCRM_For_WordPress_Basepage {
      * @since 4.6
      *
      * @param string $template_name The provided template name.
-     * @return string The overridden template name.
      */
     $basepage_template = apply_filters('civicrm_basepage_template', $template_name);
 
-    // Find the base page template.
+    // Find the Base Page template.
     $page_template = locate_template([$basepage_template]);
 
     // If not homepage and template is found.
@@ -687,20 +700,19 @@ class CiviCRM_For_WordPress_Basepage {
     /**
      * Override the template, but allow plugins to amend.
      *
-     * This filter handles the scenario where no basepage has been set, in
+     * This filter handles the scenario where no Base Page has been set, in
      * which case CiviCRM will try to load its content in the site's homepage.
      * Many themes, however, do not have a call to "the_content()" on the
      * homepage - it is often used as a gateway page to display widgets,
      * archives and so forth.
      *
      * Be aware that if the homepage is set to show latest posts, then this
-     * template override will not have the desired effect. A basepage *must*
+     * template override will not have the desired effect. A Base Page *must*
      * be set if this is the case.
      *
      * @since 4.6
      *
      * @param string The template name (set to the default page template).
-     * @return string The overridden template name.
      */
     $home_template_name = apply_filters('civicrm_basepage_home_template', 'page.php');
 
@@ -718,10 +730,10 @@ class CiviCRM_For_WordPress_Basepage {
   }
 
   /**
-   * Add classes to body element when on basepage.
+   * Add classes to body element when on Base Page.
    *
    * This allows selectors to be written for particular CiviCRM "pages" despite
-   * them all being rendered on the one WordPress basepage.
+   * them all being rendered on the one WordPress Base Page.
    *
    * @since 4.7.18
    *
diff --git a/includes/civicrm.compat.php b/includes/civicrm.compat.php
index cc8280c07e2f8b230c68370eebf17a9444f11f90..063525d1fbccfc0e1167d5bb720899e97659ae77 100644
--- a/includes/civicrm.compat.php
+++ b/includes/civicrm.compat.php
@@ -82,7 +82,7 @@ class CiviCRM_For_WordPress_Compat {
    * @since 5.24
    *
    * @param bool $flush_rewrite_rules True if rules flushed, false otherwise.
-   * @param WP_Post $basepage The Basepage post object.
+   * @param WP_Post $basepage The Base Page post object.
    */
   public function rewrite_rules_polylang($flush_rewrite_rules, $basepage) {
 
@@ -95,12 +95,12 @@ class CiviCRM_For_WordPress_Compat {
      * Collect all rewrite rules into an array.
      *
      * Because the array of specific Post IDs is added *after* the array of
-     * paths for the Basepage ID, those specific rewrite rules will "win" over
-     * the more general Basepage rules.
+     * paths for the Base Page ID, those specific rewrite rules will "win" over
+     * the more general Base Page rules.
      */
     $collected_rewrites = [];
 
-    // Support prefixes for a single Basepage.
+    // Support prefixes for a single Base Page.
     $basepage_url = get_permalink($basepage->ID);
     $basepage_raw_url = PLL()->links_model->remove_language_from_link($basepage_url);
     $language_slugs = pll_languages_list();
@@ -116,7 +116,7 @@ class CiviCRM_For_WordPress_Compat {
       }
     };
 
-    // Support prefixes for Basepages in multiple languages.
+    // Support prefixes for Base Pages in multiple languages.
     foreach ($language_slugs as $slug) {
       $post_id = pll_get_post($basepage->ID, $slug);
       if (empty($post_id)) {
diff --git a/includes/civicrm.shortcodes.modal.php b/includes/civicrm.shortcodes.modal.php
index ae894a78a616376d7d36807f3bf05b8e9cb77a9e..0d7f765d7b0c886dca76ee5bf15bd1de2a05a9e9 100644
--- a/includes/civicrm.shortcodes.modal.php
+++ b/includes/civicrm.shortcodes.modal.php
@@ -140,7 +140,6 @@ class CiviCRM_For_WordPress_Shortcodes_Modal {
      *
      * @param bool $allowed True if the button is allowed, false otherwise.
      * @param object $screen The current WordPress screen object.
-     * @return bool $allowed True if the button is allowed, false otherwise.
      */
     $allowed = apply_filters('civicrm_restrict_button_appearance', $allowed, $screen);
 
diff --git a/includes/civicrm.shortcodes.php b/includes/civicrm.shortcodes.php
index 81828e5ba01b588a1bade0f67d26ec6909dfadf2..7a5418992e460e084657874498eb86ef0a2c5e5f 100644
--- a/includes/civicrm.shortcodes.php
+++ b/includes/civicrm.shortcodes.php
@@ -38,7 +38,7 @@ class CiviCRM_For_WordPress_Shortcodes {
 
   /**
    * @var array
-   * The stored shortcodes.
+   * The stored Shortcodes.
    * @since 4.6
    * @access public
    */
@@ -46,7 +46,7 @@ class CiviCRM_For_WordPress_Shortcodes {
 
   /**
    * @var array
-   * The array of rendered shortcode markup.
+   * The array of rendered Shortcode markup.
    * @since 4.6
    * @access public
    */
@@ -73,13 +73,13 @@ class CiviCRM_For_WordPress_Shortcodes {
   }
 
   /**
-   * Register hooks to handle the presence of shortcodes in content.
+   * Register hooks to handle the presence of Shortcodes in content.
    *
    * @since 4.6
    */
   public function register_hooks() {
 
-    // Register the CiviCRM shortcode.
+    // Register the CiviCRM Shortcode.
     add_shortcode('civicrm', [$this, 'render_single']);
 
     // Pre-render CiviCRM content when one or more Shortcodes are detected.
@@ -88,7 +88,7 @@ class CiviCRM_For_WordPress_Shortcodes {
   }
 
   /**
-   * Determine if a CiviCRM shortcode is present in any of the posts about to be displayed.
+   * Determine if a CiviCRM Shortcode is present in any of the posts about to be displayed.
    *
    * Callback method for 'wp' hook, always called from WordPress front-end.
    *
@@ -128,10 +128,10 @@ class CiviCRM_For_WordPress_Shortcodes {
 
         global $post;
 
-        // Check for existence of shortcode in content.
+        // Check for existence of Shortcode in content.
         if (has_shortcode($post->post_content, 'civicrm')) {
 
-          // Get CiviCRM shortcodes in this post.
+          // Get CiviCRM Shortcodes in this post.
           $shortcodes_array = $this->get_for_post($post->post_content);
 
           // Sanity check.
@@ -140,7 +140,7 @@ class CiviCRM_For_WordPress_Shortcodes {
             // Add it to our property.
             $this->shortcodes[$post->ID] = $shortcodes_array;
 
-            // Bump shortcode counter.
+            // Bump Shortcode counter.
             $shortcodes_present += count($this->shortcodes[$post->ID]);
 
           }
@@ -164,12 +164,12 @@ class CiviCRM_For_WordPress_Shortcodes {
     // Did we get any?
     if ($shortcodes_present) {
 
-      // We need CiviCRM initialised prior to parsing shortcodes.
+      // We need CiviCRM initialised prior to parsing Shortcodes.
       if (!$this->civi->initialize()) {
         return;
       }
 
-      // How should we handle multiple shortcodes?
+      // How should we handle multiple Shortcodes?
       if ($shortcodes_present > 1) {
 
         // Add CSS resources for front end.
@@ -178,12 +178,12 @@ class CiviCRM_For_WordPress_Shortcodes {
         // Let's add dummy markup.
         foreach ($this->shortcodes as $post_id => $shortcode_array) {
 
-          // Set flag if there are multple shortcodes in this post.
+          // Set flag if there are multple Shortcodes in this post.
           $multiple = (count($shortcode_array) > 1) ? 1 : 0;
 
           foreach ($shortcode_array as $shortcode) {
 
-            // Mimic invoke in multiple shortcode context.
+            // Mimic invoke in multiple Shortcode context.
             $this->shortcode_markup[$post_id][] = $this->render_multiple($post_id, $shortcode, $multiple);
 
           }
@@ -197,7 +197,7 @@ class CiviCRM_For_WordPress_Shortcodes {
         add_action('wp', [$this->civi, 'front_end_page_load'], 100);
 
         /*
-         * Since we have only one shortcode, run the_loop again.
+         * Since we have only one Shortcode, run the_loop again.
          * The DB query has already been done, so this has no significant impact.
          */
         if (have_posts()) {
@@ -212,10 +212,10 @@ class CiviCRM_For_WordPress_Shortcodes {
               continue;
             }
 
-            // The shortcode must be the first item in the shortcodes array.
+            // The Shortcode must be the first item in the Shortcodes array.
             $shortcode = $this->shortcodes[$post->ID][0];
 
-            // Check to see if a shortcode component has been repeated?
+            // Check to see if a Shortcode component has been repeated?
             $atts = $this->get_atts($shortcode);
 
             // Test for hijacking.
@@ -254,11 +254,11 @@ class CiviCRM_For_WordPress_Shortcodes {
 
     }
 
-    // Flag that we have parsed shortcodes.
+    // Flag that we have parsed Shortcodes.
     $this->shortcodes_parsed = TRUE;
 
     /**
-     * Broadcast that shortcodes have been parsed.
+     * Broadcast that Shortcodes have been parsed.
      *
      * @since 4.6
      */
@@ -267,7 +267,7 @@ class CiviCRM_For_WordPress_Shortcodes {
   }
 
   /**
-   * Handles CiviCRM-defined shortcodes.
+   * Handles CiviCRM-defined Shortcodes.
    *
    * @since 4.6
    *
@@ -276,9 +276,9 @@ class CiviCRM_For_WordPress_Shortcodes {
    */
   public function render_single($atts) {
 
-    // Do not parse shortcodes in REST context for PUT, POST and DELETE methods.
+    // Do not parse Shortcodes in REST context for PUT, POST and DELETE methods.
     if (defined('REST_REQUEST') && REST_REQUEST && (isset($_PUT) || isset($_POST) || isset($_DELETE))) {
-      // Return the original shortcode.
+      // Return the original Shortcode.
       $shortcode = '[civicrm';
       foreach ($atts as $att => $val) {
         $shortcode .= ' ' . $att . '="' . $val . '"';
@@ -287,7 +287,7 @@ class CiviCRM_For_WordPress_Shortcodes {
       return $shortcode;
     }
 
-    // Check if we've already parsed this shortcode.
+    // Check if we've already parsed this Shortcode.
     global $post;
     if (is_object($post)) {
       if (!empty($this->shortcode_markup)) {
@@ -301,14 +301,14 @@ class CiviCRM_For_WordPress_Shortcodes {
             $this->shortcode_in_post[$post->ID]++;
           }
 
-          // This shortcode must have been rendered.
+          // This Shortcode must have been rendered.
           return $this->shortcode_markup[$post->ID][$this->shortcode_in_post[$post->ID]];
 
         }
       }
     }
 
-    // Preprocess shortcode attributes.
+    // Preprocess Shortcode attributes.
     $args = $this->preprocess_atts($atts);
 
     // Check for pathless Shortcode.
@@ -320,18 +320,21 @@ class CiviCRM_For_WordPress_Shortcodes {
        * Get the markup for "pathless" Shortcodes.
        *
        * This filter allows plugins or CiviCRM Extensions to modify the markup used
-       * to display a shortcode that has no CiviCRM route/path. This may be:
+       * to display a Shortcode that has no CiviCRM route/path. This may be:
        *
-       * * Accidental due to an improperly constructed shortcode or
+       * * Accidental due to an improperly constructed Shortcode or
        * * Deliberate because a component may not require a route/path
        *
+       * Used internally by:
+       *
+       * - afform_shortcode_content()
+       *
        * @since 5.37
        *
-       * @param str $content The default markup for an improperly constructed shortcode.
-       * @param array $atts The shortcode attributes array.
-       * @param array $args The shortcode arguments array.
+       * @param str $content The default markup for an improperly constructed Shortcode.
+       * @param array $atts The Shortcode attributes array.
+       * @param array $args The Shortcode arguments array.
        * @param str Context flag - value is either 'single' or 'multiple'.
-       * @return str The modified shortcode markup.
        */
       return apply_filters('civicrm_shortcode_get_markup', $content, $atts, $args, 'single');
 
@@ -368,7 +371,7 @@ class CiviCRM_For_WordPress_Shortcodes {
     // Check permission.
     $argdata = $this->civi->get_request_args();
     if (!$this->civi->users->check_permission($argdata['args'])) {
-      return $this->civi->users->get_permission_denied();;
+      return $this->civi->users->get_permission_denied();
     }
 
     // Start buffering.
@@ -383,13 +386,13 @@ class CiviCRM_For_WordPress_Shortcodes {
   }
 
   /**
-   * Return a generic display for a shortcode instead of a CiviCRM invocation.
+   * Return a generic display for a Shortcode instead of a CiviCRM invocation.
    *
    * @since 4.6
    *
    * @param int $post_id The containing WordPress post ID.
-   * @param string $shortcode The shortcode being parsed.
-   * @param bool $multiple Boolean flag, TRUE if post has multiple shortcodes, FALSE otherwise.
+   * @param string $shortcode The Shortcode being parsed.
+   * @param bool $multiple Boolean flag, TRUE if post has multiple Shortcodes, FALSE otherwise.
    * @return string $markup Generic markup for multiple instances.
    */
   private function render_multiple($post_id = FALSE, $shortcode = FALSE, $multiple = 0) {
@@ -397,7 +400,7 @@ class CiviCRM_For_WordPress_Shortcodes {
     // Get attributes.
     $atts = $this->get_atts($shortcode);
 
-    // Pre-process shortcode and retrieve args.
+    // Pre-process Shortcode and retrieve args.
     $args = $this->preprocess_atts($atts);
 
     // Get pathless markup from filter callback.
@@ -407,7 +410,7 @@ class CiviCRM_For_WordPress_Shortcodes {
       return apply_filters('civicrm_shortcode_get_markup', $markup, $atts, $args, 'multiple');
     }
 
-    // Get data for this shortcode.
+    // Get data for this Shortcode.
     $data = $this->get_data($atts, $args);
 
     // Sanity check.
@@ -433,7 +436,7 @@ class CiviCRM_For_WordPress_Shortcodes {
     // Access CiviCRM config object.
     $config = CRM_Core_Config::singleton();
 
-    // Do we have multiple shortcodes?
+    // Do we have multiple Shortcodes?
     if ($multiple != 0) {
 
       $links = [];
@@ -522,12 +525,11 @@ class CiviCRM_For_WordPress_Shortcodes {
       $link,
 
       /**
-       * Filter the CiviCRM shortcode more link text.
+       * Filter the CiviCRM Shortcode more link text.
        *
        * @since 4.6
        *
-       * @param str The existing shortcode more link text.
-       * @return str The modified shortcode more link text.
+       * @param str The existing Shortcode more link text.
        */
       apply_filters('civicrm_shortcode_more_link', __('Find out more...', 'civicrm'))
 
@@ -547,12 +549,11 @@ class CiviCRM_For_WordPress_Shortcodes {
       $empowered = sprintf(__('Empowered by %s', 'civicrm'), $civi_link);
 
       /**
-       * Filter the CiviCRM shortcode footer text.
+       * Filter the CiviCRM Shortcode footer text.
        *
        * @since 4.6
        *
-       * @param str $empowered The existing shortcode footer.
-       * @return str $empowered The modified shortcode footer.
+       * @param str $empowered The existing Shortcode footer.
        */
       $footer = apply_filters('civicrm_shortcode_footer', $empowered);
 
@@ -570,14 +571,13 @@ class CiviCRM_For_WordPress_Shortcodes {
     $markup = ob_get_clean();
 
     /**
-     * Filter the computed CiviCRM shortcode markup.
+     * Filter the computed CiviCRM Shortcode markup.
      *
      * @since 4.6
      *
-     * @param str $markup The computed shortcode markup.
+     * @param str $markup The computed Shortcode markup.
      * @param int $post_id The numeric ID of the WordPress post.
-     * @param string $shortcode The shortcode being parsed.
-     * @return str $markup The modified shortcode markup.
+     * @param string $shortcode The Shortcode being parsed.
      */
     return apply_filters('civicrm_shortcode_render_multiple', $markup, $post_id, $shortcode);
 
@@ -610,7 +610,7 @@ class CiviCRM_For_WordPress_Shortcodes {
       return $content;
     }
 
-    // Bail if it has multiple shortcodes.
+    // Bail if it has multiple Shortcodes.
     if (count($this->shortcode_markup[$post->ID]) > 1) {
       return $content;
     }
@@ -640,7 +640,7 @@ class CiviCRM_For_WordPress_Shortcodes {
       return $title;
     }
 
-    // Bail if it has multiple shortcodes.
+    // Bail if it has multiple Shortcodes.
     if (count($this->shortcode_markup[$post_id]) > 1) {
       return $title;
     }
@@ -729,12 +729,12 @@ class CiviCRM_For_WordPress_Shortcodes {
   }
 
   /**
-   * Return attributes for a given CiviCRM shortcode.
+   * Return attributes for a given CiviCRM Shortcode.
    *
    * @since 4.6
    *
-   * @param $shortcode The shortcode to parse.
-   * @return array $shortcode_atts Array of shortcode attributes.
+   * @param $shortcode The Shortcode to parse.
+   * @return array $shortcode_atts Array of Shortcode attributes.
    */
   private function get_atts($shortcode) {
 
@@ -750,7 +750,7 @@ class CiviCRM_For_WordPress_Shortcodes {
   }
 
   /**
-   * Preprocess CiviCRM-defined shortcodes.
+   * Preprocess CiviCRM-defined Shortcodes.
    *
    * @since 4.6
    *
@@ -887,30 +887,29 @@ class CiviCRM_For_WordPress_Shortcodes {
     }
 
     /**
-     * Filter the CiviCRM shortcode arguments.
+     * Filter the CiviCRM Shortcode arguments.
      *
      * This filter allows plugins or CiviCRM Extensions to modify the attributes
-     * that the 'civicrm' shortcode allows. Injected attributes and their values
+     * that the 'civicrm' Shortcode allows. Injected attributes and their values
      * will also become available in the $_REQUEST and $_GET arrays.
      *
      * @since 4.7.28
      *
-     * @param array $args Existing shortcode arguments.
+     * @param array $args Existing Shortcode arguments.
      * @param array $shortcode_atts Shortcode attributes.
-     * @return array $args Modified shortcode arguments.
      */
     return apply_filters('civicrm_shortcode_preprocess_atts', $args, $shortcode_atts);
 
   }
 
   /**
-   * Post-process CiviCRM-defined shortcodes.
+   * Post-process CiviCRM-defined Shortcodes.
    *
    * @since 4.6
    *
    * @param array $atts Shortcode attributes array.
    * @param array $args Shortcode arguments array.
-   * @return array|bool $data The array data used to build the shortcode markup, or false on failure.
+   * @return array|bool $data The array data used to build the Shortcode markup, or false on failure.
    */
   public function get_data($atts, $args) {
 
@@ -925,18 +924,16 @@ class CiviCRM_For_WordPress_Shortcodes {
      * Filter the base CiviCRM API parameters.
      *
      * This filter allows plugins or CiviCRM Extensions to modify the API call
-     * when there are multiple shortcodes being rendered.
+     * when there are multiple Shortcodes being rendered.
      *
      * @since 4.7.28
      *
      * @param array $params Existing API params.
      * @param array $atts Shortcode attributes array.
      * @param array $args Shortcode arguments array.
-     * @return array $params Modified API params.
      */
     $params = apply_filters('civicrm_shortcode_api_params', [
-      'version' => 3,
-      'sequential' => '1',
+      'sequential' => 1,
     ], $atts, $args);
 
     // Get the CiviCRM entity via the API.
@@ -948,7 +945,7 @@ class CiviCRM_For_WordPress_Shortcodes {
         $params['id'] = $args['id'];
 
         // Call API.
-        $civi_entity = civicrm_api('contribution_page', 'getsingle', $params);
+        $civi_entity = civicrm_api3('ContributionPage', 'getsingle', $params);
 
         // Set title.
         $data['title'] = $civi_entity['title'];
@@ -967,7 +964,7 @@ class CiviCRM_For_WordPress_Shortcodes {
         $params['id'] = $args['id'];
 
         // Call API.
-        $civi_entity = civicrm_api('event', 'getsingle', $params);
+        $civi_entity = civicrm_api3('Event', 'getsingle', $params);
 
         // Set title.
         switch ($atts['action']) {
@@ -1011,7 +1008,7 @@ class CiviCRM_For_WordPress_Shortcodes {
         $params['id'] = $args['gid'];
 
         // Call API.
-        $civi_entity = civicrm_api('uf_group', 'getsingle', $params);
+        $civi_entity = civicrm_api3('UFGroup', 'getsingle', $params);
 
         // Set title.
         $data['title'] = $civi_entity['title'];
@@ -1026,7 +1023,7 @@ class CiviCRM_For_WordPress_Shortcodes {
         $params['id'] = $atts['id'];
 
         // Call API.
-        $civi_entity = civicrm_api('survey', 'getsingle', $params);
+        $civi_entity = civicrm_api3('Survey', 'getsingle', $params);
 
         // Set title.
         $data['title'] = $civi_entity['title'];
@@ -1040,23 +1037,22 @@ class CiviCRM_For_WordPress_Shortcodes {
         break;
 
       default:
-        // Do we need to protect against malformed shortcodes?
+        // Do we need to protect against malformed Shortcodes?
         break;
 
     }
 
     /**
-     * Filter the CiviCRM shortcode data array.
+     * Filter the CiviCRM Shortcode data array.
      *
      * This filter allows plugins or CiviCRM Extensions to modify the data used
-     * to display the shortcode when there are multiple shortcodes being rendered.
+     * to display the Shortcode when there are multiple Shortcodes being rendered.
      *
      * @since 4.7.28
      *
-     * @param array $data The existing shortcode data.
+     * @param array $data The existing Shortcode data.
      * @param array $atts Shortcode attributes array.
      * @param array $args Shortcode arguments array.
-     * @return array $data The modified shortcode data.
      */
     return apply_filters('civicrm_shortcode_get_data', $data, $atts, $args);
 
diff --git a/includes/civicrm.users.php b/includes/civicrm.users.php
index e4ee2f7542aa60cda3518e428be335edab2322f0..14a384f0a6a6ba93747fadf20926ebcc0910928e 100644
--- a/includes/civicrm.users.php
+++ b/includes/civicrm.users.php
@@ -47,7 +47,7 @@ class CiviCRM_For_WordPress_Users {
     $this->civi = civi_wp();
 
     // Always listen for activation action.
-    add_action('civicrm_activation', [$this, 'activate']);
+    add_action('civicrm_activate', [$this, 'activate']);
 
   }
 
@@ -59,7 +59,7 @@ class CiviCRM_For_WordPress_Users {
   public function activate() {
 
     /*
-     * Assign minimum capabilities for all WordPress roles and create
+     * Assign minimum capabilities to all WordPress roles and create
      * 'anonymous_user' role.
      */
     $this->set_wp_user_capabilities();
@@ -86,14 +86,22 @@ class CiviCRM_For_WordPress_Users {
     add_action('profile_update', [$this, 'update_user']);
 
     // Delete ufMatch record when a WordPress user is deleted.
-    add_action('deleted_user', [$this, 'delete_user_ufmatch'], 10, 1);
+    add_action('deleted_user', [$this, 'delete_user_ufmatch']);
 
   }
 
   /**
    * Check permissions.
    *
-   * Authentication function used by basepage_register_hooks()
+   * This method only denies permission when the CiviCRM path that is requested
+   * begins with "civicrm/admin". Its intention seems to be to exclude admin
+   * requests from display on the front-end.
+   *
+   * Used internally by:
+   *
+   * - CiviCRM_For_WordPress_Basepage::basepage_handler()
+   * - CiviCRM_For_WordPress_Shortcodes::render_single()
+   * - civicrm_check_permission()
    *
    * @since 4.6
    *
@@ -113,7 +121,7 @@ class CiviCRM_For_WordPress_Users {
 
     require_once 'CRM/Utils/Array.php';
 
-    // All profile and file urls, as well as user dashboard and tell-a-friend are valid.
+    // All profile and file URLs, as well as user dashboard and tell-a-friend are valid.
     $arg1 = CRM_Utils_Array::value(1, $args);
     $invalidPaths = ['admin'];
     if (in_array($arg1, $invalidPaths)) {
@@ -195,8 +203,8 @@ class CiviCRM_For_WordPress_Users {
    */
   public function sync_user($user = FALSE) {
 
-    // Sanity check
-    if ($user === FALSE || !is_a($user, 'WP_User')) {
+    // Sanity check.
+    if ($user === FALSE || !($user instanceof WP_User)) {
       return;
     }
 
@@ -258,11 +266,6 @@ class CiviCRM_For_WordPress_Users {
    */
   public function set_wp_user_capabilities() {
 
-    global $wp_roles;
-    if (!isset($wp_roles)) {
-      $wp_roles = new WP_Roles();
-    }
-
     // Define minimum capabilities (CiviCRM permissions).
     $default_min_capabilities = [
       'access_civimail_subscribe_unsubscribe_pages' => 1,
@@ -284,11 +287,11 @@ class CiviCRM_For_WordPress_Users {
      * @since 4.6
      *
      * @param array $default_min_capabilities The minimum capabilities.
-     * @return array $default_min_capabilities The modified capabilities.
      */
     $min_capabilities = apply_filters('civicrm_min_capabilities', $default_min_capabilities);
 
     // Assign the minimum capabilities to all WordPress roles.
+    $wp_roles = wp_roles();
     foreach ($wp_roles->role_names as $role => $name) {
       $roleObj = $wp_roles->get_role($role);
       foreach ($min_capabilities as $capability_name => $capability_value) {
@@ -298,11 +301,7 @@ class CiviCRM_For_WordPress_Users {
 
     // Add the 'anonymous_user' role with minimum capabilities.
     if (!in_array('anonymous_user', $wp_roles->roles)) {
-      add_role(
-        'anonymous_user',
-        __('Anonymous User', 'civicrm'),
-        $min_capabilities
-      );
+      add_role('anonymous_user', __('Anonymous User', 'civicrm'), $min_capabilities);
     }
 
   }
@@ -319,11 +318,7 @@ class CiviCRM_For_WordPress_Users {
    */
   public function set_access_capabilities() {
 
-    // Test for existing global
-    global $wp_roles;
-    if (!isset($wp_roles)) {
-      $wp_roles = new WP_Roles();
-    }
+    $wp_roles = wp_roles();
 
     /**
      * Filter the default roles with access to CiviCRM.
@@ -334,7 +329,6 @@ class CiviCRM_For_WordPress_Users {
      * @since 4.6
      *
      * @param array The default roles with access to CiviCRM.
-     * @return array The modified roles with access to CiviCRM.
      */
     $roles = apply_filters('civicrm_access_roles', ['super admin', 'administrator']);
 
diff --git a/uninstall.php b/uninstall.php
index 4dfde30a00f0572b86e70464f436adbf7baf840f..ae999bbe45c70c483b4b09f9157a5c746e4106ed 100644
--- a/uninstall.php
+++ b/uninstall.php
@@ -24,3 +24,8 @@ if (!defined('WP_UNINSTALL_PLUGIN')) {
 
 // Delete options that this plugin has set.
 delete_option('civicrm_activation_in_progress');
+delete_option('civicrm_rules_flushed');
+
+// TODO: Remove the CiviCRM Base Page(s).
+// TODO: Remove the directory/directories that "civicrm.settings.php" lives in.
+// TODO: Remove the CiviCRM database(s).
diff --git a/wp-cli/README.md b/wp-cli/README.md
index cca2d33488e1951d6c2bbf74d71ebdf39cabfaf1..65be93e4739ef69788c0c7a7ae442f7eac1dc2ec 100644
--- a/wp-cli/README.md
+++ b/wp-cli/README.md
@@ -1,4 +1,88 @@
-wp-cli-civicrm
-==============
+# WP-CLI integration for CiviCRM
 
-WP-CLI integration for CiviCRM
+#### wp civicrm api
+
+Command for accessing the CiviCRM API. Syntax is identical to `drush cvap`.
+
+#### wp civicrm cache-clear
+
+Command for accessing clearing cache. Equivilant of running `civicrm/admin/setting/updateConfigBackend&reset=1`.
+
+#### wp civicrm enable-debug
+
+Command for to turn debug on.
+
+#### wp civicrm disable-debug
+
+Command for to turn debug off.
+
+#### wp civicrm member-records
+
+Run the CiviMember UpdateMembershipRecord cron (civicrm member-records).
+
+#### wp civicrm process-mail-queue
+
+Process pending CiviMail mailing jobs.
+
+Example: `wp civicrm process-mail-queue -u admin`
+
+#### wp civicrm rest
+
+Rest interface for accessing CiviCRM APIs. It can return `xml` or `json` formatted data.
+
+#### wp civicrm restore
+
+Restore CiviCRM codebase and database back from the specified backup directory.
+
+#### wp civicrm sql-conf
+
+Show CiviCRM database connection details.
+
+#### wp civicrm sql-connect
+
+A string which connects to the CiviCRM database.
+
+#### wp civicrm sql-cli
+
+Quickly enter the `mysql` command line.
+
+#### wp civicrm sql-dump
+
+Prints the whole CiviCRM database to `STDOUT` or save to a file.
+
+#### wp civicrm sql-query
+
+Usage: `wp civicrm sql-query <query> <options>...`
+
+`<query>` is a SQL statement which can alternatively be passed via `STDIN`. Any additional arguments are passed to the `mysql` command directly.
+
+#### wp civicrm update-cfg
+
+Update `config_backend` to correct config settings, especially when the CiviCRM site has been cloned or migrated.
+
+#### wp civicrm upgrade
+
+Take backups, replace CiviCRM codebase with new specified tarfile and upgrade database by executing the CiviCRM upgrade process - `civicrm/upgrade?reset=1`. Use `wp civicrm restore` to revert to previous state in case anything goes wrong.
+
+#### wp civicrm upgrade-db
+
+Run `civicrm/upgrade?reset=1` just as a web browser would.
+
+#### wp civicrm install
+
+Command for to install CiviCRM. The install command requires that you have downloaded a tarball or zip file first.
+
+Options:
+
+```
+--dbhost            MySQL host for your WordPress/CiviCRM database. Defaults to localhost.
+--dbname            MySQL database name of your WordPress/CiviCRM database.
+--dbpass            MySQL password for your WordPress/CiviCRM database.
+--dbuser            MySQL username for your WordPress/CiviCRM database.
+--lang              Default language to use for installation.
+--langtarfile       Path to your l10n tar.gz file.
+--site_url          Base Url for your WordPress/CiviCRM website without http (e.g. mysite.com)
+--ssl               Using ssl for your WordPress/CiviCRM website if set to on (e.g. --ssl=on)
+--tarfile           Path to your CiviCRM tar.gz file.
+--zipfile           Path to your CiviCRM zip file.
+```
diff --git a/wp-cli/civicrm.php b/wp-cli/civicrm.php
index 664b50f7c02be681c66788158b039000b0fee8c8..9532e8cb714ff0807ddbaa322d5d68140c28acc8 100644
--- a/wp-cli/civicrm.php
+++ b/wp-cli/civicrm.php
@@ -9,15 +9,22 @@
  +--------------------------------------------------------------------+
  */
 
+/**
+ *
+ * @package CRM
+ * @copyright CiviCRM LLC https://civicrm.org/licensing
+ *
+ */
+
 if (!defined('CIVICRM_WPCLI_LOADED')) {
   define('CIVICRM_WPCLI_LOADED', 1);
 
   /**
-   * WP-CLI port of drush-civicrm integration
-   * andyw@circle, 08/03/2014
+   * WP-CLI port of drush-civicrm integration.
+   *
+   * @see https://github.com/andy-walker/wp-cli-civicrm
    *
-   * Distributed under the GNU Affero General Public License, version 3
-   * http://www.gnu.org/licenses/agpl-3.0.html
+   * @since 4.5
    */
   class CiviCRM_Command extends WP_CLI_Command {
 
@@ -28,27 +35,32 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
      * WP-CLI integration with CiviCRM.
      *
      * wp civicrm api
-     * ===============
-     * Command for accessing CiviCRM APIs. Syntax is identical to drush cvap.
+     * ==============
+     * Command for accessing the CiviCRM API. Syntax is identical to `drush cvap`.
      *
      * wp civicrm cache-clear
-     * ===============
-     * Command for accessing clearing cache.  Equivilant of running civicrm/admin/setting/updateConfigBackend&reset=1
+     * ======================
+     * Command for accessing clearing cache.  Equivilant of running `civicrm/admin/setting/updateConfigBackend&reset=1`.
      *
      * wp civicrm enable-debug
-     * ===============
+     * =======================
      * Command for to turn debug on.
      *
      * wp civicrm disable-debug
-     * ===============
+     * ========================
      * Command for to turn debug off.
      *
      * wp civicrm member-records
-     * ===============
+     * =========================
      * Run the CiviMember UpdateMembershipRecord cron (civicrm member-records).
      *
+     * wp civicrm pipe <connection-flags>
+     * ==================
+     * Start a Civi::pipe session (JSON-RPC 2.0)
+     * See https://docs.civicrm.org/dev/en/latest/framework/pipe#flags
+     *
      * wp civicrm process-mail-queue
-     * ===============
+     * =============================
      * Process pending CiviMail mailing jobs.
      * Example:
      * wp civicrm process-mail-queue -u admin
@@ -59,15 +71,15 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
      *
      * wp civicrm restore
      * ==================
-     * Restore CiviCRM codebase and database back from the specified backup directory
+     * Restore CiviCRM codebase and database back from the specified backup directory.
      *
      * wp civicrm sql-conf
      * ===================
-     * Show civicrm database connection details.
+     * Show CiviCRM database connection details.
      *
      * wp civicrm sql-connect
      * ======================
-     * A string which connects to the civicrm database.
+     * A string which connects to the CiviCRM database.
      *
      * wp civicrm sql-cli
      * ==================
@@ -80,11 +92,11 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
      * wp civicrm sql-query
      * ====================
      * Usage: wp civicrm sql-query <query> <options>...
-     * <query> is a SQL statement, which can alternatively be passed via STDIN. Any additional arguments are passed to the mysql command directly.";
+     * <query> is a SQL statement, which can alternatively be passed via STDIN. Any additional arguments are passed to the mysql command directly.
      *
      * wp civicrm update-cfg
      * =====================
-     * Update config_backend to correct config settings, especially when the CiviCRM site has been cloned / migrated.
+     * Update config_backend to correct config settings, especially when the CiviCRM site has been cloned or migrated.
      *
      * wp civicrm upgrade
      * ==================
@@ -95,7 +107,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
      * Run civicrm/upgrade?reset=1 just as a web browser would.
      *
      * wp civicrm install
-     * ===============
+     * ==================
      * Command for to install CiviCRM.  The install command requires that you have downloaded a tarball or zip file first.
      * Options:
      * --dbhost            MySQL host for your WordPress/CiviCRM database. Defaults to localhost.
@@ -107,6 +119,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
      * --site_url          Base Url for your WordPress/CiviCRM website without http (e.g. mysite.com)
      * --ssl               Using ssl for your WordPress/CiviCRM website if set to on (e.g. --ssl=on)
      * --tarfile           Path to your CiviCRM tar.gz file.
+     * --zipfile           Path to your CiviCRM zip file.
      *
      */
     public function __invoke($args, $assoc_args) {
@@ -114,7 +127,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       $this->args       = $args;
       $this->assoc_args = $assoc_args;
 
-      # define command router
+      // Define command router.
       $command_router = [
         'api'                => 'api',
         'cache-clear'        => 'cacheClear',
@@ -122,6 +135,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         'disable-debug'      => 'disableDebug',
         'install'            => 'install',
         'member-records'     => 'memberRecords',
+        'pipe'               => 'pipe',
         'process-mail-queue' => 'processMailQueue',
         'rest'               => 'rest',
         'restore'            => 'restore',
@@ -135,26 +149,33 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         'upgrade-db'         => 'upgradeDB',
       ];
 
-      # get command
+      // Get the command.
       $command = array_shift($args);
 
-      # check for existence of Civi (except for command 'install')
-      if (!function_exists('civicrm_initialize') and 'install' != $command) {
+      // Allow help to pass.
+      if ('help' === $command) {
+        return;
+      }
+
+      // Check for existence of CiviCRM (except for command 'install').
+      if (!function_exists('civicrm_initialize') && 'install' != $command) {
         return WP_CLI::error('Unable to find CiviCRM install.');
       }
 
-      # check existence of router entry / handler method
-      if (!isset($command_router[$command]) or !method_exists($this, $command_router[$command])) {
-        return WP_CLI::error("Unrecognized command - '$command'");
+      // Check existence of router entry / handler method.
+      if (!isset($command_router[$command]) || !method_exists($this, $command_router[$command])) {
+        return WP_CLI::error(sprintf('Unrecognized command: %s', $command));
       }
 
-      # run command
+      // Run command.
       return $this->{$command_router[$command]}();
 
     }
 
     /**
-     * Implementation of command 'api'
+     * Implementation of command 'api'.
+     *
+     * @since 4.5
      */
     private function api() {
 
@@ -164,11 +185,11 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       list($entity, $action) = explode('.', $this->args[0]);
       array_shift($this->args);
 
-      # parse $params
+      //  Parse params.
       $format = $this->getOption('in', 'args');
       switch ($format) {
 
-        # input params supplied via args ..
+        //  Input params supplied via args.
         case 'args':
           $params = $defaults;
           foreach ($this->args as $arg) {
@@ -177,20 +198,21 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
           }
           break;
 
-        # input params supplied via json ..
+        //  Input params supplied via json.
         case 'json':
           $json   = stream_get_contents(STDIN);
           $params = (empty($json) ? $defaults : array_merge($defaults, json_decode($json, TRUE)));
           break;
 
         default:
-          WP_CLI::error('Unknown format: ' . $format);
+          WP_CLI::error(sprintf('Unknown format: %s', $format));
           break;
+
       }
 
       civicrm_initialize();
 
-      // CRM-18062: Set CiviCRM timezone if any
+      // CRM-18062: Set CiviCRM timezone if any.
       $wp_base_timezone = date_default_timezone_get();
       $wp_user_timezone = $this->getOption('timezone', get_option('timezone_string'));
       if ($wp_user_timezone) {
@@ -200,32 +222,34 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
 
       $result = civicrm_api($entity, $action, $params);
 
-      // restore WP's timezone
+      // Restore WordPress's timezone.
       if ($wp_base_timezone) {
         date_default_timezone_set($wp_base_timezone);
       }
 
       switch ($this->getOption('out', 'pretty')) {
 
-        # pretty-print output (default)
+        // Pretty-print output (default).
         case 'pretty':
           WP_CLI::line(print_r($result, TRUE));
           break;
 
-        # display output as json
+        // Display output as json.
         case 'json':
           WP_CLI::line(json_encode($result));
           break;
 
         default:
-          return WP_CLI::error('Unknown format: ' . $format);
+          return WP_CLI::error(sprintf('Unknown format: %s', $format));
 
       }
 
     }
 
     /**
-     * Implementation of command 'cache-clear'
+     * Implementation of command 'cache-clear'.
+     *
+     * @since 4.5
      */
     private function cacheClear() {
 
@@ -233,20 +257,22 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       require_once 'CRM/Core/Config.php';
       $config = CRM_Core_Config::singleton();
 
-      # clear db caching
+      // Clear db caching.
       $config->clearDBCache();
 
-      # also cleanup the templates_c directory
+      // Also cleanup the templates_c directory.
       $config->cleanup(1, FALSE);
 
-      # also cleanup the session object
+      // Also cleanup the session object.
       $session = CRM_Core_Session::singleton();
       $session->reset(1);
 
     }
 
     /**
-     * Implementation of command 'enable-debug'
+     * Implementation of command 'enable-debug'.
+     *
+     * @since 4.5
      */
     private function enableDebug() {
       civicrm_initialize();
@@ -258,7 +284,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'disable-debug'
+     * Implementation of command 'disable-debug'.
+     *
+     * @since 4.7
      */
     private function disableDebug() {
       civicrm_initialize();
@@ -270,14 +298,16 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'install'
+     * Implementation of command 'install'.
+     *
+     * @since 4.5
      */
     private function install() {
       if ('on' === $this->getOption('ssl', FALSE)) {
         $_SERVER['HTTPS'] = 'on';
       }
 
-      # identify destination
+      // Identify the destination.
 
       if ($plugin_path = $this->getOption('destination', FALSE)) {
         $plugin_path = ABSPATH . $plugin_path;
@@ -290,24 +320,20 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       $crmPath = "$plugin_path/civicrm";
       $crm_files_present = is_dir($crmPath);
 
-      # validate
+      // Validate install parameters.
 
       if (!$dbuser = $this->getOption('dbuser', FALSE)) {
         return WP_CLI::error('CiviCRM database username not specified.');
       }
-
       if (!$dbpass = $this->getOption('dbpass', FALSE)) {
         return WP_CLI::error('CiviCRM database password not specified.');
       }
-
       if (!$dbhost = $this->getOption('dbhost', FALSE)) {
         return WP_CLI::error('CiviCRM database host not specified.');
       }
-
       if (!$dbname = $this->getOption('dbname', FALSE)) {
         return WP_CLI::error('CiviCRM database name not specified.');
       }
-
       if ($lang = $this->getOption('lang', FALSE)) {
         $moPath = "$crmPath/l10n/$lang/LC_MESSAGES/civicrm.mo";
 
@@ -316,16 +342,16 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         }
       }
 
-      # extract the archive
+      // Extract the archive.
       if ($this->getOption('tarfile', FALSE)) {
-        # should probably never get to here as Wordpress Civi comes in a zip file, but
-        # just in case that ever changes ..
+        // Should probably never get to here as Wordpress Civi comes in a zip file.
+        // Check anyway just in case that ever changes.
         if ($crm_files_present) {
           return WP_CLI::error('Existing CiviCRM found. No action taken.');
         }
 
         if (!$this->untar(dirname($plugin_path))) {
-          return WP_CLI::error('Error extracting tarfile');
+          return WP_CLI::error('Error extracting tarfile.');
         }
       }
       elseif ($this->getOption('zipfile', FALSE)) {
@@ -334,19 +360,18 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         }
 
         if (!$this->unzip(dirname($plugin_path))) {
-          return WP_CLI::error('Error extracting zipfile');
+          return WP_CLI::error('Error extracting zipfile.');
         }
       }
       elseif ($crm_files_present) {
-        // Site is already extracted (which is how we're running this
-        // script); we just need to run the installer.
-
+        // Site is already extracted - which is how we're running this script.
+        // We just need to run the installer.
       }
       else {
-        return WP_CLI::error('No zipfile specified, use --zipfile=path/to/zipfile or extract file ahead of time');
+        return WP_CLI::error('No zipfile specified. Use "--zipfile=path/to/zipfile" or extract file ahead of time.');
       }
 
-      # include civicrm installer helper file
+      // Include CiviCRM classloader - so that we can run `Civi\Setup`.
       $classLoaderPath = "$crmPath/CRM/Core/ClassLoader.php";
 
       if (!file_exists($classLoaderPath)) {
@@ -370,7 +395,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       }
 
       if (!empty($lang) && !file_exists($moPath)) {
-        return WP_CLI::error("Failed to find data for language ($lang). Please download valid language data with --langtarfile=<path/to/tarfile>.");
+        return WP_CLI::error("Failed to find data for language ($lang). Please download valid language data with \"--langtarfile=<path/to/tarfile>\".");
       }
 
       // Initialize civicrm-setup
@@ -421,7 +446,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'member-records'
+     * Implementation of command 'member-records'.
+     *
+     * @since 4.5
      */
     private function memberRecords() {
 
@@ -431,7 +458,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
 
         $job = new CRM_Core_JobManager();
         $job->executeJobByAction('job', 'process_membership');
-        WP_CLI::success("Executed 'process_membership' job.");
+        WP_CLI::success('Executed "process_membership" job.');
 
       }
       else {
@@ -459,8 +486,24 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
 
     }
 
+    private function pipe() {
+      civicrm_initialize();
+      if (!is_callable(['Civi', 'pipe'])) {
+        return WP_CLI::error('This version of CiviCRM does not include Civi::pipe() support.');
+      }
+
+      if (!empty($this->args[1])) {
+        Civi::pipe($this->args[1]);
+      }
+      else {
+        Civi::pipe();
+      }
+    }
+
     /**
-     * Implementation of command 'process-mail-queue'
+     * Implementation of command 'process-mail-queue'.
+     *
+     * @since 4.5
      */
     private function processMailQueue() {
 
@@ -484,7 +527,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'rest'
+     * Implementation of command 'rest'.
+     *
+     * @since 4.5
      */
     private function rest() {
 
@@ -510,7 +555,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       $config = CRM_Core_Config::singleton();
 
       global $civicrm_root;
-      // adding dummy script, since based on this api file path is computed.
+      // Adding dummy script, since based on this api file path is computed.
       $_SERVER['SCRIPT_FILENAME'] = "$civicrm_root/extern/rest.php";
 
       if (isset($_GET['json']) && $_GET['json']) {
@@ -525,31 +570,33 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'restore'
+     * Implementation of command 'restore'.
+     *
+     * @since 4.5
      */
     private function restore() {
 
-      # validate ..
+      // Validate.
       $restore_dir = $this->getOption('restore-dir', FALSE);
       $restore_dir = rtrim($restore_dir, '/');
       if (!$restore_dir) {
-        return WP_CLI::error('Restore-dir not specified.');
+        return WP_CLI::error('"restore-dir" not specified.');
       }
 
       $sql_file = $restore_dir . '/civicrm.sql';
       if (!file_exists($sql_file)) {
-        return WP_CLI::error('Could not locate civicrm.sql file in the restore directory.');
+        return WP_CLI::error('Could not locate "civicrm.sql" file in the restore directory.');
       }
 
       $code_dir = $restore_dir . '/civicrm';
       if (!is_dir($code_dir)) {
-        return WP_CLI::error('Could not locate civicrm directory inside restore-dir.');
+        return WP_CLI::error('Could not locate the CiviCRM directory inside "restore-dir".');
       }
-      elseif (!file_exists("$code_dir/civicrm/civicrm-version.txt") and !file_exists("$code_dir/civicrm/civicrm-version.php")) {
-        return WP_CLI::error('civicrm directory inside restore-dir, doesn\'t look to be a valid civicrm codebase.');
+      elseif (!file_exists("$code_dir/civicrm/civicrm-version.txt") && !file_exists("$code_dir/civicrm/civicrm-version.php")) {
+        return WP_CLI::error('The CiviCRM directory inside "restore-dir" does not seem to be a valid CiviCRM codebase.');
       }
 
-      # prepare to restore ..
+      // Prepare to restore.
       $date = date('YmdHis');
 
       civicrm_initialize();
@@ -572,7 +619,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       $restore_backup_dir = $this->getOption('backup-dir', $wp_root . '/../backup');
       $restore_backup_dir = rtrim($restore_backup_dir, '/');
 
-      # get confirmation from user -
+      // Get confirmation from user.
 
       if (!defined('CIVICRM_DSN')) {
         WP_CLI::error('CIVICRM_DSN is not defined.');
@@ -585,7 +632,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       WP_CLI::line(sprintf("2. Dropping and creating '%s' database.", $db_spec['database']));
       WP_CLI::line("3. Loading '\$restore-dir/civicrm.sql' file into the database.");
       WP_CLI::line('');
-      WP_CLI::line(sprintf("Note: Before restoring a backup will be taken in '%s' directory.", "$restore_backup_dir/plugins/restore"));
+      WP_CLI::line(sprintf("Note: Before restoring, a backup will be taken in '%s' directory.", "$restore_backup_dir/plugins/restore"));
       WP_CLI::line('');
 
       WP_CLI::confirm('Do you really want to continue?');
@@ -593,22 +640,22 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       $restore_backup_dir .= '/plugins/restore/' . $date;
 
       if (!mkdir($restore_backup_dir, 0755, TRUE)) {
-        return WP_CLI::error('Failed creating directory: ' . $restore_backup_dir);
+        return WP_CLI::error(sprintf('Failed to create directory: %s', $restore_backup_dir));
       }
 
-      # 1. backup and restore codebase
-      WP_CLI::line('Restoring civicrm codebase ..');
+      // 1. Backup and restore codebase.
+      WP_CLI::line('Restoring CiviCRM codebase...');
       if (is_dir($project_path) && !rename($project_path, $restore_backup_dir . '/civicrm')) {
         return WP_CLI::error(sprintf("Failed to take backup for '%s' directory", $project_path));
       }
 
       if (!rename($code_dir, $project_path)) {
-        return WP_CLI::error("Failed to restore civicrm directory '%s' to '%s'", $code_dir, $project_path);
+        return WP_CLI::error(sprintf("Failed to restore CiviCRM directory '%s' to '%s'", $code_dir, $project_path));
       }
 
       WP_CLI::success('Codebase restored.');
 
-      # 2. backup, drop and create database
+      // 2. Backup, drop and create database.
       WP_CLI::run_command(
         ['civicrm', 'sql-dump'],
         ['result-file' => $restore_backup_dir . '/civicrm.sql']
@@ -616,8 +663,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
 
       WP_CLI::success('Database backed up.');
 
-      # prepare a mysql command-line string for issuing
-      # db drop / create commands
+      // Prepare a mysql command-line string for issuing db drop/create commands.
       $command = sprintf(
         'mysql --user=%s --password=%s',
         $db_spec['username'],
@@ -628,31 +674,31 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         $command .= ' --host=' . $db_spec['hostspec'];
       }
 
-      if (isset($dsn['port']) and !mpty($dsn['port'])) {
+      if (isset($dsn['port']) && !mpty($dsn['port'])) {
         $command .= ' --port=' . $db_spec['port'];
       }
 
-      # attempt to drop old database
+      // Attempt to drop old database.
       if (system($command . sprintf(' --execute="DROP DATABASE IF EXISTS %s"', $db_spec['database']))) {
-        return WP_CLI::error('Could not drop database: ' . $db_spec['database']);
+        return WP_CLI::error(sprintf('Could not drop database: %s', $db_spec['database']));
       }
 
       WP_CLI::success('Database dropped.');
 
-      # attempt to create new database
+      // Attempt to create new database.
       if (system($command . sprintf(' --execute="CREATE DATABASE %s"', $db_spec['database']))) {
-        WP_CLI::error('Could not create new database: ' . $db_spec['database']);
+        WP_CLI::error(sprintf('Could not create new database: %s', $db_spec['database']));
       }
 
       WP_CLI::success('Database created.');
 
-      # 3. restore database
-      WP_CLI::line('Loading civicrm.sql file from restore-dir ..');
+      // 3. Restore database.
+      WP_CLI::line('Loading "civicrm.sql" file from "restore-dir"...');
       system($command . ' ' . $db_spec['database'] . ' < ' . $sql_file);
 
       WP_CLI::success('Database restored.');
 
-      WP_CLI::line('Clearing caches..');
+      WP_CLI::line('Clearing caches...');
       WP_CLI::run_command(['civicrm', 'cache-clear']);
 
       WP_CLI::success('Restore process completed.');
@@ -660,7 +706,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'sql-conf'
+     * Implementation of command 'sql-conf'.
+     *
+     * @since 4.5
      */
     private function sqlConf() {
 
@@ -674,7 +722,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'sql-connect'
+     * Implementation of command 'sql-connect'.
+     *
+     * @since 4.5
      */
     private function sqlConnect() {
 
@@ -693,7 +743,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         $dsn['password']
       );
 
-      if (isset($dsn['port']) and !empty($dsn['port'])) {
+      if (isset($dsn['port']) && !empty($dsn['port'])) {
         $command .= ' --port=' . $dsn['port'];
       }
 
@@ -702,16 +752,18 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'sql-dump'
+     * Implementation of command 'sql-dump'.
+     *
+     * @since 4.5
      */
     private function sqlDump() {
 
-      # bootstrap Civi when we're not being called as part of an upgrade
+      // Bootstrap CiviCRM when we're not being called as part of an upgrade.
       if (!defined('CIVICRM_UPGRADE_ACTIVE')) {
         civicrm_initialize();
       }
 
-      if (!defined('CIVICRM_DSN') and !defined('CIVICRM_OLD_DSN')) {
+      if (!defined('CIVICRM_DSN') && !defined('CIVICRM_OLD_DSN')) {
         WP_CLI::error('DSN is not defined.');
       }
 
@@ -749,7 +801,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'sql-query'
+     * Implementation of command 'sql-query'.
+     *
+     * @since 4.5
      */
     private function sqlQuery() {
 
@@ -780,7 +834,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'sql-cli'
+     * Implementation of command 'sql-cli'.
+     *
+     * @since 4.5
      */
     private function sqlCLI() {
 
@@ -803,7 +859,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'update-cfg'
+     * Implementation of command 'update-cfg'.
+     *
+     * @since 4.5
      */
     private function updateConfig() {
 
@@ -831,8 +889,8 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
 
       if ($result) {
 
-        # attempt to preserve webserver ownership of templates_c, civicrm/upload
-        if ($webserver_user and $webserver_group) {
+        // Attempt to preserve webserver ownership of templates_c, civicrm/upload.
+        if ($webserver_user && $webserver_group) {
           $upload_dir      = wp_upload_dir();
           $civicrm_files_dir      = $upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'civicrm' . DIRECTORY_SEPARATOR;
           system(sprintf('chown -R %s:%s %s/templates_c', $webserver_user, $webserver_group, $civicrm_files_dir));
@@ -849,17 +907,19 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'upgrade'
+     * Implementation of command 'upgrade'.
+     *
+     * @since 4.5
      */
     private function upgrade() {
 
-      # todo: use wp-cli to download tarfile.
-      # todo: if tarfile is not specified, see if the code already exists and use that instead.
-      if (!$this->getOption('tarfile', FALSE) and !$this->getOption('zipfile', FALSE)) {
+      // TODO: Use wp-cli to download tarfile.
+      // TODO: If tarfile is not specified, see if the code already exists and use that instead.
+      if (!$this->getOption('tarfile', FALSE) && !$this->getOption('zipfile', FALSE)) {
         return WP_CLI::error('Must specify either --tarfile or --zipfile');
       }
 
-      # fixme: throw error if tarfile is not in a valid format.
+      // FIXME: Throw error if tarfile is not in a valid format.
       if (!defined('CIVICRM_UPGRADE_ACTIVE')) {
         define('CIVICRM_UPGRADE_ACTIVE', 1);
       }
@@ -870,18 +930,20 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       $upload_dir      = wp_upload_dir();
       $settings_file     = $upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'civicrm' . DIRECTORY_SEPARATOR . 'civicrm.settings.php';
       if (!file_exists($legacy_settings_file) && !file_exists($settings_file)) {
-        return WP_CLI::error('Unable to locate settings file at ' . $legacy_settings_file . 'or at ' . $settings_file);
+        return WP_CLI::error(sprintf('Unable to locate settings file at "%s" or at "%s"', $legacy_settings_file, $settings_file));
       }
 
-      # nb: we don't want to require civicrm.settings.php here, because ..
-      #
-      # a) this is the old environment we're going to replace
-      # b) upgrade-db needs to bootstrap the new environment, so requiring the file
-      #    now will create multiple inclusion problems later on
-      #
-      # however, all we're really after is $civicrm_root and CIVICRM_DSN, so we're going to
-      # pull out the lines we need using a regex and run them - yes, it's pretty silly ..
-      # don't try this at home, kids.
+      /*
+       * We don't want to require "civicrm.settings.php" here, because:
+       *
+       * a) This is the old environment we're going to replace.
+       * b) upgrade-db needs to bootstrap the new environment, so requiring the file
+       *    now will create multiple inclusion problems later on.
+       *
+       * However, all we're really after is $civicrm_root and CIVICRM_DSN, so we're going to
+       * pull out the lines we need using a regex and run them - yes, it's pretty silly.
+       * Don't try this at home, kids.
+       */
 
       $legacy_settings = file_get_contents($legacy_settings_file);
       $legacy_settings = str_replace("\r", '', $legacy_settings);
@@ -915,7 +977,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       }
 
       if (!defined('CIVICRM_OLD_DSN')) {
-        return WP_CLI::error('Unable to set CIVICRM_OLD_DSN');
+        return WP_CLI::error('Unable to set CIVICRM_OLD_DSN.');
       }
 
       $date        = date('YmdHis');
@@ -935,29 +997,26 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       $backup_dir = $this->getOption('backup-dir', $wp_root . '../backup');
       $backup_dir = rtrim($backup_dir, '/');
 
-      WP_CLI::line("\nThe upgrade process involves - ");
+      WP_CLI::line();
+      WP_CLI::line('The upgrade process involves:');
       WP_CLI::line(sprintf('1. Backing up current CiviCRM code as => %s', "$backup_dir/plugins/$date/$backup_file"));
       WP_CLI::line(sprintf('2. Backing up database as => %s', "$backup_dir/plugins/$date/$backup_file.sql"));
       WP_CLI::line(sprintf('3. Unpacking tarfile to => %s', $plugin_path));
-      WP_CLI::line("4. Executing civicrm/upgrade?reset=1 just as a browser would.\n");
+      WP_CLI::line('4. Executing "civicrm/upgrade?reset=1" just as a browser would.');
+      WP_CLI::line();
 
       WP_CLI::confirm('Do you really want to continue?');
 
-      # begin upgrade
-
+      // Begin upgrade.
       $backup_dir .= '/plugins/' . $date;
       if (!mkdir($backup_dir, 0755, TRUE)) {
-        return WP_CLI::error('Failed creating directory: ' . $backup_dir);
+        return WP_CLI::error(sprintf('Failed to create directory: %s', $backup_dir));
       }
 
       $backup_target = $backup_dir . '/' . $backup_file;
 
       if (!rename($project_path, $backup_target)) {
-        return WP_CLI::error(sprintf(
-          'Failed to backup CiviCRM project directory %s to %s',
-          $project_path,
-          $backup_target
-        ));
+        return WP_CLI::error(sprintf('Failed to backup CiviCRM project directory %s to %s', $project_path, $backup_target));
       }
 
       WP_CLI::line();
@@ -970,10 +1029,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
 
       WP_CLI::success('2. Database backed up.');
 
-      # decompress
+      // Decompress.
       if ($this->getOption('tarfile', FALSE)) {
-        # should probably never get to here, as looks like Wordpress Civi comes
-        # in a zip file
+        // Should probably never get to here, because WordPress CiviCRM comes in a zip file.
         if (!$this->untar($plugin_path)) {
           return WP_CLI::error('Error extracting tarfile');
         }
@@ -993,10 +1051,10 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       define('CIVICRM_SETTINGS_PATH', $project_path . 'civicrm.settings.php');
 
       if (!copy($backup_dir . '/civicrm/civicrm.settings.php', CIVICRM_SETTINGS_PATH)) {
-        return WP_CLI::error('Failed to copy file');
+        return WP_CLI::error('Failed to copy file.');
       }
 
-      WP_CLI::success('4. ');
+      WP_CLI::success('4. Settings file copied.');
 
       WP_CLI::run_command(['civicrm', 'upgrade-db'], []);
 
@@ -1005,7 +1063,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'upgrade-db'
+     * Implementation of command 'upgrade-db'.
+     *
+     * @since 4.5
      */
     private function upgradeDB() {
 
@@ -1016,11 +1076,12 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       }
 
       if (class_exists('CRM_Upgrade_Headless')) {
-        # Note: CRM_Upgrade_Headless introduced in 4.2 -- at the same time as class auto-loading
+
+        // CRM_Upgrade_Headless introduced in 4.2 - at the same time as class auto-loading.
         try {
           $upgrade_headless = new CRM_Upgrade_Headless();
           $result = $upgrade_headless->run();
-          WP_CLI::line('Upgrade outputs: ' . '"' . $result['message'] . '"');
+          WP_CLI::line(sprintf('Upgrade outputs: "%s"', $result['message']));
         }
         catch (Exception $e) {
           WP_CLI::error($e->getMessage());
@@ -1035,18 +1096,18 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         require_once 'CRM/Upgrade/Page/Upgrade.php';
         $upgrade = new CRM_Upgrade_Page_Upgrade();
 
-        // new since CiviCRM 4.1
+        // New since CiviCRM 4.1.
         if (is_callable([$upgrade, 'setPrint'])) {
           $upgrade->setPrint(TRUE);
         }
 
-        # to suppress html output /w source code.
+        // To suppress HTML output with source code.
         ob_start();
         $upgrade->run();
-        # capture the required message.
+        // Capture the required message.
         $result = $template->get_template_vars('message');
         ob_end_clean();
-        WP_CLI::line('Upgrade outputs: ' . "\"$result\"");
+        WP_CLI::line(sprintf('Upgrade outputs: "%s"', $result));
 
       }
 
@@ -1054,9 +1115,12 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
 
     /**
      * DSN parser - this has been stolen from PEAR DB since we don't always have a
-     * bootstrapped environment we can access this from, eg: when doing an upgrade
-     * @param  $dsn (string)
-     * @return array containing db connection details
+     * bootstrapped environment we can access this from, eg: when doing an upgrade.
+     *
+     * @since 4.5
+     *
+     * @param string|array $dsn
+     * @return array $parsed The arry containing db connection details.
      */
     private static function parseDSN($dsn) {
 
@@ -1080,7 +1144,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         return $dsn;
       }
 
-      // Find phptype and dbsyntax
+      // Find phptype and dbsyntax.
       if (($pos = strpos($dsn, '://')) !== FALSE) {
         $str = substr($dsn, 0, $pos);
         $dsn = substr($dsn, $pos + 3);
@@ -1090,7 +1154,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         $dsn = NULL;
       }
 
-      // Get phptype and dbsyntax
+      // Get phptype and dbsyntax.
       // $str => phptype(dbsyntax)
       if (preg_match('|^(.+?)\((.*?)\)$|', $str, $arr)) {
         $parsed['phptype']  = $arr[1];
@@ -1105,7 +1169,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         return $parsed;
       }
 
-      // Get (if found): username and password
+      // Get (if found): username and password.
       // $dsn => username:password@protocol+hostspec/database
       if (($at = strrpos($dsn, '@')) !== FALSE) {
         $str = substr($dsn, 0, $at);
@@ -1119,7 +1183,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         }
       }
 
-      // Find protocol and hostspec
+      // Find protocol and hostspec.
 
       if (preg_match('|^([^(]+)\((.*?)\)/?(.*?)$|', $dsn, $match)) {
         // $dsn => proto(proto_opts)/database
@@ -1142,7 +1206,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         }
       }
 
-      // process the different protocol options
+      // Process the different protocol options.
       $parsed['protocol'] = (!empty($proto)) ? $proto : 'tcp';
       $proto_opts = rawurldecode($proto_opts);
       if (strpos($proto_opts, ':') !== FALSE) {
@@ -1155,7 +1219,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         $parsed['socket'] = $proto_opts;
       }
 
-      // Get dabase if any
+      // Get dabase if any.
       // $dsn => database
       if ($dsn) {
         if (($pos = strpos($dsn, '?')) === FALSE) {
@@ -1176,7 +1240,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
           foreach ($opts as $opt) {
             list($key, $value) = explode('=', $opt);
             if (!isset($parsed[$key])) {
-              // don't allow params overwrite
+              // Don't allow params overwrite.
               $parsed[$key] = rawurldecode($value);
             }
           }
@@ -1184,10 +1248,13 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       }
 
       return $parsed;
+
     }
 
     /**
-     * Helper function to replicate functionality of drush_get_option
+     * Helper function to replicate functionality of 'drush_get_option'.
+     *
+     * @since 4.5
      *
      * @param string $name
      * @param string $default
@@ -1198,17 +1265,23 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Get the user the web server runs as, used to preserve file permissions on templates_c, civicrm/upload
-     * etc when running as root. This is not a very good check, but is good enough for what we want to do,
-     * which is preserve file permissions
-     * @return string - the user which owns templates_c / empty string if not found
+     * Get the user the web server runs as - used to preserve file permissions on
+     * templates_c, civicrm/upload etc when running as root. This is not a very
+     * good check, but is good enough for what we want to do, which is to preserve
+     * file permissions.
+     *
+     * @since 4.5
+     *
+     * @return string The user which owns templates_c. Empty string if not found.
      */
     private function getWebServerUser() {
+
       $plugins_dir = plugin_dir_path(__FILE__);
       $plugins_dir_root = WP_PLUGIN_DIR;
       $upload_dir      = wp_upload_dir();
       $tpl_path     = $upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'civicrm' . DIRECTORY_SEPARATOR . 'templates_c';
       $legacy_tpl_path = $plugins_dir_root . '/files/civicrm/templates_c';
+
       if (is_dir($legacy_tpl_path)) {
         $owner = posix_getpwuid(fileowner($legacy_tpl_path));
         if (isset($owner['name'])) {
@@ -1221,19 +1294,26 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
           return $owner['name'];
         }
       }
+
       return '';
 
     }
 
     /**
-     * Get the group the webserver runs as - as above, but for group
+     * Get the group the webserver runs as - as above, but for group.
+     *
+     * @since 4.5
+     *
+     * @return string The group the webserver runs as. Empty string if not found.
      */
     private function getWebServerGroup() {
+
       $plugins_dir = plugin_dir_path(__FILE__);
       $plugins_dir_root = WP_PLUGIN_DIR;
       $upload_dir      = wp_upload_dir();
       $tpl_path     = $upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'civicrm' . DIRECTORY_SEPARATOR . 'templates_c';
       $legacy_tpl_path = $plugins_dir_root . '/files/civicrm/templates_c';
+
       if (is_dir($legacy_tpl_path)) {
         $group = posix_getgrgid(filegroup($legacy_tpl_path));
         if (isset($group['name'])) {
@@ -1246,19 +1326,24 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
           return $group['name'];
         }
       }
+
       return '';
 
     }
 
     /**
-     * Extract a tar.gz archive
-     * @param  $destination_path - the path to extract to
-     * @param  $option          - command line option to get input filename from, defaults to 'tarfile'
-     * @return bool
+     * Extracts a tar.gz archive.
+     *
+     * @since 4.5
+     *
+     * @param string $destination_path The path to extract to.
+     * @param string $option The command line option to get input filename from, defaults to 'tarfile'.
+     * @return bool True if successful, false otherwise.
      */
     private function untar($destination_path, $option = 'tarfile') {
 
       if ($tarfile = $this->getOption($option, FALSE)) {
+        WP_CLI::line('Extracting tar.gz archive...');
         WP_CLI::launch("gzip -d $tarfile");
         $tarfile = substr($tarfile, 0, strlen($tarfile) - 3);
         WP_CLI::launch("tar -xf $tarfile -C \"$destination_path\"");
@@ -1271,15 +1356,18 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Extract a zip archive
-     * @param  $destination_path - the path to extract to
-     * @param  $option          - command line option to get zip filename from, defaults to 'zipfile'
-     * @return bool
+     * Extracts a zip archive.
+     *
+     * @since 4.5
+     *
+     * @param string $destination_path The path to extract to.
+     * @param string $option The command line option to get zip filename from, defaults to 'zipfile'.
+     * @return bool True if successful, false otherwise.
      */
     private function unzip($destination_path, $option = 'zipfile') {
 
       if ($zipfile = $this->getOption($option, FALSE)) {
-        WP_CLI::line('Extracting zip archive ...');
+        WP_CLI::line('Extracting zip archive...');
         WP_CLI::launch("unzip -q $zipfile -d $destination_path");
         return TRUE;
       }
@@ -1294,17 +1382,18 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
   WP_CLI::add_command('civicrm', 'CiviCRM_Command');
   WP_CLI::add_command('cv', 'CiviCRM_Command');
 
-  # Set path early.
+  // Set path early.
   WP_CLI::add_hook('before_wp_load', function() {
 
-    # If --path is set, save for later use by CiviCRM.
     global $civicrm_paths;
     $wp_cli_config = WP_CLI::get_config();
+
+    // If --path is set, save for later use by CiviCRM.
     if (!empty($wp_cli_config['path'])) {
       $civicrm_paths['cms.root']['path'] = $wp_cli_config['path'];
     }
 
-    # If --url is set, save for later use by CiviCRM.
+    // If --url is set, save for later use by CiviCRM.
     if (!empty($wp_cli_config['url'])) {
       $civicrm_paths['cms.root']['url'] = $wp_cli_config['url'];
     }
diff --git a/wp-rest/Autoloader.php b/wp-rest/Autoloader.php
index 0c52e4620e91d617982016a3ae7bed79d795fd86..a98c1f4562a65aba90e9598e20fd2e8af4f9647a 100644
--- a/wp-rest/Autoloader.php
+++ b/wp-rest/Autoloader.php
@@ -2,7 +2,7 @@
 /**
  * Autoloader class.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST;
@@ -12,28 +12,28 @@ class Autoloader {
   /**
    * @var string
    * Instance.
-   * @since 0.1
+   * @since 5.25
    */
   private static $instance = NULL;
 
   /**
    * @var string
    * Namespace.
-   * @since 0.1
+   * @since 5.25
    */
   private $namespace = 'CiviCRM_WP_REST';
 
   /**
    * @var array
    * Autoloader directory sources.
-   * @since 0.1
+   * @since 5.25
    */
   private static $source_directories = [];
 
   /**
    * Constructor.
    *
-   * @since 0.1
+   * @since 5.25
    */
   private function __construct() {
 
@@ -44,7 +44,7 @@ class Autoloader {
   /**
    * Creates an instance of this class.
    *
-   * @since 0.1
+   * @since 5.25
    */
   private static function instance() {
 
@@ -57,12 +57,13 @@ class Autoloader {
   /**
    * Adds a directory source.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param string $source_path The source path
    */
   public static function add_source(string $source_path) {
 
-    // make sure we have an instance
+    // Make sure we have an instance.
     self::instance();
 
     if (!is_readable(trailingslashit($source_path))) {
@@ -76,8 +77,9 @@ class Autoloader {
   /**
    * Registers the autoloader.
    *
-   * @since 0.1
-   * @return bool Wehather the autoloader has been registered or not
+   * @since 5.25
+   *
+   * @return bool Wehather the autoloader has been registered or not.
    */
   private function register_autoloader() {
 
@@ -88,8 +90,9 @@ class Autoloader {
   /**
    * Loads the classes.
    *
-   * @since 0.1
-   * @param string $class_name The class name to load
+   * @since 5.25
+   *
+   * @param string $class_name The class name to load.
    */
   private function autoload($class_name) {
 
@@ -99,7 +102,7 @@ class Autoloader {
       return;
     }
 
-    // remove namespace and join class path
+    // Remove namespace and join class path.
     $class_path = str_replace('_', '-', implode(DIRECTORY_SEPARATOR, array_slice($parts, 1)));
 
     array_map(function($source_path) use ($class_path) {
diff --git a/wp-rest/Civi/Mailing-Hooks.php b/wp-rest/Civi/Mailing-Hooks.php
index 0501ca16a8b00659df757c83a8a71bb5a472dce6..f4d17563f3f207968dc79b6bd139a1acf169d0c0 100644
--- a/wp-rest/Civi/Mailing-Hooks.php
+++ b/wp-rest/Civi/Mailing-Hooks.php
@@ -2,7 +2,7 @@
 /**
  * CiviCRM Mailing_Hooks class.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Civi;
@@ -12,28 +12,28 @@ class Mailing_Hooks {
   /**
    * @var string
    * Mailing Url endpoint.
-   * @since 0.1
+   * @since 5.25
    */
   public $url_endpoint;
 
   /**
    * @var string
    * Mailing Open endpoint.
-   * @since 0.1
+   * @since 5.25
    */
   public $open_endpoint;
 
   /**
    * @var array
    * The parsed WordPress REST url.
-   * @since 1.0
+   * @since 5.25
    */
   public $parsed_rest_url;
 
   /**
    * Constructor.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function __construct() {
 
@@ -48,7 +48,7 @@ class Mailing_Hooks {
   /**
    * Register hooks.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_hooks() {
 
@@ -59,11 +59,10 @@ class Mailing_Hooks {
   }
 
   /**
-   * Replaces the open, and click
-   * tracking URLs for a mailing (CiviMail)
-   * with thier REST counterparts.
+   * Replaces the "open" and "click tracking" URLs for a CiviMail Mailing with
+   * their REST counterparts.
    *
-   * @uses 'civicrm_alterExternUrl' filter
+   * @uses 'civicrm_alterExternUrl' filter.
    *
    * @param \GuzzleHttp\Psr7\Uri $url
    * @param string|NULL $path
@@ -91,15 +90,17 @@ class Mailing_Hooks {
   }
 
   /**
-   * Filters the mailing html and replaces calls to 'extern/url.php' and
-   * 'extern/open.php' with their REST counterparts 'civicrm/v3/url' and 'civicrm/v3/open'.
+   * Filters the mailing HTML and replaces calls to 'extern/url.php' and
+   * 'extern/open.php' with their REST counterparts 'civicrm/v3/url' and
+   * 'civicrm/v3/open'.
    *
    * @uses 'civicrm_alterMailParams'
    *
-   * @since 0.1
-   * @param array &$params Mail params
-   * @param string $context The Context
-   * @return array $params The filtered Mail params
+   * @since 5.25
+   *
+   * @param array &$params Mail params.
+   * @param string $context The Context.
+   * @return array $params The filtered Mail params.
    */
   public function do_mailing_urls(&$params, $context) {
 
@@ -124,11 +125,12 @@ class Mailing_Hooks {
   }
 
   /**
-   * Replace html mailing tracking urls.
+   * Replace HTML mailing tracking urls.
+   *
+   * @since 5.25
    *
-   * @since 0.1
-   * @param string $content The mailing content
-   * @return string $content The mailing content
+   * @param string $content The mailing content.
+   * @return string $content The mailing content.
    */
   public function replace_html_mailing_tracking_urls(string $content) {
 
@@ -139,7 +141,7 @@ class Mailing_Hooks {
       $href = pq($element)->attr('href');
       $src = pq($element)->attr('src');
 
-      // replace extern/url
+      // Replace extern/url.
       if (strpos($href, 'civicrm/extern/url.php')) {
 
         $query_string = strstr($href, '?');
@@ -147,7 +149,7 @@ class Mailing_Hooks {
 
       }
 
-      // replace extern/open
+      // Replace extern/open.
       if (strpos($src, 'civicrm/extern/open.php')) {
 
         $query_string = strstr($src, '?');
@@ -164,18 +166,19 @@ class Mailing_Hooks {
   }
 
   /**
-   * Replace text mailing tracking urls.
+   * Replace text mailing tracking URLs.
    *
-   * @since 0.1
-   * @param string $content The mailing content
-   * @return string $content The mailing content
+   * @since 5.25
+   *
+   * @param string $content The mailing content.
+   * @return string $content The mailing content.
    */
   public function replace_text_mailing_tracking_urls(string $content) {
 
-    // replace extern url
+    // Replace extern URL.
     $content = preg_replace('/http.*civicrm\/extern\/url\.php/i', $this->url_endpoint, $content);
 
-    // replace open url
+    // Replace open URL.
     $content = preg_replace('/http.*civicrm\/extern\/open\.php/i', $this->open_endpoint, $content);
 
     return $content;
@@ -183,12 +186,12 @@ class Mailing_Hooks {
   }
 
   /**
-   * Checks whether for a given mail
-   * content (text or html) the tracking URLs
-   * are alterable/need to be altered.
+   * Checks whether for a given mail content (text or HTML) the tracking URLs
+   * are alterable or need to be altered.
+   *
+   * @since 5.25
    *
-   * @since 0.1
-   * @param string $content The mail content (text or  html)
+   * @param string $content The mail content: text or HTML.
    * @return bool $is_alterable
    */
   public function is_mail_tracking_url_alterable($content) {
diff --git a/wp-rest/Controller/AuthorizeIPN.php b/wp-rest/Controller/AuthorizeIPN.php
index 7ce5f40d4955f37ef6185aaa72808a4adb629040..c28b3daf50fbb37ced70282b50e22bd23a6ee081 100644
--- a/wp-rest/Controller/AuthorizeIPN.php
+++ b/wp-rest/Controller/AuthorizeIPN.php
@@ -6,7 +6,7 @@
  *
  * @see https://docs.civicrm.org/sysadmin/en/latest/setup/payment-processors/authorize-net/#shell-script-testing-method
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -16,14 +16,14 @@ class AuthorizeIPN extends Base {
   /**
    * @var string
    * The base route.
-   * @since 0.1
+   * @since 5.25
    */
   protected $rest_base = 'authorizeIPN';
 
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes() {
 
@@ -40,7 +40,8 @@ class AuthorizeIPN extends Base {
   /**
    * Get items.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    */
   public function get_item($request) {
@@ -48,7 +49,8 @@ class AuthorizeIPN extends Base {
     /**
      * Filter request params.
      *
-     * @since 0.1
+     * @since 5.25
+     *
      * @param array $params
      * @param WP_REST_Request $request
      */
@@ -62,6 +64,8 @@ class AuthorizeIPN extends Base {
     /**
      * Filter AuthorizeIPN object.
      *
+     * @since 5.25
+     *
      * @param CRM_Core_Payment_AuthorizeNetIPN $authorize_IPN
      * @param array $params
      * @param WP_REST_Request $request
@@ -97,7 +101,8 @@ class AuthorizeIPN extends Base {
    *
    * Needed because the instance is being filtered through 'civi_wp_rest/controller/authorizeIPN/instance'.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param CRM_Core_Payment_AuthorizeNetIPN|CRM_Core_Payment_BaseIPN $object
    * @return bool
    */
@@ -110,7 +115,8 @@ class AuthorizeIPN extends Base {
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema() {}
@@ -118,7 +124,8 @@ class AuthorizeIPN extends Base {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args() {}
diff --git a/wp-rest/Controller/Base.php b/wp-rest/Controller/Base.php
index 14599ed95a5e038f498f3a8dabf371c7a2831a7d..ef5418326efede9371bb8e468b3f0c3f228c2e14 100644
--- a/wp-rest/Controller/Base.php
+++ b/wp-rest/Controller/Base.php
@@ -2,7 +2,7 @@
 /**
  * Base controller class.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -14,14 +14,15 @@ abstract class Base extends \WP_REST_Controller implements Endpoint_Interface {
   /**
    * @var string
    * Route namespace.
-   * @since 0.1
+   * @since 5.25
    */
   protected $namespace = 'civicrm/v3';
 
   /**
    * Gets the endpoint namespace.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return string $namespace
    */
   public function get_namespace() {
@@ -33,7 +34,8 @@ abstract class Base extends \WP_REST_Controller implements Endpoint_Interface {
   /**
    * Gets the rest base route.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return string $rest_base
    */
   public function get_rest_base() {
@@ -45,7 +47,8 @@ abstract class Base extends \WP_REST_Controller implements Endpoint_Interface {
   /**
    * Retrieves the endpoint ie. '/civicrm/v3/rest'.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return string $rest_base
    */
   public function get_endpoint() {
@@ -57,7 +60,8 @@ abstract class Base extends \WP_REST_Controller implements Endpoint_Interface {
   /**
    * Checks whether the requested route is equal to this endpoint.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    * @return bool $is_current_endpoint True if it's equal, false otherwise
    */
@@ -70,7 +74,8 @@ abstract class Base extends \WP_REST_Controller implements Endpoint_Interface {
   /**
    * Authorization status code.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return int $status
    */
   protected function authorization_status_code() {
@@ -88,7 +93,8 @@ abstract class Base extends \WP_REST_Controller implements Endpoint_Interface {
   /**
    * Wrapper for WP_Error.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param string|\CiviCRM_API3_Exception|\WP_Error $error
    * @param mixed $data Error data
    * @return WP_Error $error
diff --git a/wp-rest/Controller/Cxn.php b/wp-rest/Controller/Cxn.php
index 62a60206f5fec2831d61a4f08aac6afac0df4ffd..c899aeb7784231e6f73a341db13f17c4c9679189 100644
--- a/wp-rest/Controller/Cxn.php
+++ b/wp-rest/Controller/Cxn.php
@@ -4,7 +4,7 @@
  *
  * CiviConnect endpoint, replacement for CiviCRM's 'extern/cxn.php'.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -14,14 +14,14 @@ class Cxn extends Base {
   /**
    * @var string
    * The base route.
-   * @since 0.1
+   * @since 5.25
    */
   protected $rest_base = 'cxn';
 
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes() {
 
@@ -38,7 +38,8 @@ class Cxn extends Base {
   /**
    * Get items.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    */
   public function get_item($request) {
@@ -46,7 +47,8 @@ class Cxn extends Base {
     /**
      * Filter request params.
      *
-     * @since 0.1
+     * @since 5.25
+     *
      * @param array $params
      * @param WP_REST_Request $request
      */
@@ -58,6 +60,8 @@ class Cxn extends Base {
     /**
      * Filter connection server object.
      *
+     * @since 5.25
+     *
      * @param Civi\Cxn\Rpc\ApiServer $cxn
      * @param array $params
      * @param WP_REST_Request $request
@@ -83,9 +87,7 @@ class Cxn extends Base {
       return $this->civi_rest_error($e->getMessage());
     }
 
-    /**
-     * Bypass WP and send request from Cxn.
-     */
+    // Bypass WordPress and send request from Cxn.
     add_filter('rest_pre_serve_request', function($served, $response, $request, $server) use ($result) {
 
       // Civi\Cxn\Rpc\Message->send()
@@ -102,7 +104,8 @@ class Cxn extends Base {
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema() {}
@@ -110,7 +113,8 @@ class Cxn extends Base {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args() {}
diff --git a/wp-rest/Controller/Open.php b/wp-rest/Controller/Open.php
index b902352e8e57815a1370b588188bf2a7fcaddab2..d5cf0f09b1ed72ff9884bd46f707638942062df8 100644
--- a/wp-rest/Controller/Open.php
+++ b/wp-rest/Controller/Open.php
@@ -2,7 +2,7 @@
 /**
  * Open controller class.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -12,14 +12,14 @@ class Open extends Base {
   /**
    * @var string
    * The base route.
-   * @since 0.1
+   * @since 5.25
    */
   protected $rest_base = 'open';
 
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes() {
 
@@ -38,17 +38,18 @@ class Open extends Base {
   /**
    * Get item.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    */
   public function get_item($request) {
 
     $queue_id = $request->get_param('q');
 
-    // track open
+    // Track open.
     \CRM_Mailing_Event_BAO_Opened::open($queue_id);
 
-    // serve tracker file
+    // Serve tracker file.
     add_filter('rest_pre_serve_request', [$this, 'serve_tracker_file'], 10, 4);
 
   }
@@ -56,19 +57,20 @@ class Open extends Base {
   /**
    * Serves the tracker gif file.
    *
-   * @since 0.1
-   * @param bool $served Whether the request has been served
+   * @since 5.25
+   *
+   * @param bool $served Whether the request has been served.
    * @param WP_REST_Response $result
    * @param WP_REST_Request $request
    * @param WP_REST_Server $server
-   * @return bool $served Whether the request has been served
+   * @return bool $served Whether the request has been served.
    */
   public function serve_tracker_file($served, $result, $request, $server) {
 
-    // tracker file path
+    // Tracker file path.
     $file = CIVICRM_PLUGIN_DIR . 'civicrm/i/tracker.gif';
 
-    // set headers
+    // Set headers.
     $server->send_header('Content-type', 'image/gif');
     $server->send_header('Cache-Control', 'must-revalidate, post-check=0, pre-check=0');
     $server->send_header('Content-Description', 'File Transfer');
@@ -84,7 +86,8 @@ class Open extends Base {
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema() {
@@ -107,7 +110,8 @@ class Open extends Base {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args() {
diff --git a/wp-rest/Controller/PayPalIPN.php b/wp-rest/Controller/PayPalIPN.php
index 664a439cead281169ad5249622d46e2b6a0b1ed3..1c5d14086a2c49a5fa3eb9deca06725f2bad7d37 100644
--- a/wp-rest/Controller/PayPalIPN.php
+++ b/wp-rest/Controller/PayPalIPN.php
@@ -4,7 +4,7 @@
  *
  * PayPal IPN endpoint, replacement for CiviCRM's 'extern/ipn.php'.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -14,14 +14,14 @@ class PayPalIPN extends Base {
   /**
    * @var string
    * The base route.
-   * @since 0.1
+   * @since 5.25
    */
   protected $rest_base = 'ipn';
 
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes() {
 
@@ -38,7 +38,8 @@ class PayPalIPN extends Base {
   /**
    * Get items.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    */
   public function get_item($request) {
@@ -46,7 +47,8 @@ class PayPalIPN extends Base {
     /**
      * Filter request params.
      *
-     * @since 0.1
+     * @since 5.25
+     *
      * @param array $params
      * @param WP_REST_Request $request
      */
@@ -54,20 +56,20 @@ class PayPalIPN extends Base {
 
     if ($request->get_method() == 'GET') {
 
-      // paypal standard
+      // PayPal Standard.
       $paypal_IPN = new \CRM_Core_Payment_PayPalIPN($params);
 
-      // log notification
+      // Log notification.
       \Civi::log()->alert('payment_notification processor_name=PayPal_Standard', $params);
 
     }
 
     else {
 
-      // paypal pro
+      // PayPal Pro.
       $paypal_IPN = new \CRM_Core_Payment_PayPalProIPN($params);
 
-      // log notification
+      // Log notification.
       \Civi::log()->alert('payment_notification processor_name=PayPal', $params);
 
     }
@@ -75,6 +77,8 @@ class PayPalIPN extends Base {
     /**
      * Filter PayPalIPN object.
      *
+     * @since 5.25
+     *
      * @param CRM_Core_Payment_PayPalIPN|CRM_Core_Payment_PayPalProIPN $paypal_IPN
      * @param array $params
      * @param WP_REST_Request $request
@@ -110,7 +114,8 @@ class PayPalIPN extends Base {
    *
    * Needed because the instance is being filtered through 'civi_wp_rest/controller/ipn/instance'.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param CRM_Core_Payment_BaseIPN|CRM_Core_Payment_PayPalProIPN|CRM_Core_Payment_PayPalIPN $object
    * @return bool
    */
@@ -123,7 +128,8 @@ class PayPalIPN extends Base {
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema() {}
@@ -131,7 +137,8 @@ class PayPalIPN extends Base {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args() {}
diff --git a/wp-rest/Controller/PxIPN.php b/wp-rest/Controller/PxIPN.php
index 999bee8aba49a815b2cc2bdccea50350949a21b2..875aaaf20f342d2fdf918a9ade9c8bf61548c955 100644
--- a/wp-rest/Controller/PxIPN.php
+++ b/wp-rest/Controller/PxIPN.php
@@ -4,7 +4,7 @@
  *
  * PxPay IPN endpoint, replacement for CiviCRM's 'extern/pxIPN.php'.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -14,14 +14,14 @@ class PxIPN extends Base {
   /**
    * @var string
    * The base route.
-   * @since 0.1
+   * @since 5.25
    */
   protected $rest_base = 'pxIPN';
 
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes() {
 
@@ -38,7 +38,8 @@ class PxIPN extends Base {
   /**
    * Get items.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    */
   public function get_item($request) {
@@ -46,7 +47,8 @@ class PxIPN extends Base {
     /**
      * Filter payment processor params.
      *
-     * @since 0.1
+     * @since 5.25
+     *
      * @param array $params
      * @param WP_REST_Request $request
      */
@@ -56,7 +58,7 @@ class PxIPN extends Base {
       $request
     );
 
-    // log notification
+    // Log notification.
     \Civi::log()->alert('payment_notification processor_name=Payment_Express', $params);
 
     try {
@@ -82,18 +84,19 @@ class PxIPN extends Base {
   /**
    * Get payment processor necessary params.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Resquest $request
    * @return array $args
    */
   public function get_payment_processor_args($request) {
 
-    // get payment processor types
+    // Get payment processor types.
     $payment_processor_types = civicrm_api3('PaymentProcessor', 'getoptions', [
       'field' => 'payment_processor_type_id',
     ]);
 
-    // payment processor params
+    // Payment processor params.
     $params = apply_filters('civi_wp_rest/controller/pxIPN/payment_processor_params', [
       'user_name' => $request->get_param('userid'),
       'payment_processor_type_id' => array_search(
@@ -104,7 +107,7 @@ class PxIPN extends Base {
       'is_test' => 0,
     ]);
 
-    // get payment processor
+    // Get payment processor.
     $payment_processor = civicrm_api3('PaymentProcessor', 'get', $params);
 
     $args = $payment_processor['values'][$payment_processor['id']];
@@ -125,7 +128,8 @@ class PxIPN extends Base {
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema() {}
@@ -133,7 +137,8 @@ class PxIPN extends Base {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args() {}
diff --git a/wp-rest/Controller/Rest.php b/wp-rest/Controller/Rest.php
index 8d9222c0a7e80898cb8639208f16b877e9600d24..b819638d883920eddf3c6ce67ddb65dc99e0ccbc 100644
--- a/wp-rest/Controller/Rest.php
+++ b/wp-rest/Controller/Rest.php
@@ -2,7 +2,7 @@
 /**
  * Rest controller class.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -12,14 +12,14 @@ class Rest extends Base {
   /**
    * @var string
    * The base route.
-   * @since 0.1
+   * @since 5.25
    */
   protected $rest_base = 'rest';
 
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes() {
 
@@ -38,26 +38,25 @@ class Rest extends Base {
   /**
    * Check get permission.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    * @return bool
    */
   public function permissions_check($request) {
 
     /**
-     * Opportunity to bypass CiviCRM's
-     * authentication ('api_key' and 'site_key'),
-     * return 'true' or 'false' to grant
-     * or deny access to this endpoint.
+     * Opportunity to bypass CiviCRM's authentication ('api_key' and 'site_key').
+     *
+     * Return 'true' or 'false' to grant or deny access to this endpoint.
+     *
+     * To deny and throw an error, return either a string, an array, or a \WP_Error.
      *
-     * To deny and throw an error, return either
-     * a string, an array, or a \WP_Error.
+     * NOTE: if you use your own authentication, you still must log in the user
+     * in order to respect/apply CiviCRM ACLs.
      *
-     * NOTE: if you use your won authentication,
-     * you still must log in the user in order
-     * to respect/apply CiviCRM ACLs.
+     * @since 5.25
      *
-     * @since 0.1
      * @param null|bool|string|array|\WP_Error $grant_auth Grant, deny, or error
      * @param \WP_REST_Request $request The request
      */
@@ -106,15 +105,17 @@ class Rest extends Base {
   /**
    * Get items.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    */
   public function get_items($request) {
 
     /**
-     * Filter formatted api params.
+     * Filter formatted API params.
+     *
+     * @since 5.25
      *
-     * @since 0.1
      * @param array $params
      * @param WP_REST_Request $request
      */
@@ -132,15 +133,16 @@ class Rest extends Base {
     }
 
     /**
-     * Filter civi api result.
+     * Filter CiviCRM API result.
+     *
+     * @since 5.25
      *
-     * @since 0.1
      * @param array $items
      * @param WP_REST_Request $request
      */
     $data = apply_filters('civi_wp_rest/controller/rest/api_result', $items, $params, $request);
 
-    // only collections of items, ie any action but 'getsingle'
+    // Only collections of items, ie any action but 'getsingle'.
     if (isset($data['values'])) {
 
       $data['values'] = array_reduce($items['values'] ?? $items, function($items, $item) use ($request) {
@@ -157,13 +159,14 @@ class Rest extends Base {
 
     $response = rest_ensure_response($data);
 
-    // check wheather we need to serve xml or json
+    // Check whether we need to serve xml or json.
     if (!in_array('json', array_keys($request->get_params()))) {
 
       /**
-       * Adds our response holding Civi data before dispatching.
+       * Adds our response holding CiviCRM data before dispatching.
+       *
+       * @since 5.25
        *
-       * @since 0.1
        * @param WP_HTTP_Response $result Result to send to client
        * @param WP_REST_Server $server The REST server
        * @param WP_REST_Request $request The request
@@ -190,9 +193,10 @@ class Rest extends Base {
   }
 
   /**
-   * Get formatted api params.
+   * Get formatted API params.
+   *
+   * @since 5.25
    *
-   * @since 0.1
    * @param WP_REST_Resquest $request
    * @return array $params
    */
@@ -218,7 +222,7 @@ class Rest extends Base {
 
     }
 
-    // ensure check permissions is enabled
+    // Ensure check permissions is enabled.
     $params['check_permissions'] = TRUE;
 
     return [$entity, $action, $params];
@@ -228,7 +232,8 @@ class Rest extends Base {
   /**
    * Matches the item data to the schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param object $item
    * @param WP_REST_Request $request
    */
@@ -241,7 +246,8 @@ class Rest extends Base {
   /**
    * Serves XML response.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param bool $served Whether the request has already been served
    * @param WP_REST_Response $result
    * @param WP_REST_Request $request
@@ -249,10 +255,10 @@ class Rest extends Base {
    */
   public function serve_xml_response($served, $result, $request, $server) {
 
-    // get xml from response
+    // Get XML from response.
     $xml = $this->get_xml_formatted_data($result->get_data());
 
-    // set content type header
+    // Set content type header.
     $server->send_header('Content-Type', 'text/xml');
 
     echo $xml;
@@ -264,38 +270,39 @@ class Rest extends Base {
   /**
    * Formats CiviCRM API result to XML.
    *
-   * @since 0.1
-   * @param array $data The CiviCRM api result
-   * @return string $xml The formatted xml
+   * @since 5.25
+   *
+   * @param array $data The CiviCRM API result.
+   * @return string $xml The formatted XML.
    */
   protected function get_xml_formatted_data(array $data) {
 
-    // xml document
+    // XML document.
     $xml = new \DOMDocument();
 
-    // result set element <ResultSet>
+    // Result set element <ResultSet>.
     $result_set = $xml->createElement('ResultSet');
 
-    // xmlns:xsi attribute
+    // The xmlns:xsi attribute.
     $result_set->setAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
 
-    // count attribute
+    // Count attributes.
     if (isset($data['count'])) {
       $result_set->setAttribute('count', $data['count']);
     }
 
-    // build result from result => values
+    // Build result from result => values.
     if (isset($data['values'])) {
 
       array_map(function($item) use ($result_set, $xml) {
 
-        // result element <Result>
+        // Result element <Result>.
         $result = $xml->createElement('Result');
 
-        // format item
+        // Format item.
         $result = $this->get_xml_formatted_item($item, $result, $xml);
 
-        // append result to result set
+        // Append result to result set.
         $result_set->appendChild($result);
 
       }, $data['values']);
@@ -303,18 +310,18 @@ class Rest extends Base {
     }
     else {
 
-      // result element <Result>
+      // Result element <Result>.
       $result = $xml->createElement('Result');
 
-      // format item
+      // Format item.
       $result = $this->get_xml_formatted_item($data, $result, $xml);
 
-      // append result to result set
+      // Append result to result set.
       $result_set->appendChild($result);
 
     }
 
-    // append result set
+    // Append result set.
     $xml->appendChild($result_set);
 
     return $xml->saveXML();
@@ -322,32 +329,36 @@ class Rest extends Base {
   }
 
   /**
-   * Formats a single api result to xml.
+   * Formats a single API result to XML.
    *
-   * @since 0.1
-   * @param array $item The single api result
-   * @param \DOMElement $parent The parent element to append to
-   * @param \DOMDocument $doc The document
-   * @return \DOMElement $parent The parent element
+   * @since 5.25
+   *
+   * @param array $item The single API result.
+   * @param \DOMElement $parent The parent element to append to.
+   * @param \DOMDocument $doc The document.
+   * @return \DOMElement $parent The parent element.
    */
   public function get_xml_formatted_item(array $item, \DOMElement $parent, \DOMDocument $doc) {
 
-    // build field => values
+    // Build field => values.
     array_map(function($field, $value) use ($parent, $doc) {
 
-      // entity field element
+      // Entity field element.
       $element = $doc->createElement($field);
 
-      // handle array values
+      // Handle array values.
       if (is_array($value)) {
 
         array_map(function($key, $val) use ($element, $doc) {
 
-          // child element, append underscore '_' otherwise createElement
-          // will throw an Invalid character exception as elements cannot start with a number
+          /*
+           * Child element - append underscore '_' otherwise createElement will
+           * throw an Invalid character exception as elements cannot start with
+           * a number.
+           */
           $child = $doc->createElement('_' . $key, $val);
 
-          // append child
+          // Append child.
           $element->appendChild($child);
 
         }, array_keys($value), $value);
@@ -355,12 +366,12 @@ class Rest extends Base {
       }
       else {
 
-        // assign value
+        // Assign value.
         $element->nodeValue = $value;
 
       }
 
-      // append element
+      // Append element.
       $parent->appendChild($element);
 
     }, array_keys($item), $item);
@@ -372,7 +383,8 @@ class Rest extends Base {
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema() {
@@ -404,7 +416,8 @@ class Rest extends Base {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args() {
@@ -452,7 +465,8 @@ class Rest extends Base {
   /**
    * Checks if string is a valid json.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param string $param
    * @return bool
    */
@@ -471,7 +485,8 @@ class Rest extends Base {
   /**
    * Validates the site key.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return bool $is_valid_site_key
    */
   public function is_valid_site_key() {
@@ -483,7 +498,8 @@ class Rest extends Base {
   /**
    * Validates the api key.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Resquest $request
    * @return bool $is_valid_api_key
    */
diff --git a/wp-rest/Controller/Soap.php b/wp-rest/Controller/Soap.php
index 27ed3f819361d04861fd85089fc45a770f79f790..5bbabcd14128854d060aa6e526b4e2f0b3dc692a 100644
--- a/wp-rest/Controller/Soap.php
+++ b/wp-rest/Controller/Soap.php
@@ -4,7 +4,7 @@
  *
  * Soap endpoint, replacement for CiviCRM's 'extern/soap.php'.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -14,14 +14,14 @@ class Soap extends Base {
   /**
    * @var string
    * The base route.
-   * @since 0.1
+   * @since 5.25
    */
   protected $rest_base = 'soap';
 
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes() {
 
@@ -38,7 +38,8 @@ class Soap extends Base {
   /**
    * Get items.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    */
   public function get_item($request) {
@@ -46,13 +47,14 @@ class Soap extends Base {
     /**
      * Filter request params.
      *
-     * @since 0.1
+     * @since 5.25
+     *
      * @param array $params
      * @param WP_REST_Request $request
      */
     $params = apply_filters('civi_wp_rest/controller/soap/params', $request->get_params(), $request);
 
-    // init soap server
+    // Init soap server.
     $soap_server = new \SoapServer(
       NULL,
       [
@@ -66,9 +68,7 @@ class Soap extends Base {
     $soap_server->setClass('CRM_Utils_SoapServer', \CRM_Core_Config::singleton()->userFrameworkClass);
     $soap_server->setPersistence(SOAP_PERSISTENCE_SESSION);
 
-    /**
-     * Bypass WP and send request from Soap server.
-     */
+    // Bypass WordPress and send request from Soap server.
     add_filter('rest_pre_serve_request', function($served, $response, $request, $server) use ($soap_server) {
 
       $soap_server->handle();
@@ -82,7 +82,8 @@ class Soap extends Base {
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema() {}
@@ -90,7 +91,8 @@ class Soap extends Base {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args() {}
diff --git a/wp-rest/Controller/Url.php b/wp-rest/Controller/Url.php
index 6d9302b56d8eb0c7b964d0ca37c65765cfa98e72..4d2c142585d251030f8a43c12c927dfe0332a762 100644
--- a/wp-rest/Controller/Url.php
+++ b/wp-rest/Controller/Url.php
@@ -2,7 +2,7 @@
 /**
  * Url controller class.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -12,14 +12,14 @@ class Url extends Base {
   /**
    * @var string
    * The base route.
-   * @since 0.1
+   * @since 5.25
    */
   protected $rest_base = 'url';
 
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes() {
 
@@ -38,25 +38,29 @@ class Url extends Base {
   /**
    * Get items.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    */
   public function get_item($request) {
 
     /**
-     * Filter formatted api params.
+     * Filter formatted API params.
+     *
+     * @since 5.25
      *
-     * @since 0.1
      * @param array $params
      * @param WP_REST_Request $request
      */
     $params = apply_filters('civi_wp_rest/controller/url/params', $this->get_formatted_params($request), $request);
 
-    // track url
+    // Track URL.
     $url = \CRM_Mailing_Event_BAO_TrackableURLOpen::track($params['queue_id'], $params['url_id']);
 
     /**
-     * Filter url.
+     * Filter URL.
+     *
+     * @since 5.25
      *
      * @param string $url
      * @param array $params
@@ -72,9 +76,10 @@ class Url extends Base {
   }
 
   /**
-   * Get formatted api params.
+   * Get formatted API params.
+   *
+   * @since 5.25
    *
-   * @since 0.1
    * @param WP_REST_Resquest $request
    * @return array $params
    */
@@ -101,28 +106,25 @@ class Url extends Base {
   }
 
   /**
-   * Parses the url.
+   * Parses the URL.
+   *
+   * @since 5.25
    *
-   * @since 0.1
    * @param string $url
    * @param array $params
    * @return string $url
    */
   protected function parse_url($url, $params) {
 
-    // CRM-18320 - Fix encoded ampersands
+    // CRM-18320 - Fix encoded ampersands.
     $url = str_replace('&amp;', '&', $url);
 
-    // CRM-7103 - Look for additional query variables and append them
+    // CRM-7103 - Look for additional query variables and append them.
     if (isset($params['query']) && strpos($url, '?')) {
-
       $url .= '&' . $params['query'];
-
     }
     elseif (isset($params['query'])) {
-
       $url .= '?' . $params['query'];
-
     }
 
     if (strpos($url, 'mailto')) {
@@ -136,7 +138,8 @@ class Url extends Base {
   /**
    * Do redirect.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param string $url
    */
   protected function do_redirect($url) {
@@ -150,7 +153,8 @@ class Url extends Base {
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema() {
@@ -179,7 +183,8 @@ class Url extends Base {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args() {
diff --git a/wp-rest/Controller/Widget.php b/wp-rest/Controller/Widget.php
index a880893fd989df0839937e8b51d28fd0fddfa91d..0af646cd34ad09ead721d67177f2699f702d3617 100644
--- a/wp-rest/Controller/Widget.php
+++ b/wp-rest/Controller/Widget.php
@@ -4,7 +4,7 @@
  *
  * Widget endpoint, replacement for CiviCRM's 'extern/widget.php'
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -14,14 +14,14 @@ class Widget extends Base {
   /**
    * @var string
    * The base route.
-   * @since 0.1
+   * @since 5.25
    */
   protected $rest_base = 'widget';
 
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes() {
 
@@ -40,7 +40,8 @@ class Widget extends Base {
   /**
    * Get item.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    */
   public function get_item($request) {
@@ -48,7 +49,8 @@ class Widget extends Base {
     /**
      * Filter mandatory params.
      *
-     * @since 0.1
+     * @since 5.25
+     *
      * @param array $params
      * @param WP_REST_Request $request
      */
@@ -71,7 +73,8 @@ class Widget extends Base {
     /**
      * Adds our response data before dispatching.
      *
-     * @since 0.1
+     * @since 5.25
+     *
      * @param WP_HTTP_Response $result Result to send to client
      * @param WP_REST_Server $server The REST server
      * @param WP_REST_Request $request The request
@@ -91,7 +94,8 @@ class Widget extends Base {
   /**
    * Get mandatory params from request.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Resquest $request
    * @return array $params The widget params
    */
@@ -110,7 +114,8 @@ class Widget extends Base {
   /**
    * Serve jsondata response.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param bool $served Whether the request has already been served
    * @param WP_REST_Response $result
    * @param WP_REST_Request $request
@@ -133,7 +138,8 @@ class Widget extends Base {
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema() {
@@ -167,7 +173,8 @@ class Widget extends Base {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args() {
diff --git a/wp-rest/Endpoint/Endpoint-Interface.php b/wp-rest/Endpoint/Endpoint-Interface.php
index 747fe7db103e91d16d9fa4e569060cc7984a8b7e..ffb261016b355ca5d9732bee0529b5943d1d23d2 100644
--- a/wp-rest/Endpoint/Endpoint-Interface.php
+++ b/wp-rest/Endpoint/Endpoint-Interface.php
@@ -2,7 +2,7 @@
 /**
  * Endpoint Interface class.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Endpoint;
@@ -12,14 +12,15 @@ interface Endpoint_Interface {
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes();
 
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema();
@@ -27,7 +28,8 @@ interface Endpoint_Interface {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args();
diff --git a/wp-rest/Plugin.php b/wp-rest/Plugin.php
index 4513b798db6ffdc044fe66b6e7611f588f3a8c83..db911af71a3695fe4a51f1a6e6071615489b9453 100644
--- a/wp-rest/Plugin.php
+++ b/wp-rest/Plugin.php
@@ -2,7 +2,7 @@
 /**
  * Main plugin class.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST;
@@ -14,7 +14,7 @@ class Plugin {
   /**
    * Constructor.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function __construct() {
 
@@ -27,7 +27,7 @@ class Plugin {
   /**
    * Register hooks.
    *
-   * @since 1.0
+   * @since 5.25
    */
   protected function register_hooks() {
 
@@ -42,10 +42,11 @@ class Plugin {
   /**
    * Bootstrap CiviCRM when hitting a the 'civicrm' namespace.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param mixed $result
-   * @param WP_REST_Server $server REST server instance
-   * @param WP_REST_Request $request The request
+   * @param WP_REST_Server $server REST server instance.
+   * @param WP_REST_Request $request The request.
    * @return mixed $result
    */
   public function bootstrap_civi($result, $server, $request) {
@@ -61,7 +62,7 @@ class Plugin {
 
         $logged_in_wp_user = $this->do_user_login($request);
 
-        // return error
+        // Return error.
         if (is_wp_error($logged_in_wp_user)) {
           return $logged_in_wp_user;
         }
@@ -76,25 +77,26 @@ class Plugin {
   /**
    * Setup objects.
    *
-   * @since 0.1
+   * @since 5.25
    */
   private function setup_objects() {
 
     /**
       * Filter to replace the mailing tracking URLs.
       *
-      * @since 0.1
+      * @since 5.25
+      *
       * @param bool $replace_mailing_tracking_urls
       */
     $replace_mailing_tracking_urls = apply_filters('civi_wp_rest/plugin/replace_mailing_tracking_urls', FALSE);
 
-    // keep CIVICRM_WP_REST_REPLACE_MAILING_TRACKING for backwards compatibility
+    // Keep CIVICRM_WP_REST_REPLACE_MAILING_TRACKING for backwards compatibility.
     if (
       $replace_mailing_tracking_urls
       || (defined('CIVICRM_WP_REST_REPLACE_MAILING_TRACKING')
       && CIVICRM_WP_REST_REPLACE_MAILING_TRACKING)
     ) {
-      // register mailing hooks
+      // Register mailing hooks.
       $mailing_hooks = (new Mailing_Hooks)->register_hooks();
 
     }
@@ -104,60 +106,60 @@ class Plugin {
   /**
    * Registers Rest API routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_rest_routes() {
 
-    // rest endpoint
+    // Rest endpoint.
     $rest_controller = new Controller\Rest();
     $rest_controller->register_routes();
 
-    // url controller
+    // URL controller.
     $url_controller = new Controller\Url();
     $url_controller->register_routes();
 
-    // open controller
+    // Open controller.
     $open_controller = new Controller\Open();
     $open_controller->register_routes();
 
-    // authorizenet controller
+    // AuthorizeNet controller.
     $authorizeIPN_controller = new Controller\AuthorizeIPN();
     $authorizeIPN_controller->register_routes();
 
-    // paypal controller
+    // PayPal controller.
     $paypalIPN_controller = new Controller\PayPalIPN();
     $paypalIPN_controller->register_routes();
 
-    // pxpay controller
+    // PxPay controller.
     $paypalIPN_controller = new Controller\PxIPN();
     $paypalIPN_controller->register_routes();
 
-    // civiconnect controller
+    // CiviConnect controller.
     $cxn_controller = new Controller\Cxn();
     $cxn_controller->register_routes();
 
-    // widget controller
+    // Widget controller.
     $widget_controller = new Controller\Widget();
     $widget_controller->register_routes();
 
-    // soap controller
+    // Soap controller.
     $soap_controller = new Controller\Soap();
     $soap_controller->register_routes();
 
     /**
      * Opportunity to add more rest routes.
      *
-     * @since 0.1
+     * @since 5.25
      */
     do_action('civi_wp_rest/plugin/rest_routes_registered');
 
   }
 
   /**
-   * Sets the timezone to the users timezone when
-   * calling the civicrm/v3/rest endpoint.
+   * Sets the timezone to the user's timezone when calling the civicrm/v3/rest endpoint.
+   *
+   * @since 5.25
    *
-   * @since 0.1
    * @param WP_REST_Request $request The request
    */
   private function maybe_set_user_timezone($request) {
@@ -171,7 +173,7 @@ class Plugin {
       'user_timezone' => get_option('timezone_string', FALSE),
     ];
 
-    // filter timezones
+    // Filter timezones.
     add_filter('civi_wp_rest/plugin/timezones', function() use ($timezones) {
 
       return $timezones;
@@ -182,7 +184,7 @@ class Plugin {
       return;
     }
 
-    /**
+    /*
      * CRM-12523
      * CRM-18062
      * CRM-19115
@@ -193,13 +195,14 @@ class Plugin {
   }
 
   /**
-   * Resets the timezone to the original WP
-   * timezone after calling the civicrm/v3/rest endpoint.
+   * Resets the timezone to the original WordPress timezone after calling the
+   * civicrm/v3/rest endpoint.
+   *
+   * @since 5.25
    *
-   * @since 0.1
    * @param mixed $result
-   * @param WP_REST_Server $server REST server instance
-   * @param WP_REST_Request $request The request
+   * @param WP_REST_Server $server REST server instance.
+   * @param WP_REST_Request $request The request.
    * @return mixed $result
    */
   public function maybe_reset_wp_timezone($result, $server, $request) {
@@ -214,7 +217,7 @@ class Plugin {
       return $result;
     }
 
-    // reset wp timezone
+    // Reset WordPress timezone.
     date_default_timezone_set($timezones['wp_timezone']);
 
     return $result;
@@ -222,20 +225,20 @@ class Plugin {
   }
 
   /**
-   * Performs the necessary checks and
-   * data retrieval to login a WordPress user.
+   * Performs the necessary checks and data retrieval to login a WordPress user.
    *
-   * @since 0.1
-   * @param \WP_REST_Request $request The request
-   * @return \WP_User|\WP_Error|void $logged_in_wp_user The logged in WordPress user object, \Wp_Error, or nothing
+   * @since 5.25
+   *
+   * @param \WP_REST_Request $request The request.
+   * @return \WP_User|\WP_Error|void $logged_in_wp_user The logged in WordPress user object, \Wp_Error, or nothing.
    */
   public function do_user_login($request) {
 
     /**
-     * Filter and opportunity to bypass
-     * the default user login.
+     * Filter and opportunity to bypass the default user login.
+     *
+     * @since 5.25
      *
-     * @since 0.1
      * @param bool $login
      */
     $logged_in = apply_filters('civi_wp_rest/plugin/do_user_login', FALSE, $request);
@@ -244,7 +247,7 @@ class Plugin {
       return;
     }
 
-    // default login based on contact's api_key
+    // Default login based on Contact's api_key.
     if (!(new Controller\Rest)->is_valid_api_key($request)) {
       return new \WP_Error(
         'civicrm_rest_api_error',
@@ -272,9 +275,10 @@ class Plugin {
   /**
    * Get WordPress user data.
    *
-   * @since 0.1
-   * @param int $contact_id The contact id
-   * @return WP_User|WP_Error $user The WordPress user data or WP_Error object
+   * @since 5.25
+   *
+   * @param int $contact_id The Contact ID.
+   * @return WP_User|WP_Error $user The WordPress user data or WP_Error object.
    */
   public function get_wp_user(int $contact_id) {
 
@@ -296,7 +300,7 @@ class Plugin {
 
     }
 
-    // filter uf_match
+    // Filter uf_match.
     add_filter('civi_wp_rest/plugin/uf_match', function() use ($uf_match) {
 
       return !empty($uf_match) ? $uf_match : NULL;
@@ -308,20 +312,21 @@ class Plugin {
   }
 
   /**
-   * Logs in the WordPress user, and
-   * syncs it with it's CiviCRM contact.
+   * Logs in the WordPress user, and syncs it with it's CiviCRM Contact.
+   *
+   * @since 5.25
    *
-   * @since 0.1
-   * @param \WP_User $wp_user The WordPress user object
-   * @param \WP_REST_Request|NULL $request The request object or NULL
-   * @return \WP_User|void $wp_user The logged in WordPress user object or nothing
+   * @param \WP_User $wp_user The WordPress user object.
+   * @param \WP_REST_Request|NULL $request The request object or NULL.
+   * @return \WP_User|void $wp_user The logged in WordPress user object or nothing.
    */
   public function login_wp_user(\WP_User $wp_user, $request = NULL) {
 
     /**
      * Filter the user about to be logged in.
      *
-     * @since 0.1
+     * @since 5.25
+     *
      * @param \WP_User $user The WordPress user object
      * @param \WP_REST_Request|NULL $request The request object or NULL
      */
@@ -340,12 +345,11 @@ class Plugin {
   }
 
   /**
-   * Sets the necessary user
-   * session variables for CiviCRM.
+   * Sets the necessary user session variables for CiviCRM.
+   *
+   * @since 5.25
    *
-   * @since 0.1
-   * @param \WP_User $wp_user The WordPress user
-   * @return void
+   * @param \WP_User $wp_user The WordPress user.
    */
   public function set_civi_user_session($wp_user): void {
 
@@ -370,8 +374,9 @@ class Plugin {
   /**
    * Retrieves the CiviCRM domain_id.
    *
-   * @since 0.1
-   * @return int $domain_id The domain id
+   * @since 5.25
+   *
+   * @return int $domain_id The Domain ID.
    */
   public function get_civi_domain_id(): int {
 
diff --git a/wp-rest/README.md b/wp-rest/README.md
index 95b030bc2cbaa904e804dfb6bb13f566f482e816..2ae8c00752a789d8e7421400944775dac5a55978 100644
--- a/wp-rest/README.md
+++ b/wp-rest/README.md
@@ -1,8 +1,8 @@
-# CiviCRM WP REST API Wrapper
+# REST API integration for CiviCRM
 
-This is a WordPress plugin that aims to expose CiviCRM's [extern](https://github.com/civicrm/civicrm-core/tree/master/extern) scripts as WordPress REST endpoints.
+This code exposes CiviCRM's [extern](https://github.com/civicrm/civicrm-core/tree/master/extern) scripts as WordPress REST endpoints.
 
-This plugin requires:
+### Requirements
 
 -   PHP 7.2+
 -   WordPress 4.7+